1class HotsiteWeb { 2 constructor() { 3 this.slice = 12; 4 this.home = false; 5 app.cordova_app = false; 6 document.addEventListener('deviceready', this.onDeviceReady, false); 7 } 8 9 onDeviceReady() { 10 return app.cordova_app = true; 11 } 12 13 getUrlAppAndroid() { 14 return app.url_app_android; 15 } 16 17 getIdCliente() { 18 return this.id_cliente; 19 } 20 21 getConnectionsAcs() { 22 const data = { 23 ACTION: 'getDevices', 24 }; 25 26 const criar_toast = this.criarToast; 27 try { 28 $.get(`${__SERVER__}/model/connections/connections.php`, data, (data) => { 29 try { 30 data = JSON.parse(data); 31 } catch (e) { 32 data = data; 33 } 34 35 if (data != '' && data != undefined) { 36 $(document).ready(() => { 37 app.loading = false; 38 router.history.current.matched[0].instances.default.connections = data; 39 40 validaActiveClass('#pg_connections'); 41 }); 42 43 return; 44 } 45 46 return app.loading = false; 47 }).fail((e) => { 48 router.history.current.matched[0].instances.default.connections = []; 49 $(document).ready(() => { 50 app.loading = false; 51 router.history.current.matched[0].instances.default.loading = false; 52 validaActiveClass('#pg_connections'); 53 }); 54 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'error_outline', 'red', 'id_erro'); 55 }); 56 } catch (e) { 57 return `Exception Class HotsiteWeb -> getDevices() -> ${e}`; 58 } 59 } 60 61 changedConfigWifi(configWifi) { 62 const data = { 63 CONFIG_WIFI: configWifi, 64 ACTION: 'changedConfigWifi', 65 }; 66 67 app.loading = true; 68 const criar_toast = this.criarToast; 69 try { 70 $.get(`${__SERVER__}/model/connections/connections.php`, data, (data) => { 71 try { 72 data = JSON.parse(data); 73 } catch (e) { 74 data = data; 75 } 76 app.loading = false; 77 $('#modalAlterarDevice').modal('hide'); 78 79 if (data != '' && data != undefined) { 80 if (data.type == 'success') { 81 criar_toast('2000', 'Sucesso!', 'Alteração no Wi-Fi está sendo processada. Isso pode levar alguns minutos para ser concluÃdo. Por favor, aguarde.!', 'done', 'green', 'id_sucesso'); 82 } else if (data.message) { 83 criar_toast('4000', 'Erro!', data.message, 'fas fa-times', 'red', 'id_erro'); 84 } else { 85 criar_toast('4000', 'Erro!', 'Erro ao tentar executar a operaçao!.', 'fas fa-times', 'red', 'id_erro'); 86 } 87 } 88 }).fail((e) => { 89 app.loading = false; 90 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'error_outline', 'red', 'id_erro'); 91 }); 92 } catch (e) { 93 return `Exception Class HotsiteWeb -> changedConfigWifi() -> ${e}`; 94 } 95 } 96 97 rebootDevice(id_device) { 98 const data = { 99 ID_DEVICE: id_device || 0, 100 ACTION: 'rebootDevice', 101 }; 102 103 app.loading = true; 104 const criar_toast = this.criarToast; 105 try { 106 $.get(`${__SERVER__}/model/connections/connections.php`, data, (data) => { 107 try { 108 data = JSON.parse(data); 109 } catch (e) { 110 data = data; 111 } 112 app.loading = false; 113 if (data != '' && data != undefined) { 114 if (data.type == 'success') {
115 criar_toast('2000', 'Sucesso!', 'Dispositivo reiniciado com sucesso.', 'done', 'green', 'id_sucesso'); 116 } else if (data.message) { 117 criar_toast('4000', 'Erro!', data.message, 'fas fa-times', 'red', 'id_erro'); 118 } else { 119 criar_toast('4000', 'Erro!', 'Erro ao tentar executar a operaçao!.', 'fas fa-times', 'red', 'id_erro'); 120 } 121 } 122 }).fail((e) => { 123 app.loading = false; 124 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'error_outline', 'red', 'id_erro'); 125 }); 126 } catch (e) { 127 return `Exception Class HotsiteWeb -> rebootDevice() -> ${e}`; 128 } 129 } 130 131 initModalConnections(device) { 132 app.data_wifi = { 133 selectedWifi: '', 134 ssid: '', 135 passwordWifi1: '', 136 passwordWifi2: '', 137 }; 138 app.device_config_modal = device; 139 $('.main-panel').css('opacity', '0.3'); 140 $('#modalAlterarDevice').on('hidden.bs.modal', () => { 141 $('.main-panel').css('opacity', '1'); 142 }); 143 144 $('.topbar , .sidebar, #botaoPagarCreditCard, .botoes_fechar').click((e) => { 145 $('#fecharAlterarConnections').click(); 146 }); 147 } 148 149 getDadosServidor() { 150 const data = { 151 ACTION: 'getDadosServidor', 152 }; 153 154 const criar_toast = this.criarToast; 155 156 try { 157 $.get(`${__SERVER__}/model/speed_test/speed_test.php`, data, (data) => { 158 try { 159 data = JSON.parse(data); 160 } catch (e) { 161 data = data; 162 } 163 164 if (data != '' && data != undefined) { 165 $(document).ready(() => { 166 const servidor = data.mensagem.SERVIDOR; 167 router.history.current.matched[0].instances.default.IP = data.mensagem.IP; 168 router.history.current.matched[0].instances.default.PingServer = servidor.servidor_ping; 169 router.history.current.matched[0].instances.default.SpeedTestServer = servidor.servidor_instalacao; 170 router.history.current.matched[0].instances.default.ServerName = servidor.servidor_instalacao; 171 app.showSpeedTest = !!servidor.servidor_instalacao; 172 router.history.current.matched[0].instances.default.SpeedTest = true; 173 router.history.current.matched[0].instances.default.loading = false; 174 router.history.current.matched[0].instances.default.iframe = true; 175 return app.loading = false; 176 }); 177 } 178 }).fail((e) => { 179 app.loading = false; 180 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 181 }); 182 } catch (e) { 183 throw e; 184 } 185 } 186 187 getDadosCarteira(idReceber, callbackSuccess) { 188 const data = { 189 ACTION: 'getDadosCarteira', 190 ID_RECEBER: idReceber, 191 }; 192 193 const criar_toast = this.criarToast; 194 195 try { 196 $.post(`${__SERVER__}/model/faturas/faturas.php`, data, callbackSuccess) 197 .fail((e) => { 198 app.loading = false; 199 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 200 }); 201 } catch (e) { 202 throw e; 203 } 204 } 205 206 /** 207 * Dados cliente 208 */ 209 buscarDadosCliente() { 210 const data = { 211 ACTION: 'getDadosCliente', 212 }; 213 214 const criar_toast = this.criarToast; 215 216 try { 217 $.get(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 218 try { 219 data = JSON.parse(data); 220 } catch (e) { 221 data = data; 222 } 223 224 if (data != '' && data != undefined) { 225 router.history.current.matched[0].instances.default.dados_cliente_padrao = data.dados_cliente; 226 router.history.current.matched[0].instances.default.dados_cliente = data.dados_cliente; 227 router.history.current.matched[0].instances.default.paises = data.paises; 228 router.history.current.matched[0].instances.default.estados = data.estados; 229 router.history.current.matched[0].instances.default.cidades = data.cidades; 230 router.history.current.matched[0].instances.default.mostrar_tela = 'A'; 231 router.history.current.matched[0].instances.default.cliente_nome = data.dados_cliente.fantasia; 232 233 router.history.current.matched[0].instances.default.habilitar_altera_senha = data.dados_cliente.habilitar_altera_senha; 234 $(document).ready(() => { 235 const hs_web = new HotsiteWeb(); 236 hs_web.buscarLogo(); 237 238 app.loading = false;
239 router.history.current.matched[0].instances.default.loading = false; 240 router.history.current.matched[0].instances.default.mostrar_privacidade = !app.mostra_builder; 241 242 setTimeout(() => { 243 const acessoAutomatico = document.getElementById('acesso_automatico'); 244 if (typeof acessoAutomatico !== 'undefined' && acessoAutomatico != null) { 245 if (data.dados_cliente.acesso_automatico_central === 'S') { 246 acessoAutomatico.checked = true; 247 } else { 248 acessoAutomatico.checked = false; 249 } 250 } 251 }); 252 253 hs_web.setarPermissaoDadosCliente(); 254 }); 255 return; 256 } 257 258 router.history.current.matched[0].instances.default.dados_cliente_padrao = []; 259 router.history.current.matched[0].instances.default.dados_cliente = []; 260 router.history.current.matched[0].instances.default.paises = []; 261 router.history.current.matched[0].instances.default.estados = []; 262 router.history.current.matched[0].instances.default.cidades = []; 263 }).fail((e) => { 264 app.loading = false; 265 router.history.current.matched[0].instances.default.loading = false; 266 router.history.current.matched[0].instances.default.dados_cliente_padrao = []; 267 router.history.current.matched[0].instances.default.dados_cliente = []; 268 router.history.current.matched[0].instances.default.paises = []; 269 router.history.current.matched[0].instances.default.estados = []; 270 router.history.current.matched[0].instances.default.cidades = []; 271 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 272 }); 273 } catch (e) { 274 return `Exception Class HotsiteWeb -> buscarDadosCliente() -> ${e}`; 275 } 276 } 277 278 updateFirebaseToken() { 279 if (window.ReactNativeWebView) { 280 this.getTokenAPP() 281 .then((token) => { 282 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, { ACTION: 'updateFirebaseToken', TOKEN: token }, () => {}) 283 .fail(() => {}); 284 }); 285 } 286 } 287 288 getCidades(estado) { 289 const data = { 290 ACTION: 'getCidades', 291 ESTADO: estado || 0, 292 }; 293 294 const hs_web = new HotsiteWeb(); 295 296 try { 297 $.get(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 298 try { 299 data = JSON.parse(data); 300 } catch (e) { 301 data = data; 302 } 303 304 if (data != '' && data != undefined) { 305 router.history.current.matched[0].instances.default.cidades = data; 306 307 $(document).ready(() => { 308 app.loading = false; 309 router.history.current.matched[0].instances.default.loading = false; 310 router.history.current.matched[0].instances.default.dados_cliente.cidade_nome = ''; 311 $("input[name='cidades']").focus(); 312 }); 313 return; 314 } 315 router.history.current.matched[0].instances.default.cidades = []; 316 }).fail((e) => { 317 app.loading = false; 318 router.history.current.matched[0].instances.default.cidades = []; 319 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 320 }); 321 } catch (e) { 322 return `Exception Class HotsiteWeb ->
322 buscarDadosCliente() -> ${e}`; 323 } 324 } 325 326 solicitarAtualizacaoCadastro(dados) { 327 const data = { 328 ACTION: 'setDadosClienteAlteracao', 329 DADOS_ALTERACAO: dados || '', 330 }; 331 332 const hs_web = new HotsiteWeb(); 333 334 try { 335 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 336 try { 337 data = JSON.parse(data); 338 } catch (e) { 339 data = data; 340 } 341 342 if (data != '' && data != undefined) { 343 if (data.tipo === 'sucesso') { 344 hs_web.criarToast('3000', 'Sucesso!', data.mensagem, 'fas fa-check', 'green', 'id_sucesso'); 345 router.history.current.matched[0].instances.default.atualizando_dados = false; 346 hs_web.buscarDadosCliente(); 347 } else { 348 hs_web.criarToast('5000', 'Erro!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 349 $(document).ready(() => { 350 app.loading = false; 351 }); 352 } 353 } 354 }).fail((e) => { 355 app.loading = false; 356 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 357 }); 358 } catch (e) { 359 return `Exception Class HotsiteWeb -> buscarDadosCliente() -> ${e}`; 360 } 361 } 362 363 alterarSenha(senha_atual, senha_nova, senha_nova_repetir) { 364 const data = { 365 SENHA_ATUAL: senha_atual || '', 366 SENHA_NOVA: senha_nova || '', 367 SENHA_NOVA_REPETIR: senha_nova_repetir || '', 368 ACTION: 'setAlterarSenha', 369 }; 370 371 const criar_toast = this.criarToast; 372 373 try { 374 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 375 try { 376 data = JSON.parse(data); 377 } catch (e) { 378 data = data; 379 } 380 if (data != '' && data != undefined) { 381 if (data[0].tipo == 'sucesso') { 382 router.history.current.matched[0].instances.default.dados_cliente.senha_atual = ''; 383 router.history.current.matched[0].instances.default.dados_cliente.senha_nova = ''; 384 router.history.current.matched[0].instances.default.dados_cliente.senha_nova_repetir = ''; 385 router.history.current.matched[0].instances.default.atualizando_dados_senha = false; 386 criar_toast('2000', 'Sucesso!', 'Senha alterada com sucesso.', 'fas fa-check', 'green', 'id_sucesso'); 387 } else { 388 router.history.current.matched[0].instances.default.atualizando_dados_senha = false; 389 criar_toast('4000', 'Erro!', `${data[0].mensagem}.`, 'fas fa-exclamation-circle', 'red', 'id_erro'); 390 } 391 } 392 }).fail((e) => { 393 router.history.current.matched[0].instances.default.atualizando_dados_senha = false; 394 router.history.current.matched[0].instances.default.dados_cliente.senha_atual = ''; 395 router.history.current.matched[0].instances.default.dados_cliente.senha_nova = ''; 396 router.history.current.matched[0].instances.default.dados_cliente.senha_nova_repetir = ''; 397 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 398 }); 399 } catch (e) { 400 return `Exception Class HotsiteWeb -> alterarSenha() -> ${e}`; 401 } 402 } 403 404 setSenhaAtualParaMD5(senha) { 405 const data = { 406 SENHA_ATUAL: senha || '', 407 ACTION: 'criptografarSenhaParaMD5', 408 }; 409 const toast = this.criarToast; 410 411 try { 412 $.get(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 413 data = JSON.parse(data); 414 415 if (data.criptografada === 'S' && senha !== '') { 416 const campoSenhaAtual = document.getElementById('senha_atual'); 417 campoSenhaAtual.value = data.message; 418 router.history.current.matched[0].instances.default.dados_cliente.senha_atual = data.message; 419 toast('5000', 'Sucesso!', 'Como a opção "Senha codificada" está ativada no cadastro do cliente, a senha digitada também foi criptografada!', 'fas fa-check', 'green', 'id_sucesso'); 420 } 421 }).fail((e) => { 422 toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 423 }); 424 } catch (e) { 425 return `Exception Class HotsiteWeb -> retornarSenhaMD5() -> ${e}`; 426 } 427 } 428 429 cadastrarNovoCliente(array_dados) { 430 const data = { 431 NOME: array_dados.nome, 432 TELEFONE: array_dados.telefone, 433 CPF_CNPJ: array_dados.cpf_cnpj, 434 EMAIL: array_dados.email, 435 ACTION: 'getValidaCadastro', 436 }; 437 438 const criar_toast = this.criarToast; 439 440 try { 441 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 442 data = JSON.parse(data); 443 444 if (data != '' && data != undefined) { 445 if (Array.isArray(data)) { 446 const countErros = data.length; 447 let i = 0; 448 while (i <= countErros) { 449 criar_toast('5000', 'Erro!', data[i].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 450 i++; 451 } 452 } else if (data.tipo == 'sucesso') { 453 criar_toast('3000', 'Sucesso!', data.mensagem, 'fas fa-check', 'green', 'id_sucesso'); 454 setTimeout("location.href = '/central_assinante_web/login';", 3000); 455 } else { 456 criar_toast('5000', 'Erro!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 457 } 458 } 459 }).fail((e) => { 460 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 461 }); 462 } catch (e) { 463 return `Exception Class HotsiteWeb -> enviarNovoAtendimento() -> ${e}`; 464 } 465 } 466 467 validarEmail(email) { 468 let valid = true; 469 const emails = email.replace(';', ',').split(','); 470 471 jQuery.each(emails, function () { 472 if (jQuery.trim(this) != '') { 473 if (!jQuery.trim(this).match(/^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/i)) valid = false;
474 } 475 }); 476 return valid; 477 } 478 479 habilitarDesabilitarAcessoAutomatico(acesso_automatico) { 480 const data = { 481 ACESSO_AUTOMATICO: acesso_automatico ? 'S' : 'N', 482 ACTION: 'setHabilitarDesabilitarAcessoAutomatico', 483 }; 484 485 const hs_web = new HotsiteWeb(); 486 487 try { 488 $.get(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 489 data = JSON.parse(data); 490 if (data != '' && data != undefined) { 491 $(document).ready(() => { 492 app.loading = false; 493 }); 494 495 if (data.tipo === 'sucesso') { 496 hs_web.criarToast('3000', 'Sucesso!', data.mensagem, 'fas fa-check', 'green', 'id_sucesso'); 497 } else if (acesso_automatico) { 498 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro ao tentar ativar Acesso Automático', 'fas fa-exclamation-circle', 'red', 'id_erro'); 499 } else { 500 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro ao tentar desativar Acesso Automático', 'fas fa-exclamation-circle', 'red', 'id_erro'); 501 } 502 } 503 }).fail((e) => { 504 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 505 }); 506 } catch (e) { 507 return `Exception Class HotsiteWeb -> enviarNovoAtendimento() -> ${e}`; 508 } 509 } 510 511 /** 512 * Faturas 513 */ 514 buscarFaturas(slice, home = false, pg_faturas, valida_loading) { 515 const data = { 516 SLICE: slice || this.slice, 517 HOME: home || this.home, 518 ACTION: 'getFaturas', 519 }; 520 const hs_web = new HotsiteWeb(); 521 522 const criar_toast_pendencia = this.criarToastPendencia; 523 const valida_resize_home = this.validaResizeHome; 524 const valida_resize_faturas = this.validaResizeFaturas; 525 const valida_loading_function = this.validaLoading; 526 try { 527 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 528 try { 529 data = JSON.parse(data); 530 } catch (e) { 531 data = data; 532 } 533 if (data != '' && data != undefined) { 534 router.history.current.matched[0].instances.default.faturas = data; 535 router.history.current.matched[0].instances.default.is_safari = IS_SAFARI; 536 537 if (data.total_registros <= SLICE_FATURA) { 538 router.history.current.matched[0].instances.default.mostrar_cinco_faturas = true; 539 } else { 540 router.history.current.matched[0].instances.default.mostrar_cinco_faturas = false; 541 } 542 543 if (pg_faturas) { 544 valida_resize_faturas(); 545 } else { 546 valida_resize_home(); 547 } 548 549 $(document).ready(() => { 550 if (valida_loading) { 551 LOADING_FATURA = false;
552 valida_loading_function(); 553 } else { 554 app.loading = false; 555 router.history.current.matched[0].instances.default.loading = false; 556 557 hs_web.setarPermissaoFaturas(); 558 559 validaActiveClass('#pg_fatura'); 560 } 561 }); 562 return; 563 } 564 565 router.history.current.matched[0].instances.default.faturas = []; 566 567 $(document).ready(() => { 568 if (valida_loading) { 569 LOADING_FATURA = false; 570 valida_loading_function(); 571 } else { 572 app.loading = false; 573 router.history.current.matched[0].instances.default.loading = false; 574 } 575 }); 576 }).fail((e) => { 577 $(document).ready(() => { 578 if (valida_loading) { 579 LOADING_FATURA = false;
580 valida_loading_function(); 581 } else { 582 app.loading = false; 583 router.history.current.matched[0].instances.default.loading = false; 584 } 585 }); 586 587 router.history.current.matched[0].instances.default.loading = false; 588 router.history.current.matched[0].instances.default.faturas = []; 589 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 590 }); 591 } catch (e) { 592 return `Exception Class HotsiteWeb -> buscarFaturas() -> ${e}`; 593 } 594 } 595 596 enviarFaturaSMS(tipo, id_receber) { 597 const data = { 598 ID_RECEBER: id_receber || 0, 599 TIPO: 'SMS', 600 ACTION: 'setBoletoSMS', 601 }; 602 603 app.loading = true; 604 605 const criar_toast = this.criarToast; 606 607 try { 608 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 609 try { 610 data = JSON.parse(data); 611 } catch (e) { 612 data = data; 613 } 614 app.loading = false; 615 if (data != '' && data != undefined) { 616 if (data[0].tipo == 'sucesso') { 617 criar_toast('2000', 'Sucesso!', 'A fatura foi enviada por SMS para seu celular.', 'fas fa-check', 'green', 'id_sucesso'); 618 } else { 619 criar_toast('2000', 'Erro!', 'Ocorreu um erro ao enviar a fatura.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 620 } 621 } 622 }).fail((e) => { 623 app.loading = false; 624 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 625 }); 626 } catch (e) { 627 return `Exception Class HotsiteWeb -> enviarFaturaSMS() -> ${e}`; 628 } 629 } 630 631 enviarFaturaEMAIL(id_receber) { 632 const data = { 633 ID_RECEBER: id_receber || 0, 634 ACTION: 'setBoletoEMAIL', 635 }; 636 637 app.loading = true; 638 const criar_toast = this.criarToast; 639 try { 640 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 641 try { 642 data = JSON.parse(data); 643 } catch (e) { 644 data = data; 645 } 646 647 app.loading = false; 648 if (data != '' && data != undefined) { 649 if (data.tipo == 'sucesso') { 650 criar_toast('2000', 'Sucesso!', 'A fatura foi enviada para seu email.', 'fas fa-check', 'green', 'id_sucesso'); 651 } else if (data[0].mensagem) { 652 criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 653 } else { 654 criar_toast('4000', 'Erro!', 'Ocorreu um erro ao enviar a fatura.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 655 } 656 } 657 }).fail((e) => { 658 app.loading = false; 659 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 660 }); 661 } catch (e) { 662 return `Exception Class HotsiteWeb -> enviarFaturaEMAIL() -> ${e}`; 663 } 664 } 665 666 restoreModalVariavel() { 667 app.modal_url = ''; 668 app.link_fatura = ''; 669 app.pdf_fatura_nota = ''; 670 } 671 672 imprimirFatura(id_receber, criar_toast, alt_gateway = false) { 673 app.modal_url = ''; 674 this.restoreModalVariavel(); 675 676 const data = { 677 ID_RECEBER: id_receber || 0, 678 APP: app.cordova_app ? 'S' : 'N', 679 ACTION: 'getBoletoArquivo', 680 ALT_GATEWAY: (alt_gateway === true), 681 }; 682 683 $('#btn_imprimir_fat_').attr('disabled', true); 684 685 app.loading_modal = true; 686 var criar_toast = criar_toast || this.criarToast; 687 688 try { 689 if (data.APP === 'S') { 690 app.loading = true; 691 692 let permiteDownload = true; 693 694 /** 695 * Validar se o Boleto eh um Link Gateway para mostrar o modal 696 * */ 697 $.ajax({ 698 url: `${__SERVER__}/model/faturas/faturas.php`, 699 async: false, 700 type: 'GET', 701 data, 702 }).done((data) => { 703 try { 704 data = JSON.parse(data); 705 } catch (e) { 706 data = data; 707 } 708 709 if (data[0].tipo == 'link') { 710 permiteDownload = false;
711 $('#btn_imprimir_fat_').attr('disabled', false); 712 app.loading = false; 713 app.modal_url = ''; 714 app.loading_modal = false; 715 716 cordova.InAppBrowser.open( 717 data[0].mensagem, 718 '_blank', 719 'location=yes', 720 ); 721 } 722 }).fail(() => { 723 app.loading = false; 724 app.modal_url = ''; 725 app.loading_modal = false; 726 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 727 }); 728 729 if (permiteDownload) { 730 const fileTransfer = new FileTransfer(); 731 const fileURL = `${cordova.file.dataDirectory}fatura.pdf`; 732 const uri = `${__SERVER__}/model/faturas/faturas.php?ID_RECEBER=${data.ID_RECEBER}&APP=${data.APP}&ACTION=${data.ACTION}`; 733 734 fileTransfer.download(uri, fileURL, 735 (entry) => { 736 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 737 error(e) { 738 app.loading = false; 739 alert('Instale um leitor de arquivo .pdf!'); 740 }, 741 success(e) { 742 app.loading = false; 743 }, 744 }); 745 }, 746 (e) => { 747 app.loading = false; 748 alert('Erro ao baixar arquivo!'); 749 }, false, {}); 750 751 $('#btn_imprimir_fat_').attr('disabled', false); 752 } 753 } else { 754 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 755 try { 756 data = JSON.parse(data); 757 } catch (e) { 758 data = data; 759 } 760 if (data[0].tipo !== 'erro') { 761 if (data[0].tipo == 'link') { 762 $('#btn_imprimir_fat_').attr('disabled', false); 763 return app.link_fatura = data[0].mensagem; 764 } 765 if (typeof window.ReactNativeWebView !== 'undefined') { 766 postMessageMobile('base64', JSON.stringify({ 767 base: data[0].mensagem.base_pdf, 768 nome: btoa((Math.floor(Math.random() * 9999) + 1000)) + data[1], 769 })).then( 770 (retorno) => { 771 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 772 document.getElementById('modalImpressaoClose').click(); 773 if (JSON.parse(retorno.data).retorno == 'success') { 774 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 775 } else { 776 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 777 } 778 }, 779 ); 780 } else { 781 if (data[2] == 'true') { 782 $('#btn_imprimir_fat_').attr('disabled', false); 783 784 const xmlHttp = new XMLHttpRequest(); 785 xmlHttp.open('GET', `${__SERVER__}/model/faturas/faturas.php?APP=N&ACTION=retornarArquivo&CAMINHO=${data[1]}`, true); 786 xmlHttp.responseType = 'blob'; 787 xmlHttp.onreadystatechange = function (e) { 788 if (xmlHttp.readyState === 4 && (xmlHttp.status === 200 || xmlHttp.status === 0)) { 789 const link = document.createElement('a'); 790 link.href = URL.createObjectURL(xmlHttp.response); 791 link.download = 'Fatura.pdf'; 792 link.click(); 793 794 document.getElementById('modalImpressaoClose').click(); 795 } 796 }; 797 xmlHttp.send(); 798 } 799 app.loading_modal = false;
800 if (data != '' && data != undefined && !navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile/i)) { 801 if (data[0].tipo == 'sucesso') { 802 $('#btn_imprimir_fat_').attr('disabled', false); 803 return app.modal_url = data[0].mensagem.base_pdf; 804 } 805 } 806 } 807 } else { 808 if (data[0].mensagem) { 809 criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 810 811 app.loading_modal = false; 812 } else { 813 criar_toast('2000', 'Aviso!', 'Ocorreu um erro ao imprimir a fatura.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 814 } 815 $('#btn_imprimir_fat_').attr('disabled', false); 816 } 817 }).fail((e) => { 818 app.modal_url = ''; 819 app.loading_modal = false; 820 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 821 $('#btn_imprimir_fat_').attr('disabled', false); 822 }); 823 } 824 } catch (e) { 825 return `Exception Class HotsiteWeb -> imprimirFatura() -> ${e}`; 826 } 827 } 828 829 suspenderContrato(id_contrato, data_inicial_suspensao, data_final_suspensao) { 830 const closeButton = document.querySelector('#modalConcluirSuspensao button[data-dismiss=modal]'); 831 closeButton.click(); 832 const criar_toast = this.criarToast; 833 const data = { 834 ID_CONTRATO: id_contrato || 0, 835 DATA_INICIAL_SUSPENSAO: data_inicial_suspensao || 0, 836 DATA_FINAL_SUSPENSAO: data_final_suspensao || 0, 837 ACTION: 'suspenderContrato', 838 }; 839 $.ajax({ 840 url: `${__SERVER__}/model/planos/planos.php`, 841 async: true, 842 type: 'GET', 843 data, 844 }).done((data) => { 845 try { 846 closeButton.click(); 847 data = JSON.parse(data); 848 849 if (data.tipo === 'S') { 850 new HotsiteWeb().buscarPlanos(SLICE_PLANO, false, '', true); 851 criar_toast('5000', 'Sucesso!', data.resp, 'fas fa-check', 'green', 'id_sucesso'); 852 } else { 853 criar_toast('5000', 'Erro!', data.resp, 'fas fa-exclamation-circle', 'red', 'id_erro'); 854 } 855 } catch (e) { 856 data = data; 857 } 858 }).fail(() => { 859 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 860 }); 861 } 862 863 removerSuspensaoContrato(id_contrato) { 864 const closeButton = document.querySelector('#modalRemoveSuspensaoConcluir button[data-dismiss=modal]'); 865 closeButton.click(); 866 const criar_toast = this.criarToast; 867 const data = { 868 ID_CONTRATO: id_contrato || 0, 869 ACTION: 'removerSuspensaoContrato', 870 }; 871 $.ajax({ 872 url: `${__SERVER__}/model/planos/planos.php`, 873 async: true, 874 type: 'GET', 875 data, 876 }).done((data) => { 877 try { 878 closeButton.click(); 879 data = JSON.parse(data); 880 881 if (data.tipo === 'S') { 882 new HotsiteWeb().buscarPlanos(SLICE_PLANO, false, '', true); 883 884 criar_toast('5000', 'Sucesso!', data.resp, 'fas fa-check', 'green', 'id_sucesso'); 885 } else { 886 criar_toast('5000', 'Erro!', data.resp, 'fas fa-exclamation-circle', 'red', 'id_erro'); 887 } 888 } catch (e) { 889 data = data; 890 } 891 }).fail(() => { 892 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 893 }); 894 } 895 896 imprimirPix(id_receber) { 897 const criar_toast = this.criarToast; 898 criar_toast('25000', '', 'Caso você já tenha efetuado o pagamento por outro meio, aguarde seu processamento!', '', 'yellow', ''); 899 900 const headerPix = document.getElementById('headerPix'); 901 const pixLoading = document.getElementById('pixLoading'); 902 const qrCodePix = document.getElementById('qrCodePix'); 903 const pixFooter = document.getElementById('pixFooter'); 904 const pixCopiaECola = document.getElementById('qrCodePixCopiaECola'); 905 const botaoFecharModal = document.getElementById('fecharConsultarFatura'); 906 let botaoImprimirPixConsultarFatura = ''; 907 if (document.getElementById('botaoImprimirPixConsultarFatura')) { 908 botaoImprimirPixConsultarFatura = document.getElementById('botaoImprimirPixConsultarFatura'); 909 } else if (document.getElementById('btn_imprimir_pix')) { 910 botaoImprimirPixConsultarFatura = document.getElementById('btn_imprimir_pix'); 911 } else if (document.getElementById('btn_imprimir_pix_home')) { 912 botaoImprimirPixConsultarFatura = document.getElementById('btn_imprimir_pix_home'); 913 } else if (document.getElementById('btn_imprimir_pix_home_')) { 914 botaoImprimirPixConsultarFatura = document.getElementById('btn_imprimir_pix_home_'); 915 } else if (document.getElementById('btn_imprimir_pix_')) { 916 botaoImprimirPixConsultarFatura = document.getElementById('btn_imprimir_pix_'); 917 } 918 const modalPix = document.getElementById('modalPix'); 919 920 pixLoading.style.display = 'block'; 921 headerPix.style.display = 'none'; 922 qrCodePix.style.display = 'none'; 923 pixFooter.style.display = 'none'; 924 pixCopiaECola.style.display = 'none'; 925 926 botaoFecharModal.click(); 927 botaoImprimirPixConsultarFatura.setAttribute('disabled', ''); 928 929 let success = false;
930 931 const data = { 932 ID_RECEBER: id_receber || 0, 933 ACTION: 'getDadosPix', 934 }; 935 936 $.ajax({ 937 url: `${__SERVER__}/model/faturas/faturas.php`, 938 async: false, 939 type: 'GET', 940 data, 941 }).done((data) => { 942 pixLoading.style.display = 'none'; 943 modalPix.style.overflow = 'scroll'; 944 try { 945 data = JSON.parse(data); 946 947 if (data.type === 'success') { 948 success = true; 949 headerPix.style.display = 'block'; 950 headerPix.style.textAlign = 'left'; 951 qrCodePix.style.display = 'block'; 952 pixFooter.style.display = 'block'; 953 pixCopiaECola.style.display = 'block'; 954 955 headerPix.innerHTML = `<p><b>${data.pix.dadosPix.devedor.nome}</b><\p>` 956 + `<p><b>Valor: </b>R$ ${data.pix.dadosPix.valor.original}<\p>` 957 + `<p><b>Código PIX válido até: </b>${data.pix.dadosPix.expiracaoPix} (Horário de BrasÃlia)<\p>` 958 + `<p style="text-align: center">${data.pix.dadosPix.solicitacaoPagador}</p>`; 959 if (data.gateway.gatewayNome == 'fortunus') { 960 qrCodePix.innerHTML = `<img id="imgQrCode" src="data:image/svg+xml;base64,${data.pix.qrCode.imagemQrcode}" style="max-width: 200px; max-height: 200px;"></center>`; 961 } else { 962 qrCodePix.innerHTML = `<img id="imgQrCode" src="data:image/png;base64,${data.pix.qrCode.imagemQrcode}" style="max-width: 200px; max-height: 200px;"></center>`; 963 } 964 965 pixCopiaECola.innerHTML = `Pix Copia e Cola: <input readonly="readonly" id="inputPixCopiaECola" value="${data.pix.qrCode.qrcode}"> <button id="botaoCopiarPix">Copiar</button><br><br>` 966 + '<p><b id="counter">00:00</b></p>'; 967 968 const botaoCopiarPix = document.getElementById('botaoCopiarPix'); 969 botaoCopiarPix.addEventListener('click', () => { 970 const inputPixCopiaECola = document.getElementById('inputPixCopiaECola'); 971 972 const displaySuccessToast = () => criar_toast( 973 2000, 974 'Sucesso!', 975 'Chave Pix copiada para a área de transferência.', 976 'fas fa-check', 977 'green', 978 'id_sucesso', 979 true, 980 ); 981 982 const displayErrorToast = () => criar_toast( 983 2000, 984 'Erro!', 985 'Não foi possÃvel copiar a chave pix.', 986 'fas fa-times', 987 'red', 988 'id_erro', 989 true 990 ); 991 992 navigator.clipboard.writeText(inputPixCopiaECola?.value || '').then(() => { 993 const isClipboardTextMatching = (clipboardText) => clipboardText === inputPixCopiaECola?.value; 994 navigator.clipboard.readText().then((clipboardText) => { 995 if (isClipboardTextMatching(clipboardText)) { 996 displaySuccessToast(); 997 } else { 998 displayErrorToast(); 999 } 1000 }); 1001 }).catch(displayErrorToast); 1002 }); 1003 1004 pixFooter.innerHTML = '<p>Utilize o app do seu banco para escanear o código <b>PIX</b> e concluir o pagamento.<br>'; 1005 1006 if (data.gateway.gatewayNome == 'sicoobApi') { 1007 pixFooter.innerHTML = '<p><b>ATENÃÃO</b>: O processamento da transação via PIX pode demorar <b>até 1 dia útil</b> para ser efetivada.<br><br>'; 1008 } 1009 } else { 1010 headerPix.style.display = 'block'; 1011 headerPix.style.textAlign = 'center'; 1012 headerPix.innerHTML = `${'<img src="data:image/png;base64,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"/>' 1013 + '</center><p>'}${data.mensagem}</p>`; 1014 criar_toast('5000', 'Erro!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1015 } 1016 } catch (e) { 1017 data = data; 1018 } 1019 }).fail(() => { 1020 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1021 }); 1022 1023 if (success) { 1024 this.consultarStatusPix(id_receber); 1025 } 1026 botaoImprimirPixConsultarFatura.removeAttribute('disabled'); 1027 } 1028 1029 consultarStatusPix(id_receber) { 1030 const criar_toast = this.criarToast; 1031 1032 let mm = 4; 1033 let ss = 59; 1034 1035 const tempo = 1000; 1036 1037 const cron = setInterval(() => { timer(); }, tempo); 1038 1039 function timer() { 1040 ss--; 1041 1042 if (ss === 0) { 1043 if (mm === 0) { 1044 document.getElementById('counter').innerText = '00:00'; 1045 clearInterval(cron); 1046 return; 1047 } 1048 ss = 59; 1049 mm--; 1050 } 1051 1052 document.getElementById('counter').innerText = (`0${mm}:${ss < 10 ? `0${ss}` : ss}`); 1053 } 1054 1055 const data = { 1056 ID_RECEBER: id_receber || 0, 1057 ACTION: 'getStatusPix', 1058 }; 1059 1060 $.ajax({ 1061 url: `${__SERVER__}/model/faturas/faturas.php`, 1062 async: true, 1063 type: 'GET', 1064 data, 1065 timeout: 296000, 1066 }).done((data) => { 1067 try { 1068 data = JSON.parse(data); 1069 1070 if (data.type === 'success') { 1071 const imgQrCode = document.getElementById('imgQrCode'); 1072 const qrCodePix = document.getElementById('qrCodePix'); 1073 const pixCopiaECola = document.getElementById('qrCodePixCopiaECola'); 1074 pixCopiaECola.style.display = 'none'; 1075 qrCodePix.removeChild(imgQrCode); 1076 1077 qrCodePix.innerHTML = '<svg id="payedPix" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130.2 130.2" style="max-height: 200px">\n' 1078 + ' <circle class="path circle" fill="none" stroke="#77B6A8" stroke-width="6" stroke-miterlimit="10" cx="65.1" cy="65.1" r="62.1"/>\n' 1079 + ' <polyline class="path check" fill="none" stroke="#77B6A8" stroke-width="6" stroke-linecap="round" stroke-miterlimit="10" points="100.2,40.2 51.5,88.8 29.8,67.5 "/>\n' 1080 + '</svg><br><br>' 1081 + '<p class="success" style="color: #77B6A8; text-align: center; font-size: 1.25em;">Seu pagamento foi confirmado!</p>'; 1082 } else { 1083 const pixFooter = document.getElementById('pixFooter'); 1084 const pixCopiaECola = document.getElementById('qrCodePixCopiaECola'); 1085 const qrCodePix = document.getElementById('qrCodePix'); 1086 const imgQrCode = document.getElementById('imgQrCode'); 1087 pixFooter.style.display = 'none'; 1088 imgQrCode.style.display = 'none'; 1089 pixCopiaECola.style.display = 'none'; 1090 qrCodePix.style.textAlign = 'center'; 1091 qrCodePix.innerHTML = `${'<img src="data:image/png;base64,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"/>' 1092 + '</center><p>'}${data.mensagem}</p>`; 1093 criar_toast('5000', 'Erro!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1094 } 1095 } catch (e) { 1096 1097 } 1098 }).fail(() => { 1099 const pixFooter = document.getElementById('pixFooter'); 1100 const pixCopiaECola = document.getElementById('qrCodePixCopiaECola'); 1101 const qrCodePix = document.getElementById('qrCodePix'); 1102 const imgQrCode = document.getElementById('imgQrCode'); 1103 pixFooter.style.display = 'none'; 1104 imgQrCode.style.display = 'none'; 1105 pixCopiaECola.style.display = 'none'; 1106 qrCodePix.style.textAlign = 'center'; 1107 qrCodePix.innerHTML = '<img src="data:image/png;base64,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"/>' 1108 + '</center><p>Tempo para leitura do QrCode expirado. Por favor recarregue a página!</p>'; 1109 criar_toast('5000', 'Erro!', 'Tempo para leitura do QrCode expirado. Por favor recarregue a página!', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1110 }); 1111 } 1112 1113 imprimirQuitacaoDebitos(ano_selecionado) { 1114 this.restoreModalVariavel(); 1115 1116 const data = { 1117 APP: app.cordova_app ? 'S' : 'N', 1118 ACTION: 'getQuitacaoDebito', 1119 ANO_CONTRATO: ano_selecionado, 1120 }; 1121 1122 const criar_toast = this.criarToast; 1123 app.loading_modal = true; 1124 1125 try { 1126 if (data.APP === 'S') { 1127 app.loading = true; 1128 1129 $.get(`${__SERVER__}/model/faturas/faturas.php`, { APP: 'N', ACTION: 'getQuitacaoDebito' }, (data) => { 1130 try { 1131 data = JSON.parse(data); 1132 } catch (e) { 1133 data = data; 1134 } 1135 if (data[0].tipo === 'sucesso') { 1136 if (__REACT_NATIVE__) { 1137 window.ReactNativeWebView.postMessage(JSON.stringify({ 1138 type: 'download', 1139 url: encodeURI(`${__SERVER__}/model/faturas/faturas.php?APP=S&ACTION=getQuitacaoDebito&ANO_CONTRATO=${ano_selecionado}`), 1140 sessao: $.cookie('sessao'), 1141 })); 1142 } else { 1143 const fileTransfer = new FileTransfer(); 1144 const fileURL = `${cordova.file.dataDirectory}quitacao_debito.pdf`; 1145 const uri = `${__SERVER__}/model/faturas/faturas.php?APP=S&ACTION=getQuitacaoDebito&ANO_CONTRATO=${ano_selecionado}`; 1146 1147 fileTransfer.download(uri, fileURL, 1148 (entry) => { 1149 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 1150 error(e) { 1151 app.loading = false;
1152 alert('Instale um leitor de arquivo .pdf!'); 1153 }, 1154 success(e) { 1155 app.loading = false; 1156 }, 1157 }); 1158 }, 1159 (e) => { 1160 app.loading = false; 1161 alert('Erro ao baixar arquivo!'); 1162 }, false, {}); 1163 } 1164 } else { 1165 app.loading = false; 1166 return criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1167 } 1168 }).fail((e) => { 1169 app.modal_url = ''; 1170 app.loading = false; 1171 app.loading_modal = false; 1172 return criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1173 }); 1174 } else { 1175 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1176 if (typeof window.ReactNativeWebView !== 'undefined') { 1177 data = JSON.parse(data); 1178 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 1179 $('#modalImpressaoClose').click(); 1180 postMessageMobile('base64', JSON.stringify({ 1181 base: data[0].mensagem.base_pdf, 1182 nome: btoa(`${Math.floor(Math.random() * 9999) + 1000}arquivo.pdf`), 1183 })).then( 1184 (retorno) => { 1185 $('#btn_imprimir_fat_').attr('disabled', false); 1186 if (JSON.parse(retorno.data).retorno == 'success') { 1187 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 1188 } else { 1189 return criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1190 } 1191 }, 1192 ); 1193 } else { 1194 if (data != '<strong>TCPDF ERROR: </strong>[Image] Unable to get the size of the image: /var/www/includes/../') { 1195 data = JSON.parse(data); 1196 } 1197 1198 app.loading_modal = false; 1199 if (data[0].tipo == 'sucesso') { 1200 if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile/i)) { 1201 const link = document.createElement('a'); 1202 link.href = `data:application/octet-stream;base64,${data[0].mensagem.base_pdf}`; 1203 link.download = 'QuitacaoDebito.pdf'; 1204 link.click(); 1205 $('#modalImpressaoClose').click(); 1206 } else { 1207 return app.modal_url = data[0].mensagem.base_pdf; 1208 } 1209 } else { 1210 return criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 1211 } 1212 } 1213 }).fail((e) => { 1214 app.modal_url = ''; 1215 app.modal_nome = ''; 1216 app.loading_modal = false; 1217 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1218 }); 1219 } 1220 } catch (e) { 1221 return `Exception Class HotsiteWeb -> imprimirQuitacaoDebitos() -> ${e}`; 1222 } 1223 } 1224 1225 instanciarCartao() { 1226 new Card({ 1227 form: document.querySelector('.form-pagamento'), 1228 container: '.card-wrapper', 1229 placeholders: { 1230 number: 'â¢â¢â¢â¢ â¢â¢â¢â¢ â¢â¢â¢â¢ â¢â¢â¢â¢', 1231 name: 'Nome completo', 1232 expiry: 'â¢â¢/â¢â¢â¢â¢', 1233 cvc: 'â¢â¢â¢', 1234 }, 1235 }); 1236 } 1237 1238 ativarRecorrenciaVindi(id_contrato, numero_cartao, mes, ano, dv, cartaoNome, bandeira) { 1239 const criar_toast = this.criarToast; 1240 1241 const data = { 1242 ID_CONTRATO: id_contrato || 0, 1243 NUMERO_CARTAO: numero_cartao || 0, 1244 MES: mes || 0, 1245 ANO: ano || 0, 1246 DV: dv || 0, 1247 BANDEIRA: bandeira || '', 1248 CARTAO_NOME: cartaoNome || '', 1249 ACTION: 'ativarRecorrenciaVindi', 1250 }; 1251 1252 try { 1253 $.post(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1254 try { 1255 data = JSON.parse(data); 1256 } catch (e) { 1257 data = data; 1258 } 1259 const response = data[0]; 1260 if (response.tipo === 'sucesso') { 1261 criar_toast(10000, 'Sucesso!', response.mensagem, 'fas fa-check', 'green', 'id_sucesso', true); 1262 setTimeout("location.href = '/central_assinante_web/planos';", 3000); 1263 } else { 1264 const { mensagem } = response; 1265 criar_toast(3000, 'Ops!', mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1266 } 1267 console.log(data); 1268 app.loading = false;
1269 }).fail((e) => { 1270 criar_toast('3000', 'Erro!', 'Ocorreu um erro no servidor. Por favor entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1271 setTimeout("location.href = '/central_assinante_web/planos';", 3000); 1272 }); 1273 function noBack() { window.history.forward(); } 1274 noBack(); 1275 window.onload = noBack; 1276 window.onpageshow = function (evt) { if (evt.persisted)noBack(); }; 1277 window.onunload = function () { void (0); }; 1278 } catch (e) { 1279 return `Exception Class HotsiteWeb -> ativarRecorrenciaVindi() -> ${e}`; 1280 } 1281 } 1282 1283 pagarFatura(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, creditcardGateway, gerenciaIdentificadorConta, paymentToken = '', dataEnvioRequisicao = '', captchaValidationHash = '') { 1284 const GATEWAYS_DE_CARTAO_INTERMEDIDADORES = ['GN', 'GP']; 1285 1286 const hs_web = new HotsiteWeb(); 1287 const criar_toast = this.criarToast; 1288 1289 if (paymentToken == '') { 1290 if (creditcardGateway == 'GN') { 1291 this.gerarPaymentTokenGerenciaNetCardEPagar(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, gerenciaIdentificadorConta, captchaValidationHash); 1292 return; 1293 } else if (creditcardGateway == 'IG') { 1294 this.generateIuguPaymentToken(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome,creditCardAmbiente,gerenciaIdentificadorConta, captchaValidationHash); 1295 return; 1296 } 1297 } 1298 const data = { 1299 ID_RECEBER: id_receber || 0, 1300 PARCELAMENTO: parcelas || 0, 1301 NUMERO_CARTAO: numero_cartao || 0, 1302 MES: mes || 0, 1303 ANO: ano || 0, 1304 BANDEIRA: bandeira || '', 1305 DV: dv || 0, 1306 RECORRENTE: recorrente || 0, 1307 CARTAO_NOME: cartaoNome || '', 1308 PAYMENT_TOKEN: paymentToken, 1309 DATA_ENVIO_REQUISICAO: dataEnvioRequisicao, 1310 ACTION: 'setPagamentoCartao', 1311 CAPTCHA_VALIDATION_HASH: captchaValidationHash, 1312 }; 1313 1314 try { 1315 $.post(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1316 try { 1317 data = JSON.parse(data); 1318 } catch (e) { 1319 data = data; 1320 } 1321 1322 if (data != '' && data != undefined) { 1323 hs_web.esconderToast('processandoPagamento'); 1324 const message = data[0]; 1325 if (message.tipo == 'sucesso') { 1326 if (GATEWAYS_DE_CARTAO_INTERMEDIDADORES.includes(creditcardGateway)) { 1327 criar_toast( 1328 10000, 1329 message?.title ?? 'Sucesso!', 1330 message.mensagem, 1331 message?.icon ?? 'fas fa-check', 1332 message?.color ?? 'blue', 1333 'id_sucesso', 1334 true, 1335 ); 1336 } else { 1337 criar_toast(3000, 'Sucesso!', 'Transação finalizada! Aguardando confirmação do pagamento. Isso poderá levar algumas horas. Por favor, aguarde', 1338 'fas fa-check', 'green', 'id_sucesso', true); 1339 hs_web.criarToastComprovante(id_receber, recorrente); 1340 } 1341 router.replace({ path: '/central_assinante_web/faturas' }); 1342 } else if (message.tipo == 'erro_tentativa_pagamento') { 1343 hs_web.esconderToast('processandoPagamento'); 1344 hs_web.encerrarSessaoHotsite(); 1345 1346 alert( 1347 'Limite de tentativas excedido.\n' 1348 + 'Por motivos de segurança, o limite máximo de tentativas de pagamento foi atingido. à necessário realizar o login novamente para continuar o processo de pagamento.', 1349 ); 1350 1351 window.location.reload(); 1352 } else { 1353 const { gateway } = data[0]; 1354 const { errorCode, showErrors } = data[0]; 1355 let message; 1356
1357 const creditCardException = new CreditCardsExceptions(); 1358 1359 if (gateway === 'C3' || gateway === 'YA') { 1360 message = creditCardException.getMessageException(gateway, errorCode, bandeira); 1361 } else if (errorCode && (creditCardException.showMessageException(gateway, errorCode) || showErrors)) { 1362 message = data[0].mensagem; 1363 } 1364 1365 if (!message) { 1366 message = 'Erro ao realizar pagamento. Por favor, verifique as informações fornecidas para o pagamento e tente novamente.'; 1367 } 1368 1369 criar_toast(3000, 'Ops!', message, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1370 } 1371 } 1372 app.loading = false; 1373 }).fail((e) => { 1374 hs_web.esconderToast('processandoPagamento'); 1375 criar_toast('3000', 'Erro!', 'Ocorreu um erro no servidor. Por favor entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1376 setTimeout("location.href = '/central_assinante_web/faturas';", 3000); 1377 }); 1378 function noBack() { window.history.forward(); } 1379 noBack(); 1380 window.onload = noBack; 1381 window.onpageshow = function (evt) { if (evt.persisted)noBack(); }; 1382 window.onunload = function () { void (0); }; 1383 } catch (e) { 1384 return `Exception Class HotsiteWeb -> pagarFatura() -> ${e}`; 1385 } 1386 } 1387 1388 generateIuguPaymentToken(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome,creditCardAmbiente,gerenciaIdentificadorConta, captchaValidationHash = '') { 1389 Iugu.setAccountID(gerenciaIdentificadorConta); 1390 Iugu.setTestMode(creditCardAmbiente === 'T'); 1391 1392 const [firstName, lastName] = cartaoNome ? Iugu.utils.getFirstLastNameByFullName(cartaoNome) : ['', '']; 1393 const cardNumber = numero_cartao.replaceAll(/\D/g, ''); 1394 1395 const hs_web = new HotsiteWeb(); 1396 const criar_toast = this.criarToast; 1397 1398 if (!this.invalidIuguCardDetails(cardNumber, dv, bandeira, mes, ano, firstName, lastName)) { 1399 const creditCard = Iugu.CreditCard(cardNumber, mes, ano, firstName, lastName, dv); 1400 1401 Iugu.createPaymentToken(creditCard, function(response) { 1402 if (!response.errors) { 1403 const now = new Date(); 1404 const data = now.getFullYear()+'-'+(now.getMonth()+1).toString().padStart(2, '0')+'-'+now.getDate().toString().padStart(2, '0')+' '+now.getHours()+':'+now.getMinutes().toString().padStart(2, '0')+':'+now.getSeconds().toString().padStart(2, '0'); 1405 hs_web.pagarFatura(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente,'IG',gerenciaIdentificadorConta,response.id, data, captchaValidationHash); 1406 } else { 1407 const message = 'Erro ao realizar pagamento. Por favor, verifique as informações fornecidas para o pagamento e tente novamente.'; 1408 criar_toast(3000, 'Ops!', message, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1409 app.loading=false; 1410 } 1411 }); 1412 } 1413 } 1414 1415 invalidIuguCardDetails(cardNumber, dv, bandeira, mes, ano, firstName, lastName) { 1416 let invalidFields = []; 1417 let requiredFields = []; 1418 1419 if (!cardNumber) { 1420 requiredFields.push('Número do cartão'); 1421 } else if (!Iugu.utils.validateCreditCardNumber(cardNumber)) { 1422 invalidFields.push('Número do cartão'); 1423 } 1424 if (!firstName && !lastName) { 1425 requiredFields.push('Nome impresso no cartão'); 1426 } else if (!Iugu.utils.validateFirstName(firstName) || !Iugu.utils.validateLastName(lastName)) { 1427 invalidFields.push('Nome impresso no cartão'); 1428 } 1429 if (!mes && !ano) { 1430 requiredFields.push('Data de validade'); 1431 } else if (!Iugu.utils.validateExpiration(mes, ano)) { 1432 invalidFields.push('Data de validade'); 1433 } 1434 if (!dv) { 1435 requiredFields.push('Código de segurança'); 1436 } else if (!Iugu.utils.validateCVV(dv, bandeira)) { 1437 invalidFields.push('Código de segurança'); 1438 } 1439 1440 return this.handleInvalidIuguCard(invalidFields, requiredFields); 1441 } 1442 1443 handleInvalidIuguCard(invalidFields, requiredFields) { 1444 let message = ''; 1445 let timeout = 3000; 1446 1447 if (requiredFields.length > 1) { 1448 timeout = 5000; 1449 const fields = requiredFields.join('", "'); 1450 message = 'Notamos que os campos "' + fields + '" continuam vazios, preencha-os para prosseguir.'; 1451 } else if (requiredFields.length === 1) { 1452 message = 'Quase pronto! Apenas o campo "' + requiredFields[0] + '" faltou ser preenchido. Preencha para continuar.'; 1453 } else if (invalidFields.length > 1) { 1454 timeout = 5000; 1455 const fields = invalidFields.join('", "'); 1456 message = 'As informações inseridas nos campos "' + fields + '", estão inválidas. Verifique e tente novamente.'; 1457 } else if (invalidFields.length === 1) { 1458 message = 'A informação inserida no campo "' + invalidFields[0] + '", está inválida. Verifique e tente novamente.'; 1459 } 1460 1461 if (message) { 1462 this.criarToast(timeout, 'Ops!', message, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1463 app.loading = false;
1464 return true; 1465 } 1466 1467 return false; 1468 } 1469 1470 gerarPaymentTokenGerenciaNetCardEPagar(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, gerenciaIdentificadorConta, captchaValidationHash = '') { 1471 const urlBase = creditCardAmbiente == 'T' ? 'https://sandbox.gerencianet.com.br/v1/cdn/' : 'https://api.gerencianet.com.br/v1/cdn/'; 1472 const s = document.createElement('script'); 1473 s.type = 'text/javascript'; 1474 const v = parseInt(Math.random() * 1000000); 1475 s.src = `${urlBase + gerenciaIdentificadorConta}/${v}`; 1476 s.async = false; 1477 s.id = gerenciaIdentificadorConta; 1478 if (!document.getElementById(gerenciaIdentificadorConta)) { 1479 document.getElementsByTagName('head')[0].appendChild(s); 1480 } 1481 top.$gn = { 1482 validForm: true, 1483 processed: false, 1484 done: {}, 1485 ready(fn) { 1486 $gn.done = fn; 1487 }, 1488 }; 1489 $gn.ready((checkout) => { 1490 top.checkout = checkout; 1491 this.gerarPaymentTokenGerenciaNet(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, 'GN', gerenciaIdentificadorConta, captchaValidationHash); 1492 }); 1493 1494 if (typeof top.checkout !== 'undefined') { 1495 this.gerarPaymentTokenGerenciaNet(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, 'GN', gerenciaIdentificadorConta, captchaValidationHash); 1496 } 1497 } 1498 1499 gerarPaymentTokenGerenciaNet(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, creditcardGateway, gerenciaIdentificadorConta, captchaValidationHash = '') { 1500 const criar_toast = this.criarToast; 1501 const hs_web = new HotsiteWeb(); 1502 const callback = (error, response) => { 1503 if (error) { 1504 criar_toast(3000, 'Ops!', this.getErrorMessageGerencianetCard(error), 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1505 app.loading = false; 1506 } else { 1507 const now = new Date(); 1508 const data = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')} ${now.getHours()}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}`; 1509 hs_web.pagarFatura(id_receber, parcelas, numero_cartao, mes, ano, bandeira, dv, recorrente, cartaoNome, creditCardAmbiente, creditcardGateway, gerenciaIdentificadorConta, response.data.payment_token, data, captchaValidationHash); 1510 } 1511 }; 1512 1513 top.checkout.getPaymentToken({ 1514 brand: bandeira, 1515 number: numero_cartao.replace(/\D/g, ''), 1516 cvv: dv, 1517 expiration_month: mes, 1518 expiration_year: ano, 1519 reuse: recorrente, 1520 }, callback); 1521 } 1522 1523 getErrorMessageGerencianetCard(error) { 1524 const invalidParameters = { 1525 invalid_brand: 'A bandeira do cartão informada é inválida. As opções válidas são: Visa, Mastercard, Amex, Diners, Elo ou Hipercard', 1526 invalid_card_number: 'O número do cartão informado é inválido', 1527 invalid_expiration_month: 'A data de validade informada é inválida', 1528 } 1529 1530 const invalidProperties = { 1531 cvv: 'O Código de segurança informado é inválido', 1532 expiration_year: 'A data de validade informada é inválida', 1533 } 1534 1535 if (invalidParameters[error.error]) { 1536 return invalidParameters[error.error]; 1537 } else if (error.error === 'invalid_data' && invalidProperties[error.error_description?.property]) { 1538 return invalidProperties[error.error_description.property]; 1539 } 1540 1541 return error.error_description?.message ?? error.error_description; 1542 } 1543 1544 comprovantePagamento(id_receber, acao) { 1545 const data = { 1546 ID_RECEBER: id_receber || 0, 1547 ACAO: acao, 1548 APP: app.cordova_app ? 'S' : 'N', 1549 ACTION: 'getImprinmirComprovanteCartao', 1550 }; 1551 1552 const hs_web = new HotsiteWeb(); 1553 1554 try { 1555 if (data.APP === 'S' && acao == 'N') { 1556 app.loading = true; 1557 1558 const fileTransfer = new FileTransfer(); 1559 const fileURL = `${cordova.file.dataDirectory}comprovante.pdf`; 1560 const uri = `${__SERVER__}/model/faturas/faturas.php?ID_RECEBER=${data.ID_RECEBER}&ACAO=${data.ACAO}&APP=${data.APP}&ACTION=${data.ACTION}`; 1561 1562 fileTransfer.download(uri, fileURL, 1563 (entry) => { 1564 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 1565 error(e) { 1566 app.loading = false;
1567 alert('Instale um leitor de arquivo .pdf!'); 1568 }, 1569 success(e) { 1570 app.loading = false; 1571 }, 1572 }); 1573 }, 1574 (e) => { 1575 app.loading = false; 1576 alert('Erro ao baixar arquivo!'); 1577 }, false, {}); 1578 } else { 1579 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1580 try { 1581 data = JSON.parse(data); 1582 } catch (e) { 1583 data = data; 1584 } 1585 1586 if (data != '' && data != undefined) { 1587 if (data.tipo == 'sucesso') { 1588 if (typeof (data.mensagem) === 'object' && typeof window.ReactNativeWebView === 'undefined') { 1589 app.modal_nome = `Comprovante - Fatura ${id_receber}`; 1590 app.modal_url = data.mensagem.base_pdf; 1591 app.loading_modal = false; 1592 1593 return $('#modalImpressao').modal('toggle'); 1594 } 1595 postMessageMobile('base64', JSON.stringify({ 1596 base: data.mensagem.base_pdf, 1597 nome: btoa(`${Math.floor(Math.random() * 9999) + 1000}comprovante.pdf`), 1598 })).then( 1599 (retorno) => { 1600 if (JSON.parse(retorno.data).retorno == 'success') { 1601 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 1602 } else { 1603 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1604 } 1605 }, 1606 ); 1607 1608 return hs_web.criarToast('2000', 'Sucesso!', data.mensagem, 'fas fa-check', 'green', 'id_sucesso'); 1609 } 1610 return hs_web.criarToast(5000, 'Ops!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1611 } 1612 }).fail((e) => hs_web.criarToast(5000, 'Ops!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', false)); 1613 } 1614 } catch (e) { 1615 hs_web.criarToast(5000, 'Ops!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 1616 return `Exception Class HotsiteWeb -> pagarFatura() -> ${e}`; 1617 } 1618 } 1619 1620 recorrenciaVindi() { 1621 $(document).ready(() => { 1622 const hs_web = new HotsiteWeb(); 1623 1624 app.loading = false; 1625 router.history.current.matched[0].instances.default.loading = false; 1626 validaActiveClass('#pg_plano'); 1627 hs_web.setarPermissaoFaturas(); 1628 hs_web.instanciarCartao(); 1629 1630 this.loadCaptcha(); 1631 }); 1632 } 1633 1634 buscarParcelas(id_receber) { 1635 const data = { 1636 ACTION: 'getParcelas', 1637 ID_RECEBER: id_receber || 0, 1638 }; 1639 1640 const criar_toast = this.criarToast; 1641 1642 try { 1643 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1644 data = JSON.parse(data); 1645 if (data != '' && data != undefined) { 1646 if (data[0].tipo == 'sucesso') { 1647 router.history.current.matched[0].instances.default.cartao_parcelas = data[0].mensagem.parcelas; 1648 router.history.current.matched[0].instances.default.permite_recorrencia = !!data[0].mensagem.recorrente.permite_recorrencia; 1649 router.history.current.matched[0].instances.default.contrato_recorrente = !!data[0].mensagem.recorrente.existe_token; 1650 1651 router.history.current.matched[0].instances.default.recorrente = !!data[0].mensagem.recorrente.existe_token; 1652 router.history.current.matched[0].instances.default.credit_card_gateway = data[0].mensagem.gateway; 1653 1654 if (data[0].mensagem.recorrente.existe_token) { 1655 criar_toast('5000', 'Informativo!', 'Esta fatura já possui pagamento programado como recorrente!', 'fas fa-exclamation-circle', 'yellow', 'id_erro'); 1656 } 1657 } else if (!data[0].tipo == 'erro') { 1658 criar_toast('4000', 'Ops!', 'Houve algum problema ao tentar gerar as parcelas. Entre em contato conosco.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1659 } 1660 1661 $(document).ready(() => { 1662 const hs_web = new HotsiteWeb(); 1663 1664 app.loading = false;
1665 router.history.current.matched[0].instances.default.loading = false; 1666 validaActiveClass('#pg_fatura'); 1667 hs_web.setarPermissaoFaturas(); 1668 hs_web.instanciarCartao(); 1669 1670 this.loadCaptcha(); 1671 }); 1672 } 1673 }).fail((e) => { 1674 router.history.current.matched[0].instances.default.cartao_parcelas = []; 1675 $(document).ready(() => { 1676 app.loading = false; 1677 router.history.current.matched[0].instances.default.loading = false; 1678 validaActiveClass('#pg_fatura'); 1679 }); 1680 criar_toast('5000', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1681 }); 1682 } catch (e) { 1683 return `Exception Method buscarParcelas() -> ${e}`; 1684 } 1685 } 1686 1687 loadCaptcha() { 1688 const refreshCaptcha = this.refreshCaptchaImage; 1689 1690 const captchaRequestData = { 1691 length: 7, 1692 height: 40, 1693 width: 200, 1694 }; 1695 1696 const xhttp = new XMLHttpRequest(); 1697 1698 xhttp.onreadystatechange = function () { 1699 if (this.readyState === 4 && this.status === 200) { 1700 const img = document.createElement('img'); 1701 const response = JSON.parse(xhttp.responseText); 1702 img.id = 'captchaPaymentImage'; 1703 img.src = `data:image/png;base64,${response.data.captchaImageBase64}`; 1704 img.style.width = captchaRequestData.width; 1705 img.style.height = captchaRequestData.height; 1706 img.addEventListener('click', (event) => { 1707 refreshCaptcha(event.srcElement.id); 1708 }); 1709 document.getElementById('rowCaptcha').prepend(img); 1710 document.getElementById('captchaKey').value = response.data.cacheKey; 1711 } 1712 }; 1713 1714 xhttp.open('GET', '/api-module/auth/generate-captcha-image?length=7&height=40&width=200', true); 1715 xhttp.send(); 1716 } 1717 1718 refreshCaptchaImage(imageElementId) { 1719 const xhttp = new XMLHttpRequest(); 1720 xhttp.onreadystatechange = function () { 1721 if (this.readyState === 4 && this.status === 200) { 1722 const img = document.getElementById(imageElementId); 1723 const response = JSON.parse(xhttp.responseText); 1724 img.src = `data:image/png;base64,${response.data.captchaImageBase64}`; 1725 document.getElementById('captchaKey').value = response.data.cacheKey; 1726 } 1727 }; 1728 xhttp.open('GET', '/api-module/auth/generate-captcha-image?length=7&height=40&width=200', true); 1729 xhttp.send(); 1730 } 1731 1732 buscarCarteirasFatura() { 1733 const data = { 1734 ACTION: 'getCarteirasFatura', 1735 }; 1736 const criar_toast = this.criarToast; 1737 1738 try { 1739 $.get(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 1740 data = JSON.parse(data); 1741 if (data.utiliza_fatura && data.carteiras.length == 0) { 1742 criar_toast('5000', 'Ops!', 'Não existe nenhuma carteira configurada para aparecer na central, entre em contato com o suporte', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1743 } else if (data != '' && data != undefined) { 1744 $(document).ready(() => { 1745 app.loading = false; 1746 router.history.current.matched[0].instances.default.loading = false; 1747 app.carteiras_faturas = data.carteiras; 1748 }); 1749 } 1750 }).fail((e) => { 1751 router.history.current.matched[0].instances.default.cartao_parcelas = []; 1752 $(document).ready(() => { 1753 app.loading = false; 1754 router.history.current.matched[0].instances.default.loading = false; 1755 validaActiveClass('#pg_fatura'); 1756 }); 1757 criar_toast('5000', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1758 }); 1759 } catch (e) { 1760 return `Exception Method buscarParcelas() -> ${e}`; 1761 } 1762 } 1763 1764 /** 1765 * Notas 1766 */ 1767 buscarNotas(slice) { 1768 const data = { 1769 SLICE: slice || this.slice, 1770 ACTION: 'getNotas', 1771 }; 1772 1773 const criar_toast = this.criarToast; 1774 const valida_resize_notas = this.validaResizeNotas; 1775 1776 try { 1777 $.get(`${__SERVER__}/model/notas/notas.php`, data, (data) => { 1778 try { 1779 data = JSON.parse(data); 1780 } catch (e) { 1781 data = data; 1782 } 1783 1784 data.total_registros = data.slice(-1)[0].total_registros; 1785 1786 if (data) { 1787 router.history.current.matched[0].instances.default.notas = data; 1788 valida_resize_notas(); 1789 1790 router.history.current.matched[0].instances.default.is_safari = IS_SAFARI; 1791 router.history.current.matched[0].instances.default.mostrar_cinco_notas = data.total_registros <= SLICE_NOTA; 1792 router.history.current.matched[0].instances.default.carregar_mais_
1792notas = !router.history.current.matched[0].instances.default.mostrar_cinco_notas; 1793 1794 $(document).ready(() => { 1795 app.loading = false; 1796 router.history.current.matched[0].instances.default.loading = false; 1797 validaActiveClass('#pg_nota'); 1798 }); 1799 1800 return; 1801 } 1802 1803 $(document).ready(() => { 1804 app.loading = false; 1805 router.history.current.matched[0].instances.default.loading = false; 1806 validaActiveClass('#pg_nota'); 1807 }); 1808 1809 router.history.current.matched[0].instances.default.notas = []; 1810 }).fail((e) => { 1811 router.history.current.matched[0].instances.default.notas = []; 1812 router.history.current.matched[0].instances.default.mostrar_cinco_notas = false; 1813 $(document).ready(() => { 1814 app.loading = false; 1815 router.history.current.matched[0].instances.default.loading = false; 1816 validaActiveClass('#pg_nota'); 1817 }); 1818 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1819 }); 1820 } catch (e) { 1821 return `Exception Class HotsiteWeb -> buscarNotas() -> ${e}`; 1822 } 1823 } 1824 1825 imprimirNota(id_saida) { 1826 this.restoreModalVariavel(); 1827 1828 const data = { 1829 ID_SAIDA: id_saida || 0, 1830 APP: app.cordova_app ? 'S' : 'N', 1831 ACTION: 'getImprimirNota', 1832 }; 1833 1834 const criar_toast = this.criarToast; 1835 app.loading_modal = true; 1836 1837 try { 1838 if (data.APP === 'S') { 1839 app.loading = true; 1840 1841 const fileTransfer = new FileTransfer(); 1842 const fileURL = `${cordova.file.dataDirectory}notas.pdf`; 1843 const uri = `${__SERVER__}/model/notas/notas.php?ID_SAIDA=${data.ID_SAIDA}&APP=${data.APP}&ACTION=${data.ACTION}`; 1844 1845 fileTransfer.download(uri, fileURL, 1846 (entry) => { 1847 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 1848 error(e) { 1849 app.loading = false; 1850 alert('Instale um leitor de arquivo .pdf!'); 1851 }, 1852 success(e) { 1853 app.loading = false; 1854 }, 1855 }); 1856 }, 1857 (e) => { 1858 app.loading = false; 1859 alert('Erro ao baixar arquivo!'); 1860 }, false, {}); 1861 } else { 1862 $.get(`${__SERVER__}/model/notas/notas.php`, data, (data) => { 1863 if (typeof window.ReactNativeWebView !== 'undefined') { 1864 data = JSON.parse(data); 1865 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 1866 document.getElementById('modalImpressaoClose').click(); 1867 postMessageMobile('base64', JSON.stringify({ 1868 base: data[0].mensagem.base_pdf, 1869 nome: btoa((Math.floor(Math.random() * 9999) + 1000)) + data[1], 1870 })).then( 1871 (retorno) => { 1872 $('#btn_imprimir_fat_').attr('disabled', false); 1873 if (JSON.parse(retorno.data).retorno == 'success') { 1874 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 1875 } else { 1876 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1877 } 1878 }, 1879 ); 1880 } else { 1881 if (data != '<strong>TCPDF ERROR: </strong>[Image] Unable to get the size of the image: /var/www/includes/nfe/images/logo.jpg') { 1882 data = JSON.parse(data); 1883 } 1884 1885 if (data[2] == 'true') { 1886 const xmlHttp = new XMLHttpRequest(); 1887 xmlHttp.open('GET', `${__SERVER__}/model/notas/notas.php?APP=N&ACTION=retornarArquivo&CAMINHO=${data[1]}`, true); 1888 xmlHttp.responseType = 'blob'; 1889 xmlHttp.onreadystatechange = function (e) { 1890 if (xmlHttp.readyState === 4 && (xmlHttp.status === 200 || xmlHttp.status === 0)) { 1891 const link = document.createElement('a'); 1892 link.href = URL.createObjectURL(xmlHttp.response); 1893 link.download = 'Nota.pdf'; 1894 link.click(); 1895 document.getElementById('modalImpressaoClose').click(); 1896 } 1897 }; 1898 xmlHttp.send(); 1899 } 1900 1901 app.loading_modal = false;
1902 if (data != '' && data != undefined && !navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile/i)) { 1903 if (data[0].tipo == 'sucesso') { 1904 return app.modal_url = data[0].mensagem.base_pdf; 1905 } 1906 criar_toast('2000', 'Erro!', 'Ocorreu um erro ao imprimir a nota.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1907 } 1908 } 1909 }).fail((e) => { 1910 app.modal_url = ''; 1911 app.loading_modal = false; 1912 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 1913 }); 1914 } 1915 } catch (e) { 1916 return `Exception Class HotsiteWeb -> imprimirNota() -> ${e}`; 1917 } 1918 } 1919 1920 /** 1921 * Contratos 1922 */ 1923 buscarPlanos(slice, home, criar_toast_pendencia, pg_planos, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function) { 1924 const data = { 1925 SLICE: slice || this.slice, 1926 HOME: home || false, 1927 ACTION: 'getPlanos', 1928 }; 1929 1930 var criar_toast_pendencia = criar_toast_pendencia || this.criarToastPendencia; 1931 var valida_resize_home = valida_resize_home || this.validaResizeHome; 1932 var valida_resize_planos = valida_resize_planos || this.validaResizePlanos; 1933 var valida_loading_function = valida_loading_function || this.validaLoading; 1934 1935 try { 1936 $.get(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 1937 try { 1938 data = JSON.parse(data); 1939 } catch (e) { 1940 data = data; 1941 } 1942 1943 if (data != '' && data != undefined) { 1944 if (data.num_contratos_dash > 0 && app.pg_plano === 'S') { 1945 if (home == true) { 1946 const contratoSuspenso = data.planos[0].contrato_suspenso; 1947 const statusVelocidade = data.planos[0].status_velocidade ? data.planos[0].status_velocidade : null; 1948 const statusInternet = data.planos[0].status_internet ? data.planos[0].status_internet : null; 1949 const desbloqueioConfianca = data.planos[0].desbloqueio_confianca ? data.planos[0].desbloqueio_confianca : null; 1950 1951 if (desbloqueioConfianca === 'S' && (statusInternet === 'CA' || statusInternet === 'CM') && contratoSuspenso === 'N') { 1952 criar_toast_pendencia('12000', 'Opa!', 'Desculpe, sua internet está temporariamente bloqueada pois existem mensalidades em atraso. Para usar a internet novamente, solicite o desbloqueio de confiança ou faça você mesmo pela central do assinante, na parte de contratos. Caso já tenha efetuado o pagamento, entre em contato conosco.', 'receipt', 'red', 'notificacao_planos', 'Ver contrato', 'planos'); 1953 } else if (statusInternet === 'FA' && statusVelocidade === 'R' && contratoSuspenso === 'N') { 1954 criar_toast_pendencia('12000', 'Opa!', 'Seu contrato está com redução de velocidade devido a pendências financeiras. Por favor regularize sua situação financeira o quanto antes e aproveite a melhor internet!', 'receipt', 'red', 'notificacao_planos', 'Ver contrato', 'planos'); 1955 } else if (contratoSuspenso !== 'S') { 1956 criar_toast_pendencia('12000', 'Opa!', 'Parece que você tem pendências nos contratos!', 'receipt', 'red', 'notificacao_planos', 'Ver contrato', 'planos'); 1957 } 1958 } 1959 } 1960 1961 data.contratos_dash = data.contratos_dash.filter((contrato) => contrato.data_assinatura === '0000-00-00'); 1962 router.history.current.matched[0].instances.default.planos = data; 1963 router.history.current.matched[0].instances.default.is_safari = IS_SAFARI; 1964 1965 if (data.total_registros <= SLICE_PLANO) { 1966 router.history.current.matched[0].instances.default.mostrar_cinco_planos = true; 1967 } else { 1968 router.history.current.matched[0].instances.default.mostrar_cinco_planos = false;
1969 } 1970 1971 if (pg_planos) { 1972 valida_resize_planos(); 1973 } else { 1974 valida_resize_home(); 1975 } 1976 1977 $(document).ready(() => { 1978 if (valida_loading) { 1979 LOADING_PLANO = false; 1980 valida_loading_function(); 1981 } else { 1982 app.loading = false; 1983 router.history.current.matched[0].instances.default.loading = false; 1984 validaActiveClass('#pg_plano'); 1985 } 1986 }); 1987 return; 1988 } 1989 1990 router.history.current.matched[0].instances.default.planos = { 1991 planos: [], 1992 pre_contratos: [], 1993 contratos_dash: [], 1994 financeiro_atrasado: [], 1995 ativo_bloqueado: [], 1996 ativo_bloqueado_desbloqueio_n: [], 1997 ativo_desbloqueado: [], 1998 ativo: [], 1999 outros_status: [], 2000 }; 2001 2002 $(document).ready(() => { 2003 if (valida_loading) { 2004 LOADING_PLANO = false; 2005 valida_loading_function(); 2006 } else { 2007 app.loading = false; 2008 router.history.current.matched[0].instances.default.loading = false; 2009 validaActiveClass('#pg_plano'); 2010 } 2011 }); 2012 }).fail((e) => { 2013 router.history.current.matched[0].instances.default.planos = []; 2014 2015 $(document).ready(() => { 2016 if (valida_loading) { 2017 LOADING_PLANO = false; 2018 valida_loading_function(); 2019 } else { 2020 app.loading = false; 2021 router.history.current.matched[0].instances.default.loading = false; 2022 validaActiveClass('#pg_plano'); 2023 } 2024 }); 2025 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2026 }); 2027 } catch (e) { 2028 return `Exception Class HotsiteWeb -> buscarPlanos() -> ${e}`; 2029 } 2030 } 2031
2032 desbloqueioConfianca(id_contrato, valida_loading) { 2033 const data = { 2034 ID_CONTRATO: id_contrato || 0, 2035 ACTION: 'setDesbloqueioConfianca', 2036 }; 2037 app.loading = true; 2038 const criar_toast = this.criarToast; 2039 const buscar_planos = this.buscarPlanos; 2040 const valida_resize_home = this.validaResizeHome; 2041 const valida_resize_planos = this.validaResizePlanos; 2042 const valida_loading_function = this.validaLoading; 2043 2044 try { 2045 $.get(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 2046 try { 2047 data = JSON.parse(data); 2048 } catch (e) { 2049 data = data; 2050 } 2051 2052 if (data != '' && data != undefined) { 2053 if (data[0].tipo == 'sucesso') { 2054 criar_toast('5000', 'Sucesso!', data[0].mensagem, 'fas fa-check', 'green', 'id_sucesso'); 2055 } else { 2056 criar_toast('2000', 'Erro!', `Ocorreu um erro ao desbloquear o plano :${data[0].mensagem}`, 'fas fa-exclamation-circle', 'red', 'id_erro'); 2057 } 2058 2059 if (valida_loading) { 2060 return buscar_planos(2000000000, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2061 } 2062 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2063 } 2064 }).fail((e) => { 2065 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2066 2067 if (valida_loading) { 2068 return buscar_planos(2000000000, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2069 } 2070 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2071 }); 2072 } catch (e) { 2073 return `Exception Class HotsiteWeb -> desbloqueioConfianca() -> ${e}`; 2074 } 2075 } 2076
2077 liberacaoSuspensaoParcial(id_contrato, valida_loading) { 2078 const data = { 2079 ID_CONTRATO: id_contrato || 0, 2080 ACTION: 'setLiberacaoSuspensaoParcial', 2081 }; 2082 app.loading = true; 2083 const criar_toast = this.criarToast; 2084 const buscar_planos = this.buscarPlanos; 2085 const valida_resize_home = this.validaResizeHome; 2086 const valida_resize_planos = this.validaResizePlanos; 2087 const valida_loading_function = this.validaLoading; 2088 2089 try { 2090 $.get(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 2091 try { 2092 data = JSON.parse(data); 2093 } catch (e) { 2094 data = data; 2095 } 2096 2097 if (data != '' && data != undefined) { 2098 if (data[0].type == 'success') { 2099 criar_toast('5000', 'Sucesso!', data[0].mensagem, 'fas fa-check', 'green', 'id_sucesso'); 2100 } else { 2101 criar_toast('2000', 'Erro!', `Ocorreu um erro ao liberar o plano :${data[0].mensagem}`, 'fas fa-exclamation-circle', 'red', 'id_erro'); 2102 } 2103 2104 if (valida_loading) { 2105 return buscar_planos(2000000000, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2106 } 2107 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2108 } 2109 2110 if (!data.length) { 2111 criar_toast('2000', 'Erro!', 'Ocorreu um erro ao liberar o plano. Por favor, tente novamente ou entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2112 app.loading = false; 2113 } 2114 }).fail((e) => { 2115 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2116 2117 if (valida_loading) { 2118 return buscar_planos(2000000000, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2119 } 2120 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2121 }); 2122 } catch (e) { 2123 return `Exception Class HotsiteWeb -> liberacaoSuspensaoParcial() -> ${e}`; 2124 } 2125 } 2126 2127 salvarAssinatura(id_contrato, assinatura_base, valida_loading) { 2128 const data = { 2129 ID_CONTRATO: id_contrato || 0, 2130 ASSINATURA_BASE: assinatura_base || '', 2131 ACTION: 'setSalvarAssinatura', 2132 }; 2133 2134 PAGE_PLANOS = !!valida_loading; 2135 app.loading = true; 2136 2137 const criar_toast = this.criarToast; 2138 const buscar_planos = this.buscarPlanos; 2139 const valida_resize_home = this.validaResizeHome; 2140 const valida_resize_planos = this.validaResizePlanos; 2141 const valida_loading_function = this.validaLoading; 2142 2143 try { 2144 $.post(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 2145 if (data != '<strong>TCPDF ERROR: </strong>Please provide a certificate file and password!') { 2146 data = JSON.parse(data); 2147 } 2148 2149 if (data != '' && data != undefined) { 2150 if (data[0].tipo == 'sucesso') { 2151 app.loading = false; 2152 criar_toast('4000', 'Sucesso!', 'O contrato foi assinado com sucesso.', 'fas fa-check', 'green', 'id_sucesso'); 2153 } else { 2154 app.loading = false; 2155 criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 2156 } 2157 if (valida_loading) { 2158 return buscar_planos(2000000000, false, criar_toast, false, valida_loading, valida_resize_home, valida_resize_planos, val
2158ida_loading_function); 2159 } 2160 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2161 } 2162 }).fail((e) => { 2163 if (valida_loading) { 2164 return buscar_planos(2000000000, false, criar_toast, false, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2165 } 2166 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2167 2168 app.loading = false; 2169 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2170 }); 2171 } catch (e) { 2172 return `Exception Class HotsiteWeb -> desbloqueioConfianca() -> ${e}`; 2173 } 2174 } 2175 2176 salvarAssinaturaTermo(id_contrato, assinatura_base, valida_loading, id_termo, cliente_contrato_assinatura_termo_id) { 2177 const data = { 2178 ID_CONTRATO: id_contrato || 0, 2179 ASSINATURA_BASE: assinatura_base || '', 2180 ACTION: 'setSalvarAssinaturaTermo', 2181 ID_TERMO: id_termo, 2182 CLIENTE_CONTRATO_ASSINATURA_TERMO_ID: cliente_contrato_assinatura_termo_id, 2183 }; 2184 2185 let disparaAjax = false; 2186 2187 PAGE_PLANOS = !!valida_loading; 2188 app.loading = true; 2189 2190 const criar_toast = this.criarToast; 2191 const buscar_planos = this.buscarPlanos; 2192 const valida_resize_home = this.validaResizeHome; 2193 const valida_resize_planos = this.validaResizePlanos; 2194 const valida_loading_function = this.validaLoading; 2195 2196 const assinatura = data.ASSINATURA_BASE; 2197 2198 if (assinatura.length > 1800) { 2199 data.ASSINATURA_BASE = assinatura; 2200 disparaAjax = true; 2201 } 2202 2203 try { 2204 if (disparaAjax) { 2205 $.ajax({ 2206 url: `${__SERVER__}/model/planos/planos.php`, 2207 type: 'POST', 2208 data, 2209 }).done((data) => { 2210 if (data != '<strong>TCPDF ERROR: </strong>Please provide a certificate file and password!') { 2211 data = JSON.parse(data); 2212 } 2213 2214 if (data != '' && data != undefined && data != null) { 2215 if (data[0].tipo == 'sucesso') { 2216 app.loading = false; 2217 router.history.current.matched[0].instances.default.assinatura_termo = false; 2218 criar_toast('4000', 'Sucesso!', data[0].mensagem, 'fas fa-check', 'green', 'id_sucesso'); 2219 } else { 2220 app.loading = false; 2221 criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 2222 } 2223 2224 if (valida_loading) { 2225 return buscar_planos(2000000000, false, criar_toast, false, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2226 } 2227 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2228 } 2229 }).fail(() => { 2230 if (valida_loading) { 2231 return buscar_planos(2000000000, false, criar_toast, false, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2232 } 2233 return buscar_planos(SLICE_PLANO, false, criar_toast, true, valida_loading, valida_resize_home, valida_resize_planos, valida_loading_function); 2234 2235 app.loading = false; 2236 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2237 $('#btn_enviar_assinatura').prop('disabled', false); 2238 }); 2239 } 2240 } catch (e) { 2241 return `Exception --> ${e}`; 2242 } 2243 } 2244 2245 imprimirPlano(id_contrato, id_termo = 0, cliente_contrato_assinatura_termo_id = 0) { 2246 this.restoreModalVariavel(); 2247 2248 const data = { 2249 ID_CONTRATO: id_contrato || 0, 2250 APP: app.cordova_app ? 'S' : 'N', 2251 ACTION: 'getImprimirPlano', 2252 ID_TERMO: id_termo || null, 2253 CLIENTE_CONTRATO_ASSINATURA_TERMO_ID: cliente_contrato_assinatura_termo_id || null, 2254 }; 2255 2256 const criar_toast = this.criarToast; 2257 app.loading_modal = true; 2258 2259 try { 2260 if (data.APP === 'S') { 2261 app.loading = true; 2262 2263 const fileTransfer = new FileTransfer(); 2264 const fileURL = `${cordova.file.dataDirectory}contrato.pdf`; 2265 const uri = `${__SERVER__}/model/planos/planos.php?ID_CONTRATO=${data.ID_CONTRATO}&APP=${data.APP}&ACTION=${data.ACTION}&ID_TERMO=${data.ID_TERMO}&CLIENTE_CONTRATO_ASSINATURA_TERMO_ID=${data.CLIENTE_CONTRATO_ASSINATURA_TERMO_ID}`; 2266 2267 fileTransfer.download(uri, fileURL, 2268 (entry) => { 2269 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 2270 error(e) { 2271 app.loading = false;
2272 alert('Instale um leitor de arquivo .pdf!'); 2273 }, 2274 success(e) { 2275 app.loading = false; 2276 // alert('Abriu certo!'); 2277 }, 2278 }); 2279 }, 2280 (e) => { 2281 app.loading = false; 2282 alert('Erro ao baixar arquivo!'); 2283 }, false, {}); 2284 } else { 2285 $.get(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 2286 try { 2287 data = JSON.parse(data); 2288 } catch (e) { 2289 data = data; 2290 } 2291 if (typeof window.ReactNativeWebView !== 'undefined') { 2292 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 2293 document.getElementById('modalImpressaoClose').click(); 2294 postMessageMobile('base64', JSON.stringify({ 2295 base: data[0].mensagem.base_pdf, 2296 nome: btoa(`${Math.floor(Math.random() * 9999) + 1000}arquivo.pdf`), 2297 })).then( 2298 (retorno) => { 2299 $('#btn_imprimir_fat_').attr('disabled', false); 2300 if (JSON.parse(retorno.data).retorno == 'success') { 2301 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 2302 } else { 2303 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2304 } 2305 }, 2306 ); 2307 } else { 2308 if (data[2] == 'true') { 2309 const xmlHttp = new XMLHttpRequest(); 2310 xmlHttp.open('GET', `${__SERVER__}/model/planos/planos.php?APP=N&ACTION=retornarArquivo&CAMINHO=${data[1]}`, true); 2311 xmlHttp.responseType = 'blob'; 2312 xmlHttp.onreadystatechange = function (e) { 2313 if (xmlHttp.readyState === 4 && (xmlHttp.status === 200 || xmlHttp.status === 0)) { 2314 const link = document.createElement('a'); 2315 link.href = URL.createObjectURL(xmlHttp.response); 2316 link.download = 'ContratoInternet.pdf'; 2317 link.click(); 2318 2319 document.getElementById('modalImpressaoClose').click(); 2320 } 2321 }; 2322 xmlHttp.send(); 2323 } 2324 2325 if (data != '' && data != undefined) { 2326 app.loading_modal = false; 2327 if (data[0].tipo == 'sucesso') { 2328 if (!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile/i)) { 2329 return app.modal_url = data[0].mensagem.base_pdf; 2330 } 2331 } else { 2332 criar_toast('2000', 'Erro!', 'Ocorreu um erro ao imprimir o contrato.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2333 } 2334 } 2335 } 2336 }).fail((e) => { 2337 app.loading_modal = false; 2338 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2339 }); 2340 } 2341 } catch (e) { 2342 return `Exception Class HotsiteWeb -> imprimirPlano() -> ${e}`; 2343 } 2344 } 2345 2346 /** 2347 * Consumos 2348 */ 2349 buscarConsumos(valida_loading) { 2350 const data = { 2351 ACTION: 'getConsumo', 2352 }; 2353 2354 const criar_toast = this.criarToast; 2355 const valida_loading_function = this.validaLoading; 2356 2357 try { 2358 $.get(`${__SERVER__}/model/consumos/consumos.php`, data, (data) => { 2359 try { 2360 data = JSON.parse(data); 2361 } catch (e) { 2362 data = data; 2363 } 2364 2365 if (data != '' && data != undefined && !data[0]) { 2366 router.history.current.matched[0].instances.default.consumos = data; 2367 2368 if (data.consumo_diario.length && data.consumo_ultimo_mes.length && data.consumo_ultima_semana.length) { 2369 router.history.current.matched[0].instances.default.selected_diario = data.consumo_diario[0].login; 2370 router.history.current.matched[0].instances.default.selected_semanal = data.consumo_ultima_semana[0].login; 2371 router.history.current.matched[0].instances.default.selected_mensal = data.consumo_mensal[0].login; 2372 } 2373 2374 $(document).ready(() => { 2375 if (valida_loading) { 2376 LOADING_CONSUMO = false;
2377 valida_loading_function(); 2378 } else { 2379 app.loading = false; 2380 router.history.current.matched[0].instances.default.loading = false; 2381 validaActiveClass('#pg_consumo'); 2382 } 2383 }); 2384 2385 return; 2386 } 2387 2388 $(document).ready(() => { 2389 if (valida_loading) { 2390 LOADING_CONSUMO = false; 2391 valida_loading_function(); 2392 } else { 2393 app.loading = false; 2394 router.history.current.matched[0].instances.default.loading = false; 2395 validaActiveClass('#pg_consumo'); 2396 } 2397 }); 2398 2399 router.history.current.matched[0].instances.default.consumos = { 2400 consumo_mensal: [], 2401 consumo_diario: [], 2402 consumo_ultima_semana: [], 2403 consumo_ultimo_mes: [], 2404 }; 2405 }).fail((e) => { 2406 router.history.current.matched[0].instances.default.consumos = []; 2407 $(document).ready(() => { 2408 app.loading = false; 2409 router.history.current.matched[0].instances.default.loading = false; 2410 validaActiveClass('#pg_consumo'); 2411 }); 2412 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2413 }); 2414 } catch (e) { 2415 return `Exception Class HotsiteWeb -> buscarConsumos() -> ${e}`; 2416 } 2417 } 2418 2419 graficoConsumo(index, consumos_download, consumos_upload, labels, x_label) { 2420 $(document).ready(() => { 2421 const grafico_consumo = document.getElementById(index).getContext('2d'); 2422 consumos_download = consumos_download.map((item) => item.replace(',', '')); 2423 consumos_upload = consumos_upload.map((item) => item.replace(',', '')); 2424 2425 const graficoConsumo = new Chart(grafico_consumo, { 2426 type: 'line', 2427 data: { 2428 labels, 2429 datasets: [{ 2430 label: 'Download em GB', 2431 data: consumos_download, 2432 borderColor: '#2bcbba', 2433 backgroundColor: $(window).width() >= 460 ? '#2bcbba4a' : 'transparent', 2434 }, { 2435 label: 'Upload em GB', 2436 data: consumos_upload, 2437 borderColor: '#1E90FF', 2438 backgroundColor: $(window).width() >= 460 ? '#1E90FF4f' : 'transparent', 2439 }], 2440 }, 2441 options: { 2442 scales: { 2443 yAxes: [{ 2444 scaleLabel: { 2445 display: true, 2446 labelString: 'Consumo em GB', 2447 }, 2448 }], 2449 xAxes: [{ 2450 gridLines: { 2451 display: false, 2452 }, 2453 scaleLabel: { 2454 display: true, 2455 labelString: x_label, 2456 }, 2457 }], 2458 }, 2459 responsive: true, 2460 maintainAspectRatio: false, 2461 }, 2462 }); 2463 }); 2464 } 2465 2466 /** 2467 * Atendimentos 2468 */ 2469 buscarAtendimentos(slice, home, filtros, criar_toast_pendencia_atendimento, pg_atendimentos, valida_loading, valida_resize_home, valida_resize_atendimentos, valida_loading_function, validar_mensagem_lida) { 2470 const data = { 2471 SLICE: slice || this.slice, 2472 FILTROS: filtros || [], 2473 HOME: home || false, 2474 ACTION: 'getAtendimentos', 2475 }; 2476 2477 var criar_toast_pendencia_atendimento = criar_toast_pendencia_atendimento || this.criarToastPendenciaAtendimento;
2478 var valida_resize_home = valida_resize_home || this.validaResizeHome; 2479 var valida_resize_atendimentos = valida_resize_atendimentos || this.validaResizeAtendimentos; 2480 var valida_loading_function = valida_loading_function || this.validaLoading; 2481 var validar_mensagem_lida = validar_mensagem_lida || this.validarMensagemLida; 2482 2483 try { 2484 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2485 try { 2486 data = JSON.parse(data); 2487 } catch (e) { 2488 data = data; 2489 } 2490 2491 if (data != '' && data != undefined) { 2492 if (data.num_atendimentos > 0 && app.pg_atendimento === 'S') { 2493 if (home == true) { 2494 const id_atendimento_toast = data.atendimentos_dash[0].id; 2495 criar_toast_pendencia_atendimento('40000000', 'Opa!', 'Você tem uma nova mensagem de atendimento!', 'headset_mic', 'green', 'notificacao_atendimento', 'Ver mensagem', `/central_assinante_web/atendimentos/mensagens/${id_atendimento_toast}`, id_atendimento_toast, validar_mensagem_lida); 2496 } 2497 } 2498 2499 router.history.current.matched[0].instances.default.is_safari = IS_SAFARI; 2500 2501 if (data.atendimentos) { 2502 router.history.current.matched[0].instances.default.atendimentos = data; 2503 } 2504 2505 if (data.total_registros <= SLICE_ATENDIMENTO) { 2506 router.history.current.matched[0].instances.default.mostrar_cinco_atendimentos = true; 2507 } else { 2508 router.history.current.matched[0].instances.default.mostrar_cinco_atendimentos = false; 2509 } 2510 2511 if (pg_atendimentos) { 2512 valida_resize_atendimentos(); 2513 } else { 2514 valida_resize_home(); 2515 } 2516 2517 $(document).ready(() => { 2518 if (valida_loading) { 2519 LOADING_ATENDIMENTO = false; 2520 valida_loading_function(); 2521 } else { 2522 app.loading = false; 2523 router.history.current.matched[0].instances.default.loading = false; 2524 validaActiveClass('#pg_atendimento'); 2525 } 2526 }); 2527 2528 return; 2529 } 2530 2531 router.history.current.matched[0].instances.default.atendimentos = []; 2532 2533 $(document).ready(() => { 2534 if (valida_loading) { 2535 LOADING_ATENDIMENTO = false; 2536 valida_loading_function(); 2537 } else { 2538 app.loading = false; 2539 router.history.current.matched[0].instances.default.loading = false; 2540 } 2541 }); 2542 }).fail((e) => { 2543 router.history.current.matched[0].instances.default.atendimentos = []; 2544 2545 $(document).ready(() => { 2546 if (valida_loading) { 2547 LOADING_ATENDIMENTO = false; 2548 valida_loading_function(); 2549 } else { 2550 app.loading = false; 2551 router.history.current.matched[0].instances.default.loading = false; 2552 } 2553 }); 2554 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2555 }); 2556 } catch (e) { 2557 return `Exception Class HotsiteWeb -> buscarAtendimentos() -> ${e}`; 2558 } 2559 } 2560 2561 buscarMensagensAtendimento(id_atendimento, criar_toast) { 2562 const data = { 2563 ID_ATENDIMENTO: id_atendimento || 0, 2564 ACTION: 'getMensagens', 2565 }; 2566 2567 var criar_toast = criar_toast || this.criarToast; 2568 2569 try { 2570 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2571 try { 2572 data = JSON.parse(data); 2573 } catch (e) { 2574 data = data; 2575 } 2576 2577 if (data.tipo == 'erro') { 2578 router.replace('/central_assinante_web/'); 2579 } 2580 2581 if (typeof data.atendimento !== 'undefined') { 2582 if (data.atendimento != '') { 2583 router.history.current.matched[0].instances.default.atendimentos = data; 2584 2585 $(document).ready(() => { 2586 app.loading = false;
2587 router.history.current.matched[0].instances.default.enviar_mensagem = false; 2588 router.history.current.matched[0].instances.default.loading = false; 2589 validaActiveClass('#pg_atendimento'); 2590 }); 2591 return; 2592 } 2593 } 2594 2595 $(document).ready(() => { 2596 router.history.current.matched[0].instances.default.atendimentos = {}; 2597 app.loading = false; 2598 router.history.current.matched[0].instances.default.enviar_mensagem = false; 2599 router.history.current.matched[0].instances.default.loading = false; 2600 router.replace('/central_assinante_web/'); 2601 }); 2602 }).fail((e) => { 2603 router.history.current.matched[0].instances.default.atendimentos = []; 2604 2605 $(document).ready(() => { 2606 app.loading = false; 2607 router.history.current.matched[0].instances.default.enviar_mensagem = false; 2608 router.history.current.matched[0].instances.default.loading = false; 2609 validaActiveClass('#pg_atendimento'); 2610 }); 2611 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2612 }); 2613 } catch (e) { 2614 return `Exception Class HotsiteWeb -> buscarMensagensAtendimento() -> ${e}`; 2615 } 2616 } 2617 2618 enviarMensagem(id_atendimento, mensagem) { 2619 const data = { 2620 ID_ATENDIMENTO: id_atendimento || 0, 2621 MENSAGEM: mensagem || '', 2622 ACTION: 'setMensagem', 2623 }; 2624 2625 const criar_toast = this.criarToast; 2626 const buscar_mensagens_atendimento = this.buscarMensagensAtendimento; 2627 2628 try { 2629 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2630 data = JSON.parse(data); 2631 2632 if (data != '' && data != undefined) { 2633 if (data[0].tipo == 'sucesso') { 2634 criar_toast('2000', 'Sucesso!', data[0].mensagem, 'fas fa-check', 'green', 'id_sucesso'); 2635 router.history.current.matched[0].instances.default.nova_mensagem = ''; 2636 } else { 2637 criar_toast('4000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 2638 } 2639 2640 return buscar_mensagens_atendimento(id_atendimento, criar_toast); 2641 } 2642 }).fail((e) => { 2643 buscar_mensagens_atendimento(id_atendimento, criar_toast); 2644 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2645 }); 2646 } catch (e) { 2647 return `Exception Class HotsiteWeb -> enviarMensagem() -> ${e}`; 2648 } 2649 } 2650 2651 validarMensagemLida(id_atendimento) { 2652 const data = { 2653 ID_ATENDIMENTO: id_atendimento || 0, 2654 ACTION: 'setMensagemVisualizadaCliente', 2655 }; 2656 2657 try { 2658 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2659 data = JSON.parse(data); 2660 2661 if (data != '' && data != undefined) { 2662 if (data[0].tipo == 'erro') { 2663 console.log(`erro: ${data[0].mensagem}`); 2664 } 2665 } 2666 }).fail((e) => { 2667 console.log(`Ocorreu algum erro no servidor -> STATUS: ${e.statusText}`); 2668 }); 2669 } catch (e) { 2670 return `Exception Class HotsiteWeb -> validarMensagemLida() -> ${e}`; 2671 } 2672 } 2673 2674 buscarProtocolo() { 2675 const data = { 2676 ACTION: 'getProtocoloAtendimento', 2677 }; 2678 2679 const criar_toast = this.criarToast; 2680 2681 try { 2682 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2683 data = JSON.parse(data); 2684 2685 if (data != '' && data != undefined) { 2686 if (!data[0].tipo) { 2687 router.history.current.matched[0].instances.default.atendimentos.protocolo_novo_atendimento = data; 2688 } else { 2689 criar_toast('2000', 'Erro!', 'Houve algum problema ao tentar gerar o protocolo de atendimento', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2690 } 2691 2692 $(document).ready(() => { 2693 app.loading = false;
2694 router.history.current.matched[0].instances.default.loading = false; 2695 validaActiveClass('#pg_atendimento'); 2696 }); 2697 } 2698 }).fail((e) => { 2699 router.history.current.matched[0].instances.default.atendimentos.protocolo_novo_atendimento = ''; 2700 $(document).ready(() => { 2701 app.loading = false; 2702 router.history.current.matched[0].instances.default.loading = false; 2703 validaActiveClass('#pg_atendimento'); 2704 }); 2705 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2706 }); 2707 } catch (e) { 2708 return `Exception Method buscarProtocolo() -> ${e}`; 2709 } 2710 } 2711 2712 buscarDepartamento() { 2713 const data = { 2714 ACTION: 'getDepartamentos', 2715 }; 2716 2717 const criar_toast = this.criarToast; 2718 2719 try { 2720 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2721 data = JSON.parse(data); 2722 2723 if (data != '' && data != undefined) { 2724 if (!data[0].tipo) { 2725 router.history.current.matched[0].instances.default.atendimentos.departamento_novo_atendimento = data; 2726 } else { 2727 criar_toast('2000', 'Erro!', 'Houve algum problema ao tentar listar os departamentos', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2728 } 2729 2730 $(document).ready(() => { 2731 app.loading = false; 2732 router.history.current.matched[0].instances.default.loading = false; 2733 validaActiveClass('#pg_atendimento'); 2734 }); 2735 } 2736 }).fail((e) => { 2737 router.history.current.matched[0].instances.default.atendimentos.departamento_novo_atendimento = []; 2738 $(document).ready(() => { 2739 app.loading = false; 2740 router.history.current.matched[0].instances.default.loading = false; 2741 validaActiveClass('#pg_atendimento'); 2742 }); 2743 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2744 }); 2745 } catch (e) { 2746 return `Exception Method buscarDepartamento() -> ${e}`; 2747 } 2748 } 2749 2750 buscarAssunto() { 2751 const data = { 2752 ACTION: 'getAssuntos', 2753 }; 2754 2755 const criar_toast = this.criarToast; 2756 2757 try { 2758 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2759 data = JSON.parse(data); 2760 2761 if (data != '' && data != undefined) { 2762 if (data.length > 0) { 2763 router.history.current.matched[0].instances.default.atendimentos.assunto_novo_atendimento = data; 2764 } else { 2765 criar_toast('2000', 'Erro!', 'Houve algum problema ao tentar listar os assuntos', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2766 } 2767 2768 $(document).ready(() => { 2769 app.loading = false; 2770 router.history.current.matched[0].instances.default.loading = false; 2771 validaActiveClass('#pg_atendimento'); 2772 }); 2773 } 2774 }).fail((e) => { 2775 router.history.current.matched[0].instances.default.atendimentos.assunto_novo_atendimento = []; 2776 $(document).ready(() => { 2777 app.loading = false; 2778 router.history.current.matched[0].instances.default.loading = false; 2779 validaActiveClass('#pg_atendimento'); 2780 }); 2781 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2782 }); 2783 } catch (e) { 2784 return `Exception Method buscarAssunto() -> ${e}`; 2785 } 2786 } 2787 2788 enviarNovoAtendimento(titulo, prioridade, id_ticket_setor, mensagem, status, assunto, protocolo, filtros) { 2789 const data = { 2790 TITULO: titulo || '', 2791 PRIORIDADE: prioridade || '', 2792 ID_TICKET_SETOR: id_ticket_setor || 0, 2793 MENSAGEM: mensagem || '', 2794 STATUS: status || '', 2795 ASSUNTO: assunto || '', 2796 PROTOCOLO: protocolo || '', 2797 FILTROS: filtros || [], 2798 ACTION: 'setNovoAtendimento', 2799 }; 2800 2801 const criar_toast = this.criarToast; 2802 2803 try { 2804 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2805 data = JSON.parse(data); 2806 2807 if (data != '' && data != undefined) { 2808 if (data[0].tipo == 'sucesso') { 2809 criar_toast('3000', 'Sucesso!', 'Seu atendimento foi aberto. Responderemos dentro de algumas horas 😉', 'fas fa-check', 'green', 'id_sucesso'); 2810 router.replace({ path: '/central_assinante_web/atendimentos' }); 2811 } else { 2812 criar_toast('5000', 'Erro!', 'Não foi possÃvel abrir o atendimento. Verifique se todos os campos estão preenchidos.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2813 } 2814 } 2815 }).fail((e) => { 2816 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2817 }); 2818 } catch (e) { 2819 return `Exception Class HotsiteWeb -> enviarNovoAtendimento() -> ${e}`; 2820 } 2821 } 2822 2823 finalizarAtendimento(id_atendimento, filtros, slice, mensagem_finalizacao, criar_toast, buscar_atendimentos, valida_resize_home, valida_resize_atendimentos, valida_loading_function, validar_mensagem_lida) { 2824 const data = { 2825 ID_ATENDIMENTO: id_atendimento || 0, 2826 MENSAGEM: mensagem_finalizacao || '', 2827 SLICE: slice || this.slice, 2828 FILTROS: filtros || [], 2829 ACTION: 'setFinalizarAtendimento', 2830 }; 2831 2832 app.loading = true; 2833 2834 var criar_toast = criar_toast || this.criarToast;
2835 var valida_resize_home = valida_resize_home || this.validaResizeHome; 2836 var valida_resize_atendimentos = valida_resize_atendimentos || this.validaResizeAtendimentos; 2837 var buscar_atendimentos = buscar_atendimentos || this.buscarAtendimentos; 2838 var valida_loading_function = valida_loading_function || this.validaLoading; 2839 2840 try { 2841 $.get(`${__SERVER__}/model/atendimentos/atendimentos.php`, data, (data) => { 2842 data = JSON.parse(data); 2843 if (data != '' && data != undefined) { 2844 if (data[0].tipo == 'sucesso') { 2845 criar_toast('2000', 'Sucesso!', 'O atendimento foi finalizado.', 'fas fa-check', 'green', 'id_sucesso'); 2846 } else { 2847 criar_toast('4000', 'Erro!', 'Ocorreu um erro ao finalizar o atendimento. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2848 } 2849 } 2850 return buscar_atendimentos(SLICE_ATENDIMENTO, false, [], criar_toast, true, false, valida_resize_home, valida_resize_atendimentos, valida_loading_function, validar_mensagem_lida); 2851 }).fail((e) => { 2852 buscar_atendimentos(SLICE_ATENDIMENTO, false, [], criar_toast, true, false, valida_resize_home, valida_resize_atendimentos, valida_loading_function, validar_mensagem_lida); 2853 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2854 }); 2855 } catch (e) { 2856 return `Exception Class HotsiteWeb -> finalizarAtendimento() -> ${e}`; 2857 } 2858 } 2859 2860 /** 2861 * Franquias 2862 */ 2863 aumentarNumeroPorcento(index) { 2864 const interval = setInterval(() => { 2865 if ($(`.count_${index}`).length) { 2866 clearInterval(interval); 2867 $(`.count_${index}`).each(function () { 2868 const counter = $(this).text(); 2869 $(this).prop('Counter', 0).animate({ 2870 Counter: counter, 2871 }, { 2872 duration: 2000, 2873 easing: 'swing', 2874 step(now) { 2875 $(this).text(parseFloat(now).toFixed(1)); 2876 }, 2877 }); 2878 }); 2879 } 2880 }, 200); 2881 } 2882 2883 moverBarraPorcentagem(index) { 2884 const interval = setInterval(() => { 2885 if ($(`.progress_${index}`).length) { 2886 clearInterval(interval); 2887 const porcentagem = ($(`.progress_${index}`).data('progress-percent')); 2888 $(`.bar_${index}`).stop().animate({ 2889 width: `${porcentagem}%`, 2890 }, 1600); 2891 } 2892 }, 200); 2893 } 2894 2895 buscarFranquias(slice, valida_loading) { 2896 const data = { 2897 SLICE: slice || this.slice, 2898 ACTION: 'getFranquias', 2899 }; 2900 2901 const criar_toast = this.criarToast; 2902 const mover_porcentagem = this.moverBarraPorcentagem; 2903 const aumentar_porcentagem = this.aumentarNumeroPorcento; 2904 const valida_loading_function = this.validaLoading; 2905 2906 try { 2907 $.get(`${__SERVER__}/model/consumos/consumos.php`, data, (data) => { 2908 data = JSON.parse(data); 2909 if (data != '' && data != undefined) { 2910 if (!data[0].tipo) { 2911 router.history.current.matched[0].instances.default.franquias = data; 2912 } 2913 2914 $(document).ready(function () { 2915 for (let x = 0; x < router.history.current.matched[0].instances.default.franquias.length; x++) { 2916 mover_porcentagem.call(this, x); 2917 aumentar_porcentagem.call(this, x); 2918 } 2919 if (valida_loading) { 2920 LOADING_FRANQUIA = false; 2921 valida_loading_function(); 2922 } 2923 }); 2924 2925 return; 2926 } 2927 2928 router.history.current.matched[0].instances.default.franquias = []; 2929 2930 $(document).ready(() => { 2931 if (valida_loading) { 2932 LOADING_FRANQUIA = false;
2933 valida_loading_function(); 2934 } 2935 }); 2936 }).fail((e) => { 2937 router.history.current.matched[0].instances.default.franquias = []; 2938 2939 $(document).ready(() => { 2940 if (valida_loading) { 2941 LOADING_FRANQUIA = false; 2942 valida_loading_function(); 2943 } 2944 }); 2945 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 2946 }); 2947 } catch (e) { 2948 return `Exception Class HotsiteWeb -> buscarFranquias() -> ${e}`; 2949 } 2950 } 2951 2952 /** RELATORIOS */ 2953 2954 validaAcessoRelatorios() { 2955 const data = { 2956 ACTION: 'getPendenciaQuitacaoDebito', 2957 }; 2958 2959 $(document).ready(() => { 2960 validaActiveClass('#pg_relatorios'); 2961 router.history.current.matched[0].instances.default.pg_declaracao_debito = app.pg_declaracao_debito; 2962 }); 2963 2964 const hs_web = new HotsiteWeb(); 2965 2966 try { 2967 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (data) => { 2968 try { 2969 data = JSON.parse(data); 2970 } catch (e) { 2971 data = data; 2972 } 2973 2974 if (data != '' && data != undefined) { 2975 if (data[0].tipo == 'sucesso') { 2976 router.history.current.matched[0].instances.default.possui_debito = false; 2977 return hs_web.getRamais(); 2978 } 2979 2980 router.history.current.matched[0].instances.default.possui_debito = true; 2981 return hs_web.getRamais(); 2982 } 2983 }).fail((e) => { 2984 router.history.current.matched[0].instances.default.possui_debito = true; 2985 return hs_web.getRamais(); 2986 }); 2987 } catch (e) { 2988 $(document).ready(() => { 2989 router.history.current.matched[0].instances.default.possui_debito = true; 2990 }); 2991 return hs_web.getRamais(); 2992 } 2993 } 2994 2995 getRamais() { 2996 const data = { 2997 ACTION: 'getRamais', 2998 }; 2999 3000 try { 3001 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (data) => { 3002 try { 3003 data = JSON.parse(data); 3004 } catch (e) { 3005 data = data; 3006 } 3007 if (data != '' && data != undefined) { 3008 if (data.tipo == 'sucesso') { 3009 $(document).ready(() => { 3010 app.loading = false; 3011 }); 3012 return router.history.current.matched[0].instances.default.ramais = data.mensagem; 3013 } 3014 $(document).ready(() => { 3015 app.loading = false; 3016 }); 3017 return router.history.current.matched[0].instances.default.ramais = []; 3018 } 3019 }).fail((e) => { 3020 $(document).ready(() => { 3021 app.loading = false; 3022 }); 3023 return router.history.current.matched[0].instances.default.ramais = []; 3024 }); 3025 } catch (e) { 3026 $(document).ready(() => { 3027 app.loading = false; 3028 router.history.current.matched[0].instances.default.ramais = []; 3029 }); 3030 return `Exception Class HotsiteWeb -> buscarFaturas() -> ${e}`; 3031 } 3032 } 3033 3034 getPeriodosRamal(ramal_selecionado) { 3035 const data = { 3036 ACTION: 'getPeriodosRamal', 3037 RAMAL: ramal_selecionado, 3038 }; 3039 3040 try { 3041 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (data) => { 3042 try { 3043 data = JSON.parse(data); 3044 } catch (e) { 3045 data = data; 3046 } 3047 if (data != '' && data != undefined) { 3048 if (data.tipo == 'sucesso') { 3049 $(document).ready(() => { 3050 app.loading = false;
3051 }); 3052 router.history.current.matched[0].instances.default.periodo_selecionado = 'Selecione um perÃodo...'; 3053 return router.history.current.matched[0].instances.default.periodos = data.mensagem; 3054 } 3055 $(document).ready(() => { 3056 app.loading = false; 3057 }); 3058 router.history.current.matched[0].instances.default.periodo_selecionado = 'Selecione um perÃodo...'; 3059 return router.history.current.matched[0].instances.default.periodos = []; 3060 } 3061 }).fail((e) => { 3062 $(document).ready(() => { 3063 app.loading = false; 3064 }); 3065 router.history.current.matched[0].instances.default.periodo_selecionado = 'Selecione um perÃodo...'; 3066 return router.history.current.matched[0].instances.default.periodos = []; 3067 }); 3068 } catch (e) { 3069 $(document).ready(() => { 3070 app.loading = false; 3071 router.history.current.matched[0].instances.default.periodo_selecionado = 'Selecione um perÃodo...'; 3072 router.history.current.matched[0].instances.default.periodos = []; 3073 }); 3074 return `Exception Class HotsiteWeb -> buscarFaturas() -> ${e}`; 3075 } 3076 } 3077 3078 imprimirDetalhamento(id_contrato) { 3079 this.restoreModalVariavel(); 3080 const criar_toast = this.criarToast; 3081 const data = { 3082 ID_CONTRATO: id_contrato || 0, 3083 APP: app.cordova_app ? 'S' : 'N', 3084 ACTION: 'getDetalhamentoFinanceiro', 3085 }; 3086 3087 app.loading_modal = true; 3088 3089 try { 3090 if (data.APP == 'S') { 3091 const fileTransfer = new FileTransfer(); 3092 const fileURL = `${cordova.file.dataDirectory}detalhamento.pdf`; 3093 const uri = `${__SERVER__}/model/planos/planos.php?ID_CONTRATO=${data.ID_CONTRATO}&APP=${data.APP}&ACTION=${data.ACTION}`; 3094 3095 fileTransfer.download(uri, fileURL, 3096 (entry) => { 3097 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 3098 error(e) { 3099 app.loading = false; 3100 alert('Instale um leitor de arquivo .pdf!'); 3101 }, 3102 success(e) { 3103 app.loading = false; 3104 }, 3105 }); 3106 }, 3107 (e) => { 3108 app.loading = false; 3109 alert('Erro ao baixar arquivo!'); 3110 }, false, {}); 3111 } else { 3112 $.get(`${__SERVER__}/model/planos/planos.php`, data, (data) => { 3113 try { 3114 data = JSON.parse(data); 3115 } catch (e) { 3116 data = data; 3117 } 3118 if (data != '' && data != undefined) { 3119 if (typeof window.ReactNativeWebView !== 'undefined') { 3120 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 3121 document.getElementById('modalImpressaoClose').click(); 3122 postMessageMobile('base64', JSON.stringify({ 3123 base: data[0].mensagem.base_pdf, 3124 nome: btoa(`${Math.floor(Math.random() * 9999) + 1000}detalhamento.pdf`), 3125 })).then( 3126 (retorno) => { 3127 $('#btn_imprimir_fat_').attr('disabled', false); 3128 if (JSON.parse(retorno.data).retorno == 'success') { 3129 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 3130 } else { 3131 criar_toast('2000', 'Erro!', `Ocorreu algum erro: ${data[0].mensagem}`, 'fas fa-exclamation-circle', 'red', 'id_erro'); 3132 } 3133 }, 3134 ); 3135 } else { 3136 if (data[0].tipo == 'sucesso') { 3137 $(document).ready(() => { 3138 app.loading = false;
3139 app.loading_modal = false; 3140 }); 3141 if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile/i)) { 3142 const link = document.createElement('a'); 3143 link.href = `data:application/octet-stream;base64,${data[0].mensagem.base_pdf}`; 3144 link.download = 'Detalhamento.pdf'; 3145 link.click(); 3146 document.getElementById('modalImpressaoClose').click(); 3147 } else { 3148 return app.modal_url = data[0].mensagem.base_pdf; 3149 } 3150 } else { 3151 criar_toast('2000', 'Erro!', `Ocorreu algum erro:${data[0].mensagem}`, 'fas fa-exclamation-circle', 'red', 'id_erro'); 3152 } 3153 3154 $(document).ready(() => { 3155 app.loading = false; 3156 app.loading_modal = false; 3157 }); 3158 return app.modal_url = ''; 3159 } 3160 } 3161 }).fail((e) => { 3162 $(document).ready(() => { 3163 app.loading = false; 3164 app.loading_modal = false; 3165 }); 3166 return app.modal_url = ''; 3167 }); 3168 } 3169 } catch (e) { 3170 return `Exception Class HotsiteWeb -> imprimirDetalhamento() -> ${e}`; 3171 } 3172 } 3173 3174 getAnosQuitacao() { 3175 const data = { ACTION: 'getAnosQuitacao' }; 3176 try { 3177 app.loading = true; 3178 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (response) => { 3179 $(document).ready(() => app.loading = false); 3180 const result = JSON.parse(response); 3181 if (result && result.tipo === 'sucesso' && result.mensagem.length) { 3182 router.history.current.matched[0].instances.default.ano_selecionado = result.mensagem[0]; 3183 return router.history.current.matched[0].instances.default.anos = result.mensagem; 3184 } 3185 return router.history.current.matched[0].instances.default.anos = []; 3186 }).fail(() => { 3187 $(document).ready(() => app.loading = false); 3188 return router.history.current.matched[0].instances.default.anos = []; 3189 }); 3190 } catch (e) { 3191 $(document).ready(() => app.loading = false); 3192 router.history.current.matched[0].instances.default.anos = []; 3193 return `Exception Class HotsiteWeb -> getAnosQuitacao() -> ${e}`; 3194 } 3195 } 3196 3197 imprimirExtratoVoip(ramal_selecionado, periodo_selecionado, valida_relatorio) { 3198 this.restoreModalVariavel(); 3199 3200 if (valida_relatorio === undefined) { 3201 this.validaTipoRelatorio(ramal_selecionado, periodo_selecionado); 3202 } else { 3203 const data = { 3204 ACTION: 'getExtratoVoip', 3205 RAMAL: ramal_selecionado, 3206 PERIODO: periodo_selecionado, 3207 APP: app.cordova_app ? 'S' : 'N', 3208 }; 3209 3210 try { 3211 if (data.APP === 'S') { 3212 const fileTransfer = new FileTransfer(); 3213 const fileURL = `${cordova.file.dataDirectory}relatorio.pdf`; 3214 const uri = `${__SERVER__}/model/relatorios/relatorios.php?RAMAL=${data.RAMAL}&PERIODO=${data.PERIODO}&APP=${data.APP}&ACTION=${data.ACTION}`; 3215 3216 fileTransfer.download(uri, fileURL, 3217 (entry) => { 3218 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 3219 error(e) { 3220 app.loading = false; 3221 alert('Instale um leitor de arquivo .pdf!'); 3222 }, 3223 success(e) { 3224 app.loading = false;
3225 }, 3226 }); 3227 }, 3228 (e) => { 3229 app.loading = false; 3230 alert('Erro ao baixar arquivo!'); 3231 }, false, {}); 3232 } else { 3233 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (data) => { 3234 try { 3235 data = JSON.parse(data); 3236 } catch (e) { 3237 data = data; 3238 } 3239 if (data != '' && data != undefined) { 3240 if (typeof window.ReactNativeWebView !== 'undefined') { 3241 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 3242 document.getElementById('modalImpressaoClose').click(); 3243 postMessageMobile('base64', JSON.stringify({ 3244 base: data[0].mensagem.base_pdf, 3245 nome: btoa((Math.floor(Math.random() * 9999) + 1000)) + data[1], 3246 })).then( 3247 (retorno) => { 3248 $('#btn_imprimir_fat_').attr('disabled', false); 3249 if (JSON.parse(retorno.data).retorno == 'success') { 3250 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 3251 } else { 3252 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 3253 } 3254 }, 3255 ); 3256 } else { 3257 if (data[0].tipo == 'sucesso') { 3258 $(document).ready(() => { 3259 app.loading = false; 3260 app.loading_modal = false; 3261 }); 3262 return app.modal_url = data[0].mensagem.base_pdf; 3263 } 3264 3265 $(document).ready(() => { 3266 app.loading = false; 3267 app.loading_modal = false; 3268 }); 3269 return app.modal_url = ''; 3270 } 3271 } 3272 }).fail((e) => { 3273 $(document).ready(() => { 3274 app.loading = false; 3275 app.loading_modal = false; 3276 }); 3277 return app.modal_url = ''; 3278 }); 3279 } 3280 } catch (e) { 3281 $(document).ready(() => { 3282 app.loading = false; 3283 app.loading_modal = false; 3284 app.modal_url = ''; 3285 }); 3286 return `Exception Class HotsiteWeb -> buscarFaturas() -> ${e}`; 3287 } 3288 } 3289 } 3290 3291 validaTipoRelatorio(ramal_selecionado, periodo_selecionado) { 3292 const tipo_relatorio = $('#tipo_relatorio_extrato_ligacao option:selected').val(); 3293 3294 const hs_web = new HotsiteWeb(); 3295 3296 if (tipo_relatorio === 'extrato_ligacoes') { 3297 hs_web.imprimirExtratoVoip(ramal_selecionado, periodo_selecionado, true); 3298 } else if (tipo_relatorio === 'extrato_detalhado') { 3299 hs_web.imprimirExtratoDetalhadoVoip(ramal_selecionado, periodo_selecionado); 3300 } 3301 } 3302 3303 /** Imprimir Extrato Detalhado VOIP */ 3304 imprimirExtratoDetalhadoVoip(ramal_selecionado, periodo_selecionado) { 3305 this.restoreModalVariavel(); 3306 3307 const data = { 3308 ACTION: 'getExtratoDetalhadoVoip', 3309 RAMAL: ramal_selecionado, 3310 PERIODO: periodo_selecionado, 3311 APP: app.cordova_app ? 'S' : 'N', 3312 }; 3313 3314 try { 3315 if (data.APP === 'S') { 3316 const fileTransfer = new FileTransfer(); 3317 const fileURL = `${cordova.file.dataDirectory}relatorio.pdf`; 3318 const uri = `${__SERVER__}/model/relatorios/relatorios.php?RAMAL=${data.RAMAL}&PERIODO=${data.PERIODO}&APP=${data.APP}&ACTION=${data.ACTION}`; 3319 3320 fileTransfer.download(uri, fileURL, 3321 (entry) => { 3322 cordova.plugins.fileOpener2.open(entry.toURL(), 'application/pdf', { 3323 error(e) { 3324 app.loading = false;
3325 alert('Instale um leitor de arquivo .pdf!'); 3326 }, 3327 success(e) { 3328 app.loading = false; 3329 }, 3330 }); 3331 }, 3332 (e) => { 3333 app.loading = false; 3334 alert('Erro ao baixar arquivo!'); 3335 }, false, {}); 3336 } else { 3337 $.get(`${__SERVER__}/model/relatorios/relatorios.php`, data, (data) => { 3338 try { 3339 data = JSON.parse(data); 3340 } catch (e) { 3341 data = data; 3342 } 3343 if (data != '' && data != undefined) { 3344 if (typeof window.ReactNativeWebView !== 'undefined') { 3345 $('#btn_imprimir_fat, #btn_imprimir_fat_, #btn_imprimir_fat_home, #btn_imprimir_fat_home_').attr('disabled', false); 3346 document.getElementById('modalImpressaoClose').click(); 3347 postMessageMobile('base64', JSON.stringify({ 3348 base: data[0].mensagem.base_pdf, 3349 nome: btoa((Math.floor(Math.random() * 9999) + 1000)) + data[1], 3350 })).then( 3351 (retorno) => { 3352 $('#btn_imprimir_fat_').attr('disabled', false); 3353 if (JSON.parse(retorno.data).retorno == 'success') { 3354 criar_toast('2000', 'Sucesso!', 'O seu download foi completado com êxito', 'fas fa-check', 'green', 'id_sucesso'); 3355 } else { 3356 criar_toast('2000', 'Erro!', 'Ocorreu algum erro ao fazer o download', 'fas fa-exclamation-circle', 'red', 'id_erro'); 3357 } 3358 }, 3359 ); 3360 } else { 3361 if (data[0].tipo == 'sucesso') { 3362 $(document).ready(() => { 3363 app.loading = false; 3364 app.loading_modal = false; 3365 }); 3366 return app.modal_url = data[0].mensagem.base_pdf; 3367 } 3368 3369 $(document).ready(() => { 3370 app.loading = false; 3371 app.loading_modal = false; 3372 }); 3373 return app.modal_url = ''; 3374 } 3375 } 3376 }).fail((e) => { 3377 $(document).ready(() => { 3378 app.loading = false; 3379 app.loading_modal = false; 3380 }); 3381 return app.modal_url = ''; 3382 }); 3383 } 3384 } catch (e) { 3385 $(document).ready(() => { 3386 app.loading = false; 3387 app.loading_modal = false; 3388 app.modal_url = ''; 3389 }); 3390 return `Exception Class HotsiteWeb -> buscarFaturas() -> ${e}`; 3391 } 3392 } 3393 3394 /** 3395 * SESSAO USER 3396 */ 3397 validaFNProject() { 3398 const data = { 3399 ACTION: 'getValidaFNProject', 3400 }; 3401 3402 const hs_web = new HotsiteWeb(); 3403 3404 $.ajax({ 3405 url: `${__SERVER__}/model/login/login.php`, 3406 type: 'GET', 3407 data, 3408 dataType: 'JSON', 3409 async: false, 3410 }).done((data) => { 3411 if (data != '' && data != undefined && data.tipo === 'sucesso') { 3412 if (!data.mensagem) { 3413 return hs_web.validaIPSessao(); 3414 } 3415 CAD_LOGIN = true; 3416 return; 3417 } 3418 CAD_LOGIN = true; 3419 }); 3420 } 3421 3422 getRecuperaSenhaTipo() { 3423 const data = { 3424 ACTION: 'getRecuperaSenhaTipo', 3425 }; 3426 return new Promise((resolve) => { 3427 try { 3428 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 3429 data = JSON.parse(data); 3430 router.history.current.matched[0].instances.default.recupera_senha_tipo = data.recupera_senha; 3431 resolve(data.recupera_senha); 3432 }).fail((e) => { 3433 router.replace('/central_assinante_web/login'); 3434 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 3435 }); 3436 } catch (e) { 3437 resolve(`Exception Class HotsiteWeb -> getRecuperaSenhaTipo() -> ${e}`); 3438 } 3439 }); 3440 } 3441 3442 validaCamposRecuperaSenha(login, cnpj_cpf = '', telefone = '') { 3443 const data = { 3444 ACTION: 'validaCamposRecuperaSenha', 3445 USER: login, 3446 CNPJ_CPF: cnpj_cpf, 3447 TELEFONE: telefone, 3448 }; 3449 return new Promise((resolve) => { 3450 try { 3451 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 3452 data = JSON.parse(data); 3453 resolve(data); 3454 }).fail((e) => { 3455 router.replace('/central_assinante_web/login'); 3456 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 3457 }); 3458 } catch (e) { 3459 resolve(`Exception Class HotsiteWeb -> getLoginHotsite() -> ${e}`); 3460 } 3461 }); 3462 } 3463 3464 buscarTipoLogin(criar_toast) { 3465 const data = {
3466 ID_CLIENTE: 0, 3467 ACTION: 'getTipoLogin', 3468 }; 3469 3470 var criar_toast = criar_toast || this.criarToast; 3471 3472 try { 3473 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 3474 data = JSON.parse(data); 3475 3476 if (data != '' && data != undefined) { 3477 if (data[0].tipo == 'sucesso') { 3478 app.tipo_login = data[0].mensagem.tipo_login; 3479 app.permitir_cadastros_usuario = data[0].mensagem.permitir_cadastros_usuario; 3480 const logo = data[0].mensagem.hotsite_logo_base; 3481 $(document).ready(() => { 3482 router.history.current.matched[0].instances.default.label_login = data[0].mensagem.login_campo_texto; 3483 router.history.current.matched[0].instances.default.tipo_login = data[0].mensagem.tipo_login; 3484 router.history.current.matched[0].instances.default.permitir_cadastros_usuario = data[0].mensagem.permitir_cadastros_usuario; 3485 $('.tipo_login_senha').removeClass('display-none'); 3486 $('.login-esqueceu-senha').removeClass('display-none'); 3487 3488 if (logo) { 3489 router.history.current.matched[0].instances.default.logo_base_login = `data:application/image;base64,${data[0].mensagem.hotsite_logo_base}`; 3490 } else { 3491 router.history.current.matched[0].instances.default.logo_base_login = `${__SERVER__}/assets/img/logo_padrao.png`; 3492 } 3493 3494 const { tipo_login } = router.history.current.matched[0].instances.default; 3495 if (tipo_login == 'C') { 3496 router.history.current.matched[0].instances.default.mask = true; 3497 } else { 3498 router.history.current.matched[0].instances.default.mask = false; 3499 } 3500 router.replace('/central_assinante_web/login'); 3501 }); 3502 } 3503 } 3504 }).fail((e) => { 3505 router.replace('/central_assinante_web/login'); 3506 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 3507 }); 3508 } catch (e) { 3509 return `Exception Class HotsiteWeb -> buscarTipoLogin() -> ${e}`; 3510 } 3511 } 3512 3513 proximaEtapa(etapa) { 3514 router.history.current.matched[0].instances.default.wizard = ((etapa == 'A' || etapa == 'C') ? etapa : 'A'); 3515 3516 setTimeout(() => router.history.current.matched[0].instances.default.mostrar_tela = ((etapa == 'A' || etapa == 'C') ? etapa : 'A'), 250); 3517 } 3518 3519 pegarDadosSessao() { 3520 const data = { 3521 ACTION: 'getValidaLoginHash', 3522 }; 3523 3524 const hs_web = new HotsiteWeb(); 3525 3526 $.ajax({ 3527 url: `${__SERVER__}/model/login/login.php`, 3528 type: 'GET', 3529 data, 3530 dataType: 'JSON', 3531 async: false, 3532 }).done((data) => { 3533 if (data != '' && data != undefined && data[0].tipo === 'sucesso') { 3534 if (data[0].mensagem.dados_cliente.acesso_automatico_central === 'S') { 3535 if (data[0].mensagem.dados_cliente.primeiro_acesso_central === 'S') { 3536 hs_web.buscarLogo(); 3537 3538 $(document).ready(() => { 3539 hs_web.proximaEtapa('A'); 3540 router.history.current.matched[0].instances.default.cliente_nome = data[0].mensagem.dados_cliente.razao; 3541 }); 3542 3543 CAD_LOGIN = false; 3544 return; 3545 } 3546 3547 if ((!data[0].mensagem.dados_cliente.hotsite_email || !data[0].mensagem.dados_cliente.senha) && data[0].mensagem.parametros_hotsite.tipo_login === 'E') { 3548 hs_web.buscarLogo(); 3549 $(document).ready(() => { 3550 hs_web.proximaEtapa('C'); 3551 }); 3552 CAD_LOGIN = false;
3553 return; 3554 } 3555 3556 hs_web.setPrimeiroAcessoOK(); 3557 hs_web.criarSessao(data); 3558 CAD_LOGIN = true; 3559 $(document).ready(() => { 3560 router.history.current.matched[0].instances.default.loading_one = false; 3561 }); 3562 return; 3563 } if (data[0].mensagem.dados_cliente.acesso_automatico_central === 'P' && data[0].mensagem.parametros_hotsite.acesso_automatico_central === 'S') { 3564 if (data[0].mensagem.dados_cliente.primeiro_acesso_central === 'S') { 3565 hs_web.buscarLogo(); 3566 3567 $(document).ready(() => { 3568 hs_web.proximaEtapa('A'); 3569 router.history.current.matched[0].instances.default.cliente_nome = data[0].mensagem.dados_cliente.razao; 3570 }); 3571 3572 CAD_LOGIN = false; 3573 return; 3574 } 3575 3576 if ((!data[0].mensagem.dados_cliente.hotsite_email || !data[0].mensagem.dados_cliente.senha) && data[0].mensagem.parametros_hotsite.tipo_login === 'E') { 3577 hs_web.buscarLogo(); 3578 $(document).ready(() => { 3579 hs_web.proximaEtapa('C'); 3580 }); 3581 CAD_LOGIN = false; 3582 return; 3583 } 3584 3585 hs_web.setPrimeiroAcessoOK(); 3586 hs_web.criarSessao(data); 3587 CAD_LOGIN = true; 3588 $(document).ready(() => { 3589 router.history.current.matched[0].instances.default.loading_one = false; 3590 }); 3591 return; 3592 } 3593 CAD_LOGIN = true; 3594 return true; 3595 } 3596 $(document).ready(() => { 3597 router.history.current.matched[0].instances.default.loading_one = false; 3598 }); 3599 CAD_LOGIN = true; 3600 }); 3601 } 3602 3603 validarDadosUsuarioPrimeiroAcesso() { 3604 const data = { 3605 ACTION: 'getValidaLoginHash', 3606 }; 3607 3608 const hs_web = new HotsiteWeb(); 3609 3610 $.ajax({ 3611 url: `${__SERVER__}/model/login/login.php`, 3612 type: 'GET', 3613 data, 3614 dataType: 'JSON', 3615 async: false, 3616 }).done((data) => { 3617 if (data != '' && data != undefined && data[0].tipo === 'sucesso') { 3618 if ((data[0].mensagem.dados_cliente.acesso_automatico_central === 'S') || (data[0].mensagem.dados_cliente.acesso_automatico_central === 'P' && data[0].mensagem.parametros_hotsite.acesso_automatico_central === 'S')) { 3619 if ((!data[0].mensagem.dados_cliente.hotsite_email || !data[0].mensagem.dados_cliente.senha) && data[0].mensagem.parametros_hotsite.tipo_login === 'E') { 3620 CAD_LOGIN = false; 3621 return hs_web.solicitarCadastroUser(); 3622 } 3623 3624 hs_web.setPrimeiroAcessoOK(); 3625 hs_web.criarSessao(data); 3626 CAD_LOGIN = true; 3627 } 3628 } else { 3629 $(document).ready(() => { 3630 router.history.current.matched[0].instances.default.loading_one = false; 3631 }); 3632 CAD_LOGIN = true; 3633 } 3634 }); 3635 } 3636 3637 solicitarCadastroUser() { 3638 $(document).ready(() => { 3639 const hs_web = new HotsiteWeb(); 3640 3641 router.history.current.matched[0].instances.default.loading_one = false; 3642 hs_web.buscarLogo(); 3643 hs_web.proximaEtapa('C'); 3644 }); 3645 } 3646 3647 buscarLogo() { 3648 const data = { 3649 ID_CLIENTE: 0, 3650 ACTION: 'getTipoLogin', 3651 }; 3652 3653 try { 3654 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 3655 data = JSON.parse(data); 3656 3657 if (data != '' && data != undefined) { 3658 if (data[0].tipo == 'sucesso') { 3659 const logo = data[0].mensagem.hotsite_logo_base; 3660 $(document).ready(() => { 3661 if (logo) { 3662 router.history.current.matched[0].instances.default.logo_base_login = `data:application/image;base64,${data[0].mensagem.hotsite_logo_base}`; 3663 } else { 3664 router.history.current.matched[0].instances.default.logo_base_login = `${__SERVER__}/assets/img/logo_padrao.png`; 3665 } 3666 app.loading = false;
3667 }); 3668 } 3669 } 3670 }); 3671 } catch (e) { 3672 return `Exception Class HotsiteWeb -> buscarLogo() -> ${e}`; 3673 } 3674 } 3675 3676 setPrimeiroAcessoOK() { 3677 const data = { 3678 ACTION: 'setPrimeiroAcessoOK', 3679 }; 3680 3681 $.ajax({ 3682 url: `${__SERVER__}/model/login/login.php`, 3683 type: 'GET', 3684 data, 3685 dataType: 'JSON', 3686 }); 3687 } 3688 3689 criarSessao(data) { 3690 sessionStorage.setItem('dados', JSON.stringify(data[0].mensagem.dados_cliente)); 3691 sessionStorage.setItem('parametros', JSON.stringify(data[0].mensagem.parametros_hotsite)); 3692 sessionStorage.setItem('sessao', JSON.stringify(data[0].mensagem.sessao)); 3693 localStorage.setItem('manter_conectado', $.cookie('manter_conectado') || 'N'); 3694 $.cookie('sessao', data[0].mensagem.sessao); 3695 3696 __DADOS_CLIENTE__.push(data[0].mensagem.dados_cliente); 3697 __PARAMETROS__.push(data[0].mensagem.parametros_hotsite); 3698 3699 let parametros = null; 3700 let dados_cliente = null; 3701 3702 parametros = JSON.parse(sessionStorage.getItem('parametros')); 3703 dados_cliente = JSON.parse(sessionStorage.getItem('dados')); 3704 3705 const fantasia = dados_cliente.fantasia.split(' ')[0]; 3706 const razao = dados_cliente.razao.split(' ')[0]; 3707 const cliente_nome = fantasia || razao; 3708 3709 app.cliente_nome = cliente_nome; 3710 app.pg_fatura = parametros.habilitar_financeiro; 3711 app.pg_plano = parametros.habilitar_contratos; 3712 app.pg_nota = parametros.mostra_menu_nota_app; 3713 app.pg_consumo = parametros.habilitar_extrato_internet; 3714 app.pg_atendimento = parametros.habilitar_suporte; 3715 app.pg_declaracao_debito = parametros.habilitar_declaracao_debitos; 3716 app.pg_alterar_senha = parametros.habilitar_altera_senha; 3717 app.pg_exibir_detalhamento_financeiro = parametros.exibir_detalhamento_financeiro; 3718 app.pg_connections = parametros.habilitar_menu_conexao; 3719 3720 app.url_app_android = parametros.url_app_android; 3721 3722 app.mostra_builder = parametros.FN; 3723 app.is_fn = parametros.FN; 3724 app.habilitar_contato = parametros.habilitar_contato; 3725 app.whatsapp_link = parametros.whatsapp_link; 3726 app.webchat_link = parametros.webchat_link; 3727 app.telefone_contato = parametros.telefone_contato; 3728 3729 if (parametros.hotsite_logo_base) { 3730 app.logo_base = `data:application/image;base64,${parametros.hotsite_logo_base}`; 3731 } else { 3732 app.logo_base = `${__SERVER__}/assets/img/logo.png`; 3733 } 3734 3735 FATURA_TOAST = true; 3736 PLANO_TOAST = true; 3737 ATENDIMENTO_TOAST = true; 3738 3739 app.habilitar_form_primeiro_acesso = false; 3740 if (dados_cliente.primeiro_acesso_central === 'S' && parametros.alterar_senha_primeiro_acesso === 'S' && dados_cliente.alterar_senha_primeiro_acesso !== 'N' && app.tipo_login === 'E') { 3741 app.habilitar_form_primeiro_acesso = true; 3742 } 3743 3744 $(document).ready(() => { 3745 router.history.current.matched[0].instances.default.loading = false; 3746 if (app.habilitar_form_primeiro_acesso) { 3747 new HotsiteWeb().removeCache(); 3748 router.history.current.matched[0].instances.default.habilitar_form_primeiro_acesso = true; 3749 // new HotsiteWeb().getRecuperaSenhaTipo().then((tipo)=>{ 3750 // router.history.current.matched[0].instances.default.recupera_senha_tipo=tipo 3751 router.replace('central_assinante_web/login'); 3752 // }); 3753 } else { 3754 router.replace('central_assinante_web'); 3755 } 3756 }); 3757 } 3758 3759 getTokenAPP() { 3760 return new Promise((resolve) => { 3761 let token = ''; 3762 if (typeof window.ReactNativeWebView !== 'undefined') { 3763 postMessageMobile('firebase_token').then((event) => { 3764 if (JSON.parse(event.data).token) { 3765 token = JSON.parse(event.data).token; 3766 } else { 3767 token = JSON.parse(event.data).retorno; 3768 } 3769 resolve(token); 3770 }); 3771 } else if (app.cordova_app) { 3772 window.FirebasePlugin.grantPermission(); 3773 window.FirebasePlugin.getToken((token) => { 3774 resolve(token); 3775 }); 3776 } else { 3777 resolve(); 3778 } 3779 }); 3780 } 3781 3782 validaIPSessao() { 3783 const hs_web = new HotsiteWeb(); 3784 hs_web.getTokenAPP().then((token) => { 3785 const isReact = typeof window.ReactNativeWebView !== 'undefined'; 3786 const data = { 3787 ACTION: 'getValidaIPSessao', 3788 APP: app.cordova_app || isReact ? 'S' : 'N', 3789 TOKEN: token, 3790 }; 3791 $.ajax({ 3792 url: `${__SERVER__}/model/login/login.php`, 3793 type: 'GET', 3794 data, 3795 dataType: 'JSON', 3796 async: false, 3797 }).done((data) => { 3798 const hs_web = new HotsiteWeb(); 3799 if (data != '' && data != undefined && data.tipo === 'sucesso') { 3800 $.cookie('sessao', data.mensagem); 3801 $.cookie('manter_conectado', 'N'); 3802 3803 return hs_web.pegarDadosSessao(); 3804 } 3805 $(document).ready(() => { 3806 router.history.current.matched[0].instances.default.loading = false;
3807 }); 3808 CAD_LOGIN = true; 3809 }); 3810 }); 3811 } 3812 3813 validarCriarUsuarioPrimeiroAcesso(email_user, pass_user, pass_two_user) { 3814 const data = { 3815 EMAIL: email_user || '', 3816 SENHA: pass_user || '', 3817 REPETIR_SENHA: pass_two_user || '', 3818 ACTION: 'setCadastrarLogin', 3819 }; 3820 3821 const hs_web = new HotsiteWeb(); 3822 3823 $.ajax({ 3824 url: `${__SERVER__}/model/login/login.php`, 3825 type: 'GET', 3826 data, 3827 dataType: 'JSON', 3828 async: false, 3829 }).done((data) => { 3830 if (data != '' && data != undefined && data[0].tipo === 'sucesso') { 3831 hs_web.setPrimeiroAcessoOK(); 3832 hs_web.criarSessao(data); 3833 CAD_LOGIN = true; 3834 } else { 3835 hs_web.criarToast('5000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 3836 $(document).ready(() => { 3837 router.history.current.matched[0].instances.default.loading_two = false; 3838 }); 3839 CAD_LOGIN = true; 3840 } 3841 }); 3842 } 3843 3844 iniciarSessao(user, password) { 3845 const isReact = typeof window.ReactNativeWebView !== 'undefined'; 3846 const data = { 3847 ID_CLIENTE: 0, 3848 USER: user || '', 3849 PASSWORD: password ? md5(password) : '', 3850 APP: app.cordova_app || isReact ? 'S' : 'N', 3851 TOKEN: '', 3852 ACTION: 'getValidaLogin', 3853 MANTER_CONNECTADO: router.history.current.matched[0].instances.default.manter_conectado, 3854 }; 3855 3856 const criar_toast = this.criarToast; 3857 const request = this.requestValidaLoginIniciarSessao; 3858 3859 try { 3860 if (typeof window.ReactNativeWebView !== 'undefined') { 3861 return postMessageMobile('firebase_token').then((event) => { 3862 if (JSON.parse(event.data).token) { 3863 data.TOKEN = JSON.parse(event.data).token; 3864 } else { 3865 data.TOKEN = JSON.parse(event.data).retorno; 3866 } 3867 request(data, criar_toast); 3868 }); 3869 } if (app.cordova_app) { 3870 window.FirebasePlugin.grantPermission(); 3871 window.FirebasePlugin.getToken((token) => { 3872 data.TOKEN = token; 3873 request(data, criar_toast); 3874 }); 3875 3876 return; 3877 } 3878 3879 request(data, criar_toast); 3880 } catch (e) { 3881 return `Exception Class HotsiteWeb -> iniciarSessao() -> ${e}`; 3882 } 3883 } 3884 3885 requestValidaLoginIniciarSessao(dados, criar_toast) { 3886 const manter_conectado = dados.MANTER_CONNECTADO; 3887 setTimeout(() => { 3888 if (router.history.current.matched[0].instances.default.loading) { 3889 router.replace('/central_assinante_web/'); 3890 } 3891 }, 15000); 3892 3893 $.post(`${__SERVER__}/model/login/login.php`, dados, (data) => { 3894 data = JSON.parse(data); 3895 3896 if (data != '' && data != undefined) { 3897 if (data[0].tipo == 'sucesso') { 3898 $(document).ready(() => { 3899 app.login = false; 3900 }); 3901 3902 if (router.history.current.matched[0].instances.default.manter_conectado === true) { 3903 localStorage.setItem('dados', JSON.stringify(data[0].mensagem.dados_cliente)); 3904 localStorage.setItem('parametros', JSON.stringify(data[0].mensagem.parametros_hotsite)); 3905 localStorage.setItem('sessao', JSON.stringify(data[0].mensagem.sessao)); 3906 localStorage.setItem('manter_conectado', $.cookie('manter_conectado')); 3907 $.cookie('sessao', data[0].mensagem.sessao); 3908 } else { 3909 sessionStorage.setItem('dados', JSON.stringify(data[0].mensagem.dados_cliente)); 3910 sessionStorage.setItem('parametros', JSON.stringify(data[0].mensagem.parametros_hotsite)); 3911 sessionStorage.setItem('sessao', JSON.stringify(data[0].mensagem.sessao)); 3912 $.cookie('sessao', data[0].mensagem.sessao); 3913 } 3914
3915 __DADOS_CLIENTE__.push(data[0].mensagem.dados_cliente); 3916 __PARAMETROS__.push(data[0].mensagem.parametros_hotsite); 3917 3918 let parametros = null; 3919 let dados_cliente = null; 3920 3921 if (router.history.current.matched[0].instances.default.manter_conectado === true) { 3922 parametros = JSON.parse(localStorage.getItem('parametros')); 3923 dados_cliente = JSON.parse(localStorage.getItem('dados')); 3924 } else { 3925 parametros = JSON.parse(sessionStorage.getItem('parametros')); 3926 dados_cliente = JSON.parse(sessionStorage.getItem('dados')); 3927 } 3928 3929 const fantasia = dados_cliente.fantasia.split(' ')[0]; 3930 const razao = dados_cliente.razao.split(' ')[0]; 3931 const identifica_nome = parametros.identificacao_central_assinante; 3932 const cliente_nome = (identifica_nome === 'F' ? (fantasia || razao) : razao); 3933 3934 app.pg_fatura = parametros.habilitar_financeiro; 3935 app.pg_plano = parametros.habilitar_contratos; 3936 app.pg_nota = parametros.mostra_menu_nota_app; 3937 app.pg_consumo = parametros.habilitar_extrato_internet; 3938 app.pg_atendimento = parametros.habilitar_suporte; 3939 app.pg_declaracao_debito = parametros.habilitar_declaracao_debitos; 3940 app.pg_alterar_senha = parametros.habilitar_altera_senha; 3941 app.pg_exibir_detalhamento_financeiro = parametros.exibir_detalhamento_financeiro; 3942 app.pg_connections = parametros.habilitar_menu_conexao; 3943 app.habilitar_recorrencia = parametros.habilitar_recorrencia !== 'N'; 3944 3945 app.url_app_android = parametros.url_app_android; 3946 3947 app.mostra_builder = parametros.FN; 3948 app.is_fn = parametros.FN; 3949 app.habilitar_contato = parametros.habilitar_contato; 3950 app.whatsapp_link = parametros.whatsapp_link; 3951 app.webchat_link = parametros.webchat_link; 3952 app.telefone_contato = parametros.telefone_contato; 3953 3954 if (dados_cliente.primeiro_acesso_central === 'S' && parametros.alterar_senha_primeiro_acesso === 'S' && dados_cliente.alterar_senha_primeiro_acesso !== 'N' && app.tipo_login === 'E') { 3955 app.habilitar_form_primeiro_acesso = true; 3956 } 3957 3958 if (parametros.FRANQUIA) { 3959 if (parametros.HOSTFRANQUIA) { 3960 const form = document.createElement('form'); 3961 form.method = 'POST'; 3962 form.action = `${parametros.HOSTFRANQUIA}central_assinante_web/model/login/login.php`; 3963 3964 const input = document.createElement('input'); 3965 input.name = 'USER'; 3966 input.value = dados.USER; 3967 3968 form.appendChild(input); 3969 3970 const token = document.createElement('input'); 3971 token.name = 'TOKEN'; 3972 token.value = dados.TOKEN; 3973 3974 form.appendChild(token); 3975 3976 const senha = document.createElement('input'); 3977 senha.name = 'PASSWORD'; 3978 senha.value = dados.PASSWORD; 3979 3980 form.appendChild(senha); 3981 3982 const action = document.createElement('input'); 3983 action.name = 'ACTION'; 3984 action.value = 'getValidaLogin2'; 3985 3986 form.appendChild(action); 3987 3988 const manter_conectado = document.createElement('input'); 3989 manter_conectado.name = 'MANTER_CONECTADO'; 3990 manter_conectado.value = router.history.current.matched[0].instances.default.manter_conectado ? 'S' : 'N'; 3991 3992 form.appendChild(manter_conectado); 3993 3994 document.body.appendChild(form); 3995 form.submit(); 3996 } 3997 } else { 3998 if (parametros.hotsite_logo_base) { 3999 app.logo_base = `data:application/image;base64,${parametros.hotsite_logo_base}`; 4000 } else { 4001 app.logo_base = `${__SERVER__}/assets/img/logo.png`; 4002 } 4003 4004 FATURA_TOAST = true; 4005 PLANO_TOAST = true; 4006 ATENDIMENTO_TOAST = true; 4007 4008 $(document).ready(() => { 4009 router.history.current.matched[0].instances.default.loading = false;
4010 if (app.habilitar_form_primeiro_acesso) { 4011 app.login = false; 4012 new HotsiteWeb().removeCache(); 4013 router.history.current.matched[0].instances.default.habilitar_form_primeiro_acesso = true; 4014 // new HotsiteWeb().getRecuperaSenhaTipo().then((tipo)=>{ 4015 // router.history.current.matched[0].instances.default.recupera_senha_tipo=tipo 4016 router.replace('central_assinante_web/login'); 4017 // }); 4018 } else { 4019 router.replace('central_assinante_web'); 4020 } 4021 }); 4022 } 4023 } else { 4024 router.history.current.matched[0].instances.default.loading = false; 4025 criar_toast('5000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', true, '', 'topCenter'); 4026 } 4027 } else { 4028 router.history.current.matched[0].instances.default.loading = false; 4029 criar_toast('5000', 'Erro!', data[0].mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', true, '', 'topCenter'); 4030 } 4031 }).fail((e) => { 4032 router.history.current.matched[0].instances.default.loading = false; 4033 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4034 }); 4035 } 4036 4037 validaSessao() { 4038 app.login = true; 4039 let sessao_existe = false; 4040 const hs_web = new HotsiteWeb(); 4041 4042 if (localStorage.getItem('manter_conectado')) { 4043 $.cookie('manter_conectado', localStorage.getItem('manter_conectado')); 4044 } 4045 4046 let dados = null; 4047 if (JSON.parse(localStorage.getItem('dados')) || JSON.parse(sessionStorage.getItem('dados'))) { 4048 if ($.cookie('manter_conectado') == 'S') { 4049 dados = JSON.parse(localStorage.getItem('dados')); 4050 } else { 4051 dados = JSON.parse(sessionStorage.getItem('dados')); 4052 } 4053 4054 if (!dados) { 4055 hs_web.removeCache(); 4056 return; 4057 } 4058 } 4059 4060 let parametros = null; 4061 let cacheParams = { 4062 local: JSON.parse(localStorage.getItem('parametros')), 4063 session: JSON.parse(sessionStorage.getItem('parametros')), 4064 } 4065 4066 if (cacheParams.local || cacheParams.session) { 4067 parametros = ($.cookie('manter_conectado') == 'S' && cacheParams.local) ? cacheParams.local : cacheParams.session 4068 if (parametros.hotsite_logo_base) { 4069 app.logo_base = `data:application/image;base64,${parametros.hotsite_logo_base}`; 4070 } else { 4071 app.logo_base = `${__SERVER__}/assets/img/logo.png`; 4072 } 4073 } 4074 4075 if (dados && parametros) { 4076 const fantasia = dados.fantasia.split(' ')[0]; 4077 const razao = dados.razao.split(' ')[0]; 4078 const identifica_nome = parametros.identificacao_central_assinante; 4079 const cliente_nome = (identifica_nome === 'F' ? (fantasia || razao) : razao); 4080 app.cliente_nome = cliente_nome; 4081 } 4082 4083 if (localStorage.getItem('sessao') || sessionStorage.getItem('sessao')) { 4084 var sessao = null; 4085 4086 if ($.cookie('manter_conectado') == 'S') { 4087 sessao = JSON.parse(localStorage.getItem('sessao')); 4088 } else { 4089 sessao = JSON.parse(sessionStorage.getItem('sessao')); 4090 } 4091 4092 if (sessao && !$.cookie('sessao')) { 4093 $.cookie('sessao', sessao); 4094 } 4095 4096 app.sessao = sessao; 4097 } 4098 4099 if (dados && parametros && sessao && $.cookie('manter_conectado')) { 4100 const dados_consulta = 'ACTION=getValidaSessao'; 4101 $.ajax({ 4102 url: `${__SERVER__}/model/login/login.php`, 4103 type: 'POST', 4104 data: dados_consulta, 4105 dataType: 'JSON', 4106 async: false, 4107 }).done((data) => { 4108 if (data[0].tipo == 'sucesso') { 4109 if (data[0].mensagem.FRANQUIA) { 4110 if (data[0].mensagem.HOSTFRANQUIA) { 4111 window.location.href = `${data[0].mensagem.HOSTFRANQUIA}central_assinante_web/`; 4112 } else { 4113 const hs_web = new HotsiteWeb(); 4114 hs_web.encerrarSessaoHotsite(); 4115 sessao_existe = false;
4116 } 4117 } 4118 sessao_existe = true; 4119 } else { 4120 sessao_existe = false; 4121 } 4122 }); 4123 } 4124 4125 if (sessao_existe) { 4126 app.login = false; 4127 app.loading = false; 4128 return true; 4129 } 4130 4131 if ($.cookie('manter_conectado') == 'S') { 4132 sessionStorage.removeItem('dados'); 4133 sessionStorage.removeItem('parametros'); 4134 localStorage.removeItem('parametros'); 4135 sessionStorage.removeItem('sessao'); 4136 sessionStorage.removeItem('manter_conectado'); 4137 $.removeCookie('manter_conectado'); 4138 $.removeCookie('sessao'); 4139 } 4140 4141 app.login = true; 4142 app.loading = false; 4143 return false; 4144 } 4145 4146 encerrarSessaoHotsite() { 4147 const data = { 4148 ID_CLIENTE: 0, 4149 ACTION: 'setEncerrarSessao', 4150 }; 4151 4152 const criar_toast = this.criarToast; 4153 const buscar_tipo_login = this.buscarTipoLogin; 4154 4155 try { 4156 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 4157 data = JSON.parse(data); 4158 4159 if (data != '' && data != undefined) { 4160 if (data[0].tipo == 'sucesso') { 4161 if ($.cookie('manter_conectado') == 'S') { 4162 localStorage.removeItem('dados'); 4163 localStorage.removeItem('parametros'); 4164 sessionStorage.removeItem('parametros'); 4165 localStorage.removeItem('sessao'); 4166 localStorage.removeItem('manter_conectado'); 4167 } else { 4168 sessionStorage.removeItem('dados'); 4169 localStorage.removeItem('parametros'); 4170 sessionStorage.removeItem('parametros'); 4171 sessionStorage.removeItem('sessao'); 4172 sessionStorage.removeItem('manter_conectado'); 4173 } 4174 4175 $.removeCookie('manter_conectado'); 4176 $.removeCookie('sessao'); 4177 4178 __DADOS_CLIENTE__.splice(0, __DADOS_CLIENTE__.length); 4179 __PARAMETROS__.splice(0, __PARAMETROS__.length); 4180 app.login = true; 4181 buscar_tipo_login(criar_toast); 4182 } else { 4183 criar_toast('2000', 'Erro!', 'Erro ao encerrar a sessao', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4184 router.replace('central_assinante_web/login'); 4185 } 4186 } 4187 }).fail((e) => { 4188 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4189 }); 4190 } catch (e) { 4191 return `Exception Class HotsiteWeb -> encerrarSessaoHotsite() -> ${e}`; 4192 } 4193 } 4194 4195 validaExisteDados() { 4196 if ((localStorage.getItem('dados') && localStorage.getItem('parametros')) || (sessionStorage.getItem('dados') && sessionStorage.getItem('parametros'))) { 4197 if (!__DADOS_CLIENTE__.length) { 4198 if ($.cookie('manter_conectado') == 'S') { 4199 __DADOS_CLIENTE__.push(JSON.parse(localStorage.getItem('dados'))); 4200 } else { 4201 __DADOS_CLIENTE__.push(JSON.parse(sessionStorage.getItem('dados'))); 4202 } 4203 } 4204 4205 if (!__PARAMETROS__.length) { 4206 if ($.cookie('manter_conectado') == 'S') { 4207 __PARAMETROS__.push(JSON.parse(localStorage.getItem('parametros'))); 4208 } else { 4209 __PARAMETROS__.push(JSON.parse(sessionStorage.getItem('parametros'))); 4210 } 4211 } 4212 4213 if (localStorage.getItem('manter_conectado')) { 4214 $.cookie('manter_conectado', localStorage.getItem('manter_conectado')); 4215 } 4216 4217 let parametros = null; 4218 let cacheParams = { 4219 local: JSON.parse(localStorage.getItem('parametros')), 4220 session: JSON.parse(sessionStorage.getItem('parametros')), 4221 } 4222 parametros = ($.cookie('manter_conectado') == 'S' && cacheParams.local) ? cacheParams.local : cacheParams.session; 4223 4224 app.pg_fatura = parametros.habilitar_financeiro; 4225 app.pg_plano = parametros.habilitar_contratos; 4226 app.pg_nota = parametros.mostra_menu_nota_app; 4227 app.pg_consumo = parametros.habilitar_extrato_internet; 4228 app.pg_atendimento = parametros.habilitar_suporte; 4229 app.pg_declaracao_debito = parametros.habilitar_declaracao_debitos; 4230 app.pg_alterar_senha = parametros.habilitar_altera_senha; 4231 app.pg_exibir_detalhamento_financeiro = parametros.exibir_detalhamento_financeiro; 4232 app.pg_connections = parametros.habilitar_menu_conexao; 4233 4234 app.sms_fatura = parametros.envia_sms_app; 4235 app.email_fatura = parametros.envia_email_app; 4236 app.imprime_venda_fatura = parametros.imprime_venda_fatura_app; 4237 4238 app.cad_cli_fantasia = parametros.cad_cli_fantasia; 4239 app.cad_cli_cpf = parametros.cad_cli_cpf; 4240 app.cad_cli_rg = parametros.cad_cli_rg; 4241 app.cad_cli_data_nascimento = parametros.cad_cli_data_nascimento; 4242 app.cad_cli_telefone = parametros.cad_cli_telefone; 4243 app.cad_cli_celular = parametros.cad_cli_celular; 4244 app.cad_cli_telefone_comercial = parametros.cad_cli_telefone_comercial; 4245 app.cad_cli_ramal = parametros.cad_cli_ramal; 4246 app.cad_cli_cep = parametros.cad_cli_cep; 4247 app.cad_cli_endereco = parametros.cad_cli_endereco; 4248 app.cad_cli_numero = parametros.cad_cli_numero; 4249 app.cad_cli_bairro = parametros.cad_cli_bairro; 4250 app.cad_cli_referencia = parametros.cad_cli_referencia; 4251 app.cad_cli_complemento = parametros.cad_cli_complemento; 4252 app.cad_cli_cidade = parametros.cad_cli_cidade; 4253 app.cad_cli_sexo = parametros.cad_cli_sexo; 4254 4255 app.url_app_android = parametros.url_app_android; 4256 4257 app.mostra_builder = parametros.FN; 4258 app.is_fn = parametros.FN; 4259 app.habilitar_contato = parametros.habilitar_contato; 4260 app.whatsapp_link = parametros.whatsapp_link; 4261 app.webchat_link = parametros.webchat_link; 4262 app.telefone_contato = parametros.telefone_contato; 4263 } 4264 } 4265 4266 resetaCooldown() { 4267 clearInterval(counter); 4268 router.history.current.matched[0].instances.default.cooldown = 300; 4269 } 4270 4271 recuperarSenha(user, cpf) { 4272 const data = { 4273 USER: user, 4274 CPF: cpf, 4275 ACTION: 'setRecuperarSenha', 4276 }; 4277 4278 try { 4279 const hs_web = new HotsiteWeb(); 4280 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 4281 data = JSON.parse(data); 4282 if (data != '' && data != undefined) { 4283 if (data.tipo == 'sucesso') { 4284 hs_web.criarToast('5000', 'Sucesso!', data.mensagem, 'fas fa-check', 'green', 'id_sucesso', true, '', 'topCenter'); 4285 } else { 4286 hs_web.resetaCooldown(); 4287 hs_web.criarToast('5000', 'Erro!', data.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', true, '', 'topCenter'); 4288 } 4289 return router.history.current.matched[0].instances.default.loading_senha = false;
4290 } 4291 hs_web.resetaCooldown(); 4292 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4293 return router.history.current.matched[0].instances.default.loading_senha = false; 4294 }).fail((e) => { 4295 hs_web.resetaCooldown(); 4296 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4297 return router.history.current.matched[0].instances.default.loading_senha = false; 4298 }); 4299 } catch (e) { 4300 new HotsiteWeb().resetaCooldown(); 4301 router.history.current.matched[0].instances.default.loading_senha = false; 4302 return `Exception Class HotsiteWeb -> encerrarSessaoHotsite() -> ${e}`; 4303 } 4304 } 4305 4306 /** VALIDA BUILDER ACESSES */ 4307 validaAcessoBuilder() { 4308 const data = { 4309 ACTION: 'getValidaAcessoBuilder', 4310 }; 4311 4312 try { 4313 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 4314 data = JSON.parse(data); 4315 4316 if (data != '' && data != undefined) { 4317 if (data.tipo == 'erro') { 4318 return router.replace('/central_assinante_web/'); 4319 } 4320 4321 $(document).ready(() => { 4322 app.loading = false; 4323 router.history.current.matched[0].instances.default.mostra_builder = true; 4324 }); 4325 return true; 4326 } 4327 4328 return router.replace('/central_assinante_web/'); 4329 }).fail((e) => router.replace('/central_assinante_web/')); 4330 } catch (e) { 4331 return router.replace('/central_assinante_web/'); 4332 } 4333 } 4334 4335 /** 4336 * Metodo para esconder o Toast com base na classe CSS passada por parametro 4337 */ 4338 esconderToast(classe = '') { 4339 if (classe !== '') { 4340 const toast = document.querySelector(`.${classe}`); 4341 4342 iziToast.hide({}, toast); 4343 4344 iziToast.hide({ 4345 transitionOut: 'fadeOutUp', 4346 }, toast); 4347 } 4348 } 4349 4350 /** 4351 * Criar Toast Geral 4352 */ 4353 criarToast(timeout, title, message, icon_text, color, id, toast_once = true, classeCSS = '', position = 'topRight') { 4354 if (iziToast) { 4355 iziToast.destroy(); 4356 } 4357 iziToast.show({ 4358 timeout, 4359 title, 4360 message, 4361 position, 4362 icon: icon_text, 4363 // icon: 'material-icons', // comentado pois impedia a utilização do Ãcone correto para padronização. 4364 color, 4365 closeOnEscape: true, 4366 id, 4367 toastOnce: toast_once, 4368 class: classeCSS, 4369 }); 4370 } 4371 4372 criarToastPendencia(timeout, title, message, icon_text, color, id, botao_pendencia, url_pendencia) { 4373 iziToast.show({ 4374 timeout, 4375 title, 4376 message, 4377 position: 'topRight', 4378 iconText: icon_text, 4379 // icon: 'material-icons', // comentado pois impedia a utilização do Ãcone correto para padronização. 4380 color, 4381 closeOnEscape: true, 4382 id, 4383 toastOnce: true, 4384 buttons: [ 4385 [`<button><b>${botao_pendencia}</b></button>`, function (instance, toast) { 4386 router.replace(ROTA + url_pendencia); 4387 ANIMA_ICONE = true; 4388 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4389 iziToast.destroy(); 4390 }, true], 4391 ], 4392 }); 4393 } 4394 4395 criarToastPendenciaAtendimento(timeout, title, message, icon_text, color, id, botao_pendencia, url_pendencia, id_atendimento_toast, validar_mensagem_lida) { 4396 iziToast.show({ 4397 timeout, 4398 title, 4399 message, 4400 position: 'topRight', 4401 iconText: icon_text, 4402 icon: 'material-icons', 4403 color, 4404 closeOnEscape: true, 4405 id, 4406 toastOnce: true, 4407 buttons: [ 4408 [`<button><b>${botao_pendencia}</b></button>`, function (instance, toast) {
4409 router.replace(url_pendencia); 4410 validar_mensagem_lida(id_atendimento_toast); 4411 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4412 iziToast.destroy(); 4413 }, true], 4414 ], 4415 }); 4416 } 4417 4418 /** 4419 * Criar toast de finalização de atendimento 4420 */ 4421 criarToastFinalizar(id_atendimento) { 4422 const data = { 4423 ID_ATENDIMENTO: id_atendimento || 0, 4424 }; 4425 4426 const finalizar_atendimento = this.finalizarAtendimento; 4427 const criar_toast = this.criarToast; 4428 const valida_resize_home = this.validaResizeHome; 4429 const valida_resize_atendimentos = this.validaResizeAtendimentos; 4430 const valida_loading_function = this.validaLoading; 4431 const buscar_atendimentos = this.buscarAtendimentos; 4432 let mensagem = ''; 4433 const validar_mensagem_lida = this.validarMensagemLida; 4434 4435 iziToast.info({ 4436 timeout: 99999999999, 4437 overlay: true, 4438 class: 'toastFinalizar', 4439 toastOnce: true, 4440 id: 'inputs', 4441 zindex: 999, 4442 message: 'Por favor, informe um motivo para finalizar o atendimento.', 4443 position: 'center', 4444 drag: false, 4445 backgroundColor: 'white', 4446 inputs: [ 4447 ['<textarea v-model="mensagem_finalizacao" required rows="4" cols="50">', 'keydown', function (instance, toast, input, e) { 4448 mensagem = input.value; 4449 }], 4450 ], 4451 buttons: [ 4452 ['<button><b>Finalizar</b></button>', function (instance, toast) { 4453 finalizar_atendimento(id_atendimento, [], SLICE_ATENDIMENTO, mensagem, criar_toast, buscar_atendimentos, valida_resize_home, valida_resize_atendimentos, valida_loading_function, validar_mensagem_lida); 4454 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4455 }, true], 4456 ], 4457 }); 4458 } 4459 4460 /** 4461 * Criar toast de comprovante de pagamento 4462 */ 4463 criarToastComprovante(id_receber, recorrente) { 4464 const data = { 4465 ID_RECEBER0: id_receber || 0, 4466 }; 4467 4468 const hs_web = new HotsiteWeb(); 4469 4470 let campos = []; 4471 if (!recorrente) { 4472 campos = [ 4473 ['<button><b>Imprimir</b></button>', function (instance, toast) { 4474 hs_web.comprovantePagamento(id_receber, 'N'); 4475 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4476 }, true], 4477 ['<button><b>Enviar por E-mail</b></button>', function (instance, toast) { 4478 hs_web.comprovantePagamento(id_receber, 'S'); 4479 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4480 }, true], 4481 ]; 4482 } else { 4483 campos = [['<button><b>Imprimir</b></button>', function (instance, toast) { 4484 hs_web.comprovantePagamento(id_receber, 'N'); 4485 instance.hide({ transitionOut: 'fadeOut' }, toast, 'button'); 4486 }, true]]; 4487 } 4488 4489 iziToast.info({ 4490 timeout: 99999999999, 4491 overlay: true, 4492 class: 'toastFinalizar', 4493 toastOnce: true, 4494 id: 'inputs', 4495 zindex: 999, 4496 message: 'O que deseja fazer com seu comprovante?', 4497 position: 'center', 4498 drag: false, 4499 backgroundColor: 'white', 4500 buttons: campos, 4501 }); 4502 } 4503 4504 /** Valida Resize */ 4505 validaResizeHome() { 4506 router.history.current.matched[0].instances.default.tamanho = $(window).width(); 4507 if ($(window).width() < 481) { 4508 const faturas = router.history.current.matched[0].instances.default.faturas.notifi_dash; 4509 const planos = router.history.current.matched[0].instances.default.planos.contratos_dash; 4510 const atendimentos = router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash; 4511 4512 if (faturas && faturas.length > 0) { 4513 for (let x = 0; x < faturas.length; x++) { 4514 faturas[x].mostrar_detalhes = true; 4515 } 4516 } 4517 4518 if (planos && planos.length > 0) { 4519 for (let x = 0; x < planos.length; x++) { 4520 planos[x].mostrar_detalhes = true; 4521 } 4522 } 4523 4524 for (let x = 0; x < atendimentos.length; x++) { 4525 atendimentos[x].mostrar_detalhes = false;
4526 } 4527 4528 if (faturas && faturas.length > 0) { 4529 router.history.current.matched[0].instances.default.faturas.notifi_dash = faturas; 4530 } 4531 router.history.current.matched[0].instances.default.planos.contratos_dash = planos; 4532 router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash = atendimentos; 4533 } else { 4534 const faturas = router.history.current.matched[0].instances.default.faturas.notifi_dash; 4535 const planos = router.history.current.matched[0].instances.default.planos.contratos_dash; 4536 const atendimentos = router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash; 4537 4538 if (faturas && faturas.length > 0) { 4539 for (let x = 0; x < faturas.length; x++) { 4540 faturas[x].mostrar_detalhes = true; 4541 } 4542 } 4543 4544 if (planos && planos.length > 0) { 4545 for (let x = 0; x < planos.length; x++) { 4546 planos[x].mostrar_detalhes = true; 4547 } 4548 } 4549 4550 for (let x = 0; x < atendimentos.length; x++) { 4551 atendimentos[x].mostrar_detalhes = true; 4552 } 4553 4554 if (faturas && faturas.length > 0) { 4555 router.history.current.matched[0].instances.default.faturas.notifi_dash = faturas; 4556 } 4557 4558 router.history.current.matched[0].instances.default.planos.contratos_dash = planos; 4559 router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash = atendimentos; 4560 } 4561 } 4562 4563 validaResizeFaturas() { 4564 router.history.current.matched[0].instances.default.tamanho = $(window).width(); 4565 if ($(window).width() < 481) { 4566 const { faturas } = router.history.current.matched[0].instances.default.faturas; 4567 4568 for (let x = 0; x < faturas.length; x++) { 4569 faturas[x].mostrar_detalhes = false; 4570 } 4571 4572 if (faturas.length > 0) { 4573 faturas[0].mostrar_detalhes = true; 4574 } 4575 router.history.current.matched[0].instances.default.faturas.notifi_dash = faturas; 4576 } else { 4577 const faturas = router.history.current.matched[0].instances.default.faturas.notifi_dash; 4578 4579 for (let x = 0; x < faturas.length; x++) { 4580 faturas[x].mostrar_detalhes = true; 4581 } 4582 4583 router.history.current.matched[0].instances.default.faturas.notifi_dash = faturas; 4584 } 4585 } 4586 4587 validaResizePlanos() { 4588 router.history.current.matched[0].instances.default.tamanho = $(window).width(); 4589 if ($(window).width() < 767) { 4590 const { planos } = router.history.current.matched[0].instances.default.planos; 4591 4592 for (let x = 0; x < planos.length; x++) { 4593 planos[x].mostrar_detalhes = false; 4594 } 4595 4596 if (planos.length > 0) { 4597 planos[0].mostrar_detalhes = true; 4598 } 4599 4600 router.history.current.matched[0].instances.default.planos.contratos_dash = planos; 4601 } else { 4602 const planos = router.history.current.matched[0].instances.default.planos.contratos_dash; 4603 4604 for (let x = 0; x < planos.length; x++) { 4605 planos[x].mostrar_detalhes = true; 4606 } 4607 4608 router.history.current.matched[0].instances.default.planos.contratos_dash = planos; 4609 } 4610 } 4611 4612 validaResizeAtendimentos() { 4613 router.history.current.matched[0].instances.default.tamanho = $(window).width(); 4614 if ($(window).width() < 768) { 4615 const { atendimentos } = router.history.current.matched[0].instances.default.atendimentos; 4616 4617 for (let x = 0; x < atendimentos.length; x++) { 4618 atendimentos[x].mostrar_detalhes = false; 4619 } 4620 4621 if (atendimentos.length > 0) { 4622 atendimentos[0].mostrar_detalhes = true; 4623 } 4624 router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash = atendimentos; 4625 } else { 4626 const atendimentos = router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash; 4627 4628 for (let x = 0; x < atendimentos.length; x++) { 4629 atendimentos[x].mostrar_detalhes = true; 4630 } 4631 4632 router.history.current.matched[0].instances.default.atendimentos.atendimentos_dash = atendimentos; 4633 } 4634 } 4635 4636 validaResizeNotas() { 4637 router.history.current.matched[0].instances.default.tamanho = $(window).width(); 4638 } 4639 4640 validaLoading() { 4641 if (!LOADING_FATURA && !LOADING_FRANQUIA && !LOADING_PLANO && !LOADING_ATENDIMENTO && !LOADING_CONNECTIONS) { 4642 router.history.current.matched[0].instances.default.is_safari = IS_SAFARI; 4643 router.history.current.matched[0].instances.default.loading = false;
4644 router.history.current.matched[0].instances.default.mostrar_atendimento = 'S'; 4645 4646 const hs_web = new HotsiteWeb(); 4647 hs_web.setarPermissaoHome(); 4648 4649 app.loading = false; 4650 4651 $(document).ready(() => { 4652 validaActiveClass('#pg_home'); 4653 const hs_web = new HotsiteWeb(); 4654 4655 hs_web.setarPermissaoHome(); 4656 }); 4657 } 4658 } 4659 4660 /** PERMISSOES * */ 4661 setarPermissaoHome() { 4662 $(document).ready(() => { 4663 router.history.current.matched[0].instances.default.mostrar_franquia = app.pg_consumo; 4664 router.history.current.matched[0].instances.default.mostrar_fatura = app.pg_fatura; 4665 router.history.current.matched[0].instances.default.mostrar_plano = app.pg_plano; 4666 router.history.current.matched[0].instances.default.mostrar_atendimento = app.pg_atendimento; 4667 router.history.current.matched[0].instances.default.sms_fatura = app.sms_fatura; 4668 router.history.current.matched[0].instances.default.email_fatura = app.email_fatura; 4669 router.history.current.matched[0].instances.default.imprime_venda_fatura = app.imprime_venda_fatura; 4670 router.history.current.matched[0].instances.default.exibir_detalhamento_financeiro = app.pg_exibir_detalhamento_financeiro; 4671 router.history.current.matched[0].instances.default.mostrar_connections = app.connections; 4672 }); 4673 } 4674 4675 setarPermissaoFaturas() { 4676 $(document).ready(() => { 4677 router.history.current.matched[0].instances.default.sms_fatura = app.sms_fatura; 4678 router.history.current.matched[0].instances.default.email_fatura = app.email_fatura; 4679 router.history.current.matched[0].instances.default.imprime_venda_fatura = app.imprime_venda_fatura; 4680 }); 4681 } 4682 4683 setarPermissaoDadosCliente() { 4684 $(document).ready(() => { 4685 router.history.current.matched[0].instances.default.cad_cli_fantasia = app.cad_cli_fantasia; 4686 router.history.current.matched[0].instances.default.cad_cli_cpf = app.cad_cli_cpf; 4687 router.history.current.matched[0].instances.default.cad_cli_rg = app.cad_cli_rg; 4688 router.history.current.matched[0].instances.default.cad_cli_data_nascimento = app.cad_cli_data_nascimento; 4689 router.history.current.matched[0].instances.default.cad_cli_telefone = app.cad_cli_telefone; 4690 router.history.current.matched[0].instances.default.cad_cli_celular = app.cad_cli_celular; 4691 router.history.current.matched[0].instances.default.cad_cli_telefone_comercial = app.cad_cli_telefone_comercial; 4692 router.history.current.matched[0].instances.default.cad_cli_ramal = app.cad_cli_ramal; 4693 router.history.current.matched[0].instances.default.cad_cli_cep = app.cad_cli_cep; 4694 router.history.current.matched[0].instances.default.cad_cli_endereco = app.cad_cli_endereco; 4695 router.history.current.matched[0].instances.default.cad_cli_numero = app.cad_cli_numero; 4696 router.history.current.matched[0].instances.default.cad_cli_bairro = app.cad_cli_bairro; 4697 router.history.current.matched[0].instances.default.cad_cli_referencia = app.cad_cli_referencia; 4698 router.history.current.matched[0].instances.default.cad_cli_complemento = app.cad_cli_complemento; 4699 router.history.current.matched[0].instances.default.cad_cli_cidade = app.cad_cli_cidade; 4700 router.history.current.matched[0].instances.default.cad_cli_sexo = app.cad_cli_sexo; 4701 }); 4702 } 4703 4704 setFavIcon() { 4705 const data = { 4706 ACTION: 'getFavIcon', 4707 }; 4708 const criar_toast = this.criarToast; 4709 4710 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 4711 data = JSON.parse(data); 4712 4713 const docHead = document.getElementsByTagName('head')[0]; 4714 const newLink = document.createElement('link'); 4715 newLink.rel = 'shortcut icon'; 4716 newLink.href = `data:image/png;base64,${data}`; 4717 docHead.appendChild(newLink); 4718 }).fail((e) => { 4719 criar_toast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4720 }); 4721 } 4722 4723 removeCache() { 4724 if (localStorage.getItem('dados')) { 4725 localStorage.removeItem('dados'); 4726 } 4727 4728 if (localStorage.getItem('parametros')) { 4729 localStorage.removeItem('parametros'); 4730 } 4731 4732 if (localStorage.getItem('sessao')) { 4733 localStorage.removeItem('sessao'); 4734 } 4735 4736 if (localStorage.getItem('manter_conectado')) { 4737 localStorage.removeItem('manter_conectado'); 4738 } 4739 4740 if (sessionStorage.getItem('dados')) { 4741 sessionStorage.removeItem('dados'); 4742 } 4743 4744 if (sessionStorage.getItem('parametros')) { 4745 sessionStorage.removeItem('parametros'); 4746 } 4747 if (sessionStorage.getItem('sessao')) { 4748 sessionStorage.removeItem('sessao'); 4749 } 4750 4751 if (sessionStorage.getItem('manter_conectado')) { 4752 sessionStorage.removeItem('manter_conectado'); 4753 } 4754 4755 router.replace('/central_assinante_web/login'); 4756 } 4757 4758 getContratosRecorrentes() { 4759 const hs_web = new HotsiteWeb(); 4760 4761 const data = { 4762 ACTION: 'getContratosRecorrentes', 4763 }; 4764 4765 try { 4766 $.post(`${__SERVER__}/model/configuracoes/configuracoes.php`, data, (data) => { 4767 try { 4768 data = JSON.parse(data); 4769 } catch (e) { 4770 data = data; 4771 } 4772 if (data != '' && data != undefined) { 4773 if (data.tipo == 'sucesso') { 4774 router.history.current.matched[0].instances.default.contratos_recorrentes = data.mensagem; 4775 } else { 4776 hs_web.criarToast('2000', 'Erro!', `${data.mensagem}.`, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 4777 } 4778 } 4779 4780 return app.loading = false;
4781 }).fail((e) => { 4782 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro', false); 4783 }); 4784 } catch (e) { 4785 return `Exception Class HotsiteWeb -> getContratosRecorrentes() -> ${e}`; 4786 } 4787 } 4788 4789 setCancelarRecorrencias(contratos) { 4790 const hs_web = new HotsiteWeb(); 4791 4792 const data = { 4793 CONTRATOS: contratos || [], 4794 ACTION: 'setCancelarRecorrencias', 4795 }; 4796 4797 try { 4798 $.post(`${__SERVER__}/model/configuracoes/configuracoes.php`, data, (data) => { 4799 try { 4800 data = JSON.parse(data); 4801 } catch (e) { 4802 data = data; 4803 } 4804 if (data != '' && data != undefined) { 4805 if (data.tipo == 'sucesso') { 4806 let contractIds = []; 4807 4808 contratos.map((contrato) => { 4809 contractIds.push(contrato.id); 4810 }); 4811 4812 contractIds = contractIds.join(','); 4813 4814 router.history.current.matched[0].instances.default.contratos_recorrentes = data.mensagem; 4815 hs_web.criarToast('4000', 'Sucesso!', `O pagamento recorrente foi cancelado para o(s) contrato(s) ${contractIds}.`, 'fas fa-check', 'green', 'id_sucesso'); 4816 } else { 4817 hs_web.criarToast('4000', 'Erro!', `${data.mensagem}.`, 'fas fa-exclamation-circle', 'red', 'id_erro', false); 4818 } 4819 } 4820 4821 return app.loading = false; 4822 }).fail((e) => { 4823 hs_web.criarToast('5000', 'Erro!', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro', false); 4824 }); 4825 router.history.current.matched[0].instances.default.contratos_marcados = []; 4826 } catch (e) { 4827 return `Exception Class HotsiteWeb -> setCancelarRecorrencias() -> ${e}`; 4828 } 4829 } 4830 4831 montarModalConsultaFatura(fatura) { 4832 app.consultar_fatura_modal = fatura; 4833 app.modal_nome = `Fatura ${fatura.id}`; 4834 $('.main-panel').css('opacity', '0.3'); 4835 $('#modalConsultarFatura').on('hidden.bs.modal', () => { 4836 if ($('#modalSelecionarBanco').css('display') == 'none') { 4837 $('.main-panel').css('opacity', '1'); 4838 } 4839 }); 4840 4841 $('#modalConsultarFatura').on('shown.bs.modal', (e) => { 4842 $('.topbar , .sidebar, #botaoPagarCreditCard, .botoes_fechar').click((e) => { 4843 $('#fecharConsultarFatura').click(); 4844 }); 4845 }); 4846 } 4847 4848 montarModalSelecionarBanco(fatura) { 4849 app.consultar_fatura_modal = fatura; 4850 $('.main-panel').css('opacity', '0.3'); 4851 $('#modalSelecionarBanco').on('hidden.bs.modal', () => { 4852 $('.main-panel').css('opacity', '1'); 4853 }); 4854 4855 $('.topbar .sidebar, #botaoPagarCreditCard, .botoes_fechar').click((e) => { 4856 $('#fecharModalSelecionarBanco').click(); 4857 }); 4858 } 4859 4860 copiarCodigoBarrasModal(linha_digitavel) { 4861 const hs_web = new HotsiteWeb(); 4862 const textArea = document.createElement('input'); 4863 textArea.setAttribute('class', 'codigo_de_barras_hidden'); 4864 linha_digitavel = linha_digitavel.replaceAll(',', '').replaceAll(' ', ''); 4865 4866 textArea.value = linha_digitavel; 4867 4868 document.getElementById('modalConsultarFatura').appendChild(textArea); 4869 4870 if (IS_SAFARI === true) { 4871 const editable = textArea.contentEditable; 4872 const { readOnly } = textArea; 4873 textArea.contentEditable = true; 4874 textArea.readOnly = true; 4875 const range = document.createRange(); 4876 range.selectNodeContents(textArea); 4877 const selection = window.getSelection(); 4878 selection.removeAllRanges(); 4879 selection.addRange(range); 4880 textArea.setSelectionRange(0, 999999); 4881 textArea.contentEditable = editable; 4882 textArea.readOnly = readOnly; 4883 } else { 4884 textArea.select(); 4885 } 4886 4887 const successful = document.execCommand('copy'); 4888 4889 if (successful) { 4890 hs_web.criarToast(4000, 'Sucesso!', 'Código copiado para área de transferência.', 'fas fa-check', 'green', 'id_sucesso'); 4891 } else { 4892 hs_web.criarToast(4000, 'Erro!', 'Não foi possÃvel copiar o código.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4893 } 4894 textArea.parentNode.removeChild(textArea); 4895 } 4896 4897 imprimirFaturaComSelecaoDeBanco(dadosReceber, dadosCarteira) { 4898 this.restoreModalVariavel(); 4899 4900 const data = { 4901 ACTION: 'alterarCarteiraFatura', 4902 ID_CONTRATO: dadosReceber.id_contrato,
4903 ID_CONTRATO_AVULSO: dadosReceber.id_contrato_avulso, 4904 ID_NOVA_CARTEIRA: dadosCarteira.id, 4905 ID_RECEBER: dadosReceber.id, 4906 TIPO_RECEBIMENTO_NOVA_CARTEIRA: dadosCarteira.tipo_recebimento, 4907 ID_CARTEIRA_ANTIGA: dadosReceber.id_carteira_cobranca, 4908 }; 4909 const criar_toast = this.criarToast; 4910 4911 try { 4912 const mensagemSucesso = dadosCarteira.tipo_recebimento == 'Gateway' ? '30 minutos' : '1 dia'; 4913 4914 $.post(`${__SERVER__}/model/faturas/faturas.php`, data, (data) => { 4915 data = JSON.parse(data); 4916 if (data.alterouCarteiraFaturas) { 4917 $(document).ready(() => { 4918 app.loading = false; 4919 router.history.current.matched[0].instances.default.loading = false; 4920 app.modal_nome = `Fatura ${dadosReceber.id}`; 4921 $('#fecharModalSelecionarBanco').click(); 4922 this.criarToast('8000', 'Sucesso!', `favor aguardar ${mensagemSucesso} para realizar o pagamento após a seleção do banco da fatura. Ao fechar a impressão a página será recarregada!`, 'fas fa-check', 'green', 'id_sucesso'); 4923 this.imprimirFatura(dadosReceber.id); 4924 $('#modalImpressao').on('hidden.bs.modal', () => { 4925 window.location.reload(); 4926 }); 4927 }); 4928 return true; 4929 } 4930 criar_toast('5000', 'Ocorreu um erro ao alterar o banco da fatura. Por favor, tente novamente ou entre em contato com o SUPORTE.', 'id_erro', 'fas fa-exclamation-circle', 'red'); 4931 // verificar modificação na base 4932 }).fail((e) => { 4933 router.history.current.matched[0].instances.default.cartao_parcelas = []; 4934 $(document).ready(() => { 4935 app.loading = false; 4936 router.history.current.matched[0].instances.default.loading = false; 4937 validaActiveClass('#pg_fatura'); 4938 }); 4939 criar_toast('5000', 'Ocorreu um erro no servidor. Por favor, entre em contato com o SUPORTE.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4940 }); 4941 } catch (e) { 4942 return `Exception Method buscarParcelas() -> ${e}`; 4943 } 4944 } 4945 4946 montarModalEntreEmContato() { 4947 $('.main-panel').css('opacity', '0.3'); 4948 $('#modalEntreEmContato').on('hidden.bs.modal', () => { 4949 $('.main-panel').css('opacity', '1'); 4950 }); 4951 4952 $('.topbar .sidebar, .botoes_fechar').click((e) => { 4953 $('#fecharModalEntreEmContato').click(); 4954 }); 4955 } 4956 4957 copiarTelefoneContato(telefoneContato) { 4958 const hs_web = new HotsiteWeb(); 4959 const textArea = document.createElement('input'); 4960 textArea.value = telefoneContato; 4961 4962 document.getElementById('modalEntreEmContato').appendChild(textArea); 4963 4964 if (IS_SAFARI) { 4965 const editable = textArea.contentEditable; 4966 const { readOnly } = textArea; 4967 textArea.contentEditable = true; 4968 textArea.readOnly = true; 4969 const range = document.createRange(); 4970 range.selectNodeContents(textArea); 4971 const selection = window.getSelection(); 4972 selection.removeAllRanges(); 4973 selection.addRange(range); 4974 textArea.setSelectionRange(0, 999999); 4975 textArea.contentEditable = editable; 4976 textArea.readOnly = readOnly; 4977 } else { 4978 textArea.select(); 4979 } 4980 4981 const successful = document.execCommand('copy'); 4982 if (successful) { 4983 hs_web.criarToast(4000, 'Sucesso!', 'Telefone copiado com sucesso!', 'fas fa-check', 'green', 'id_sucesso'); 4984 } else { 4985 hs_web.criarToast(4000, 'Erro!', 'Não foi possÃvel copiar o telefone.', 'fas fa-exclamation-circle', 'red', 'id_erro'); 4986 } 4987 textArea.parentNode.removeChild(textArea); 4988 } 4989 4990 enviarEmailParaResetarSenha(data) { 4991 try { 4992 data.ACTION = 'resetarSenha'; 4993 data.server = __SERVER__; 4994 const request = $.ajax({ 4995 url: `${__SERVER__}/model/login/login.php`, 4996 type: 'POST', 4997 data, 4998 }); 4999 request.done((response) => { 5000 const result = JSON.parse(response); 5001 const hotsiteWeb = new HotsiteWeb(); 5002 if (result.tipo === 'sucesso') { 5003 hotsiteWeb.criarToast('5000', 'Sucesso!', result.mensagem, 'fas fa-check', 'green', 'id_sucesso', true, '', 'topCenter'); 5004 } else { 5005 hotsiteWeb.criarToast('5000', 'Erro!', result.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro', true, '', 'topCenter'); 5006 } 5007 hotsiteWeb.resetaCooldown(); 5008 }); 5009 } catch (error) { 5010 new HotsiteWeb().resetaCooldown(); 5011 return `Exception Class HotsiteWeb -> enviarEmailParaResetarSenha() -> ${error}`; 5012 } 5013 } 5014 5015 salvarNovaSenha(data) { 5016 try { 5017 app.loading = true; 5018 data.ACTION = 'salvarNovaSenha'; 5019 const request = $.ajax({ 5020 url: `${__SERVER__}/model/login/login.php`, 5021 type: 'POST', 5022 data, 5023 }); 5024 request.done((response) => { 5025 app.loading = false;
5026 const result = JSON.parse(response); 5027 const hotsiteWeb = new HotsiteWeb(); 5028 if (result.tipo === 'sucesso') { 5029 hotsiteWeb.criarToast('5000', 'Sucesso!', result.mensagem, 'fas fa-check', 'green', 'id_sucesso'); 5030 if (localStorage.getItem('trocarSenhaHash')) { 5031 localStorage.removeItem('trocarSenhaHash'); 5032 } 5033 setTimeout(() => { 5034 location.href = `${__SERVER__}/login`; 5035 }, 5000); 5036 } else { 5037 hotsiteWeb.criarToast('5000', 'Erro!', result.mensagem, 'fas fa-exclamation-circle', 'red', 'id_erro'); 5038 setTimeout(() => { 5039 if (result.redirect && result.redirect === 'login') { 5040 location.href = `${__SERVER__}/login`; 5041 } 5042 }, 5000); 5043 } 5044 }); 5045 } catch (error) { 5046 app.loading = false; 5047 return `Exception Class HotsiteWeb -> salvarNovaSenha() -> ${error}`; 5048 } 5049 } 5050 5051 partiuClubeDeVantagens() { 5052 const hs_web = new HotsiteWeb(); 5053 5054 const data = { 5055 ACTION: 'partiuClubeDeVantagens', 5056 }; 5057 5058 try { 5059 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 5060 try { 5061 data = JSON.parse(data); 5062 } catch (e) { 5063 return e; 5064 } 5065 if (data != '' && data != undefined) { 5066 app.pg_partiu_desconto = data.permissao; 5067 if (data.cnpj_cpf && data.id_integracao) { 5068 hs_web.gerarLoginAutomaticoPartiu(data.cnpj_cpf, data.id_integracao); 5069 } 5070 } 5071 }); 5072 } catch (e) { 5073 return `Exception Class HotsiteWeb -> partiuClubeDeVantagens() -> ${e}`; 5074 } 5075 } 5076 5077 gerarLoginAutomaticoPartiu(cnpj_cpf, id_integracao) { 5078 const hs_web = new HotsiteWeb(); 5079 5080 const data = { 5081 ACTION: 'gerarLoginAutomaticoPartiu', 5082 CNPJ_CPF: cnpj_cpf, 5083 ID_INTEGRACAO: id_integracao, 5084 }; 5085 5086 try { 5087 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 5088 try { 5089 data = JSON.parse(data); 5090 } catch (e) { 5091 return e; 5092 } 5093 if (data != '' && data != undefined) { 5094 app.pg_partiu_desconto_link = data.link; 5095 } 5096 }); 5097 } catch (e) { 5098 return `Exception Class HotsiteWeb -> gerarLoginAutomaticoPartiu() -> ${e}`; 5099 } 5100 } 5101 5102 getAppURL() { 5103 const data = { 5104 ACTION: 'getAppURL', 5105 }; 5106 5107 $.get(`${__SERVER__}/model/login/login.php`, data, (data) => { 5108 data = JSON.parse(data); 5109 verificarAppEExecutarOuRedirecionar(data[0].mensagem); 5110 }); 5111 } 5112 5113 callSvaIntegration() { 5114 const hs_web = new HotsiteWeb(); 5115 const data = { 5116 ACTION: 'callSvaIntegration', 5117 }; 5118 try { 5119 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 5120 try { 5121 data = JSON.parse(data); 5122 } catch (e) { 5123 return e; 5124 } 5125 app.sva_permission = data.permission; 5126 if (data.permission === 'S') { 5127 app.svaPlatform = data.integration.plataforma;
5128 app.svaUsername = data.contract.sva_usuarios_username; 5129 app.svaExternalId = data.integration.external_id; 5130 app.svaIntegrationId = data.contract.sva_configuracoes_id; 5131 } 5132 }); 5133 } catch (e) { 5134 return `Exception Class HotsiteWeb -> callSvaIntegration() -> ${e}`; 5135 } 5136 } 5137 5138 generateLinkSva(svaData) { 5139 const hs_web = new HotsiteWeb(); 5140 5141 const data = { 5142 ACTION: 'generateLinkSva', 5143 SVA_DATA: svaData, 5144 }; 5145 5146 try { 5147 $.post(`${__SERVER__}/model/dados_cliente/dados_cliente.php`, data, (data) => { 5148 try { 5149 data = JSON.parse(data); 5150 if (data != '' && data != undefined) { 5151 window.open(data.message.link, '_blank'); 5152 } 5153 } catch (e) { 5154 return e; 5155 } 5156 }); 5157 } catch (e) { 5158 return `Exception Class HotsiteWeb -> generateLinkSva() -> ${e}`; 5159 } 5160 } 5161}
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.