1/** 2 * 3 * Sappiens Framework 4 * Copyright (C) 2014, BRA Consultoria 5 * 6 * Website do autor: www.braconsultoria.com.br/sappiens 7 * Email do autor: [email protected] 8 * 9 * Website do projeto, equipe e documentação: www.sappiens.com.br 10 * 11 * Este programa é software livre; você pode redistribuÃ-lo e/ou 12 * modificá-lo sob os termos da Licença Pública Geral GNU, conforme 13 * publicada pela Free Software Foundation, versão 2. 14 * 15 * Este programa é distribuÃdo na expectativa de ser útil, mas SEM 16 * QUALQUER GARANTIA; sem mesmo a garantia implÃcita de 17 * COMERCIALIZAÃÃO ou de ADEQUAÃÃO A QUALQUER PROPÃSITO EM 18 * PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais 19 * detalhes. 20 * 21 * Você deve ter recebido uma cópia da Licença Pública Geral GNU 22 * junto com este programa; se não, escreva para a Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 24 * 02111-1307, USA. 25 * 26 * Cópias da licença disponÃveis em /Sappiens/_doc/licenca 27 * 28 */ 29 30var notificadas = new Array(); 31 32sisRedirAlterar(); 33 34function sisSpa(p) { 35 $("#sisPaginaAtual").val(p); 36} 37function replaceContentElem(e) { 38 $(e).fadeToggle('slow', function() { 39 $(e).html(''); 40 }); 41} 42function setContentElem(e, c) { 43 $(e).html(c); 44 $(e).fadeIn('slow'); 45} 46 47function sisSvo(q, t) { 48 $("#sisQuemOrdena").val(q); 49} 50 51function showHiddenFilters() { 52 53 var caretClass = $("#caretFilter").attr('class'); 54 55 $("#caretFilter").removeAttr("class"); 56 57 if (caretClass === "fa fa-caret-down") 58 $("#caretFilter").addClass('fa fa-caret-up'); 59 else if (caretClass === "fa fa-caret-up") 60 $("#caretFilter").addClass('fa fa-caret-down'); 61 else 62 return false; 63 64 if ($(".showHidden").hasClass('hidden')) { 65 $(".showHidden").removeClass("hidden"); 66 } else { 67 $(".showHidden").addClass("hidden"); 68 } 69// $(".showHidden").slideToggle(); 70// $(".showHidden").removeClass("hidden"); 71} 72 73$(document).ready(function() { 74 75 $('#sisBuscaGridA, #sisBuscaGridB').on('itemRemoved', function(event) { 76 sisFiltrarPadrao('sisBuscaGeral=' + $(this).val()); 77 78 if (!$(".showHidden").hasClass('hidden')) { 79 $(".showHidden").addClass("hidden"); 80 } 81 }); 82 83 $('#sisBuscaGridA, #sisBuscaGridB').on('itemAdded', function(event) { 84 sisFiltrarPadrao('sisBuscaGeral=' + $(this).val()); 85 86 if (!$(".showHidden").hasClass('hidden')) { 87 $(".showHidden").addClass("hidden"); 88 } 89 }); 90 91 $("#notificationsMain").click(function(event) { 92 sisAtualizaNotificacoes(); 93 }); 94 95}); 96/* CRUD BÃSICO */ 97 98function sisRedirAlterar() { 99 100 var qS = document.location.search; 101 102 if (qS.search(/\?[sisRedir]{8}/) !== -1 && qS.search(/\&[id=]{3}[0-9]{1,}/) !== -1) { 103 104 var id = qS.replace(/\?[sisRedir=]{9}\w{1,}\&[id=]{3}/, ''); 105 var param = new Array(); 106 107 param['sisReg[]'] = parseInt(id); 108 sisAlterarLayoutPadrao(param); 109 110 } else { 111 112 return true; 113 } 114 115} 116 117/* FUNÃÃES ESPECIAIS */ 118function cKupdate() { 119 120 try { 121 for (instance in CKEDITOR.instances) { 122 CKEDITOR.instances[instance].updateElement(); 123 } 124 } catch (e) 125 { 126 } 127} 128 129function sisSerialize(container) 130{ 131 //return new FormData( $(container)[0] ); 132 cKupdate(); 133 return $(container).serialize(); 134} 135 136function sisSerializeUpload(container) 137{ 138 cKupdate(); 139 return new FormData($(container)[0]); 140} 141 142/* FUNÃÃES DEFAULT */ 143function sisMsgFailPadrao() 144{ 145 sisSetCrashAlert('Erro', 'Houve um erro ao enviar sua solicitação!<br>Tente novamente mais tarde.'); 146} 147 148function sisContaCheck() 149{ 150 var abv = document.formGrid; 151 var conta = 0; 152 153 if ($("#formGrid").length < 1) { 154 return 0; 155 } 156 157 for (i = 0; i < abv.elements.length; i++) { 158 if (abv.elements[i].name === 'sisReg' || abv.elements[i].name === 'sisReg[]') { 159 if (abv.elements[i].type === "checkbox" || abv.elements[i].type === "radio") { 160 if (abv.elements[i].checked === true) { 161 conta += 1; 162 } 163 } 164 } 165 } 166 167 return conta; 168} 169 170function sisDescartarPadrao(form) 171{ 172 var cod = $("#" + form + " #cod").val(); 173 174 if ($('#sisTab' + cod + 'Global').length > 0) { 175 $('#sisTab' + cod + 'Global').remove(); 176 } else { 177 $('#panel' + form).remove(); 178 } 179} 180 181function sisDescartarAbas() 182{ 183 $("#sisContainerManu").empty(); 184} 185 186/* FILTRO */ 187function sisFiltrarPadrao(p, container) { 188 189 if (!p) { 190 $('#sisBuscaGridA').tagsinput('removeAll'); 191 $('#sisBuscaGridB').tagsinput('removeAll'); 192 } 193 194 $.ajax({type: "get", url: "?acao=filtrar", data: p, dataType: "json"}).done(function(ret) { 195 if (ret.sucesso === "true") { 196 $("#sisContainerGrid").html(ret.retorno); 197 } else { 198 sisSetCrashAlert('Erro', ret.retorno); 199 } 200 }).fail(function() 201 { 202 sisMsgFailPadrao(); 203 }); 204} 205 206function sisFiltrarProcessos(p, container) { 207 $.ajax({type: "get", url: "?acao=filtrar", data: p, dataType: "json"}).done(function(ret) { 208 if (ret.sucesso === "true") { 209 $("#" + container).html(ret.retorno); 210 } else { 211 sisSetCrashAlert('Erro', ret.retorno); 212 } 213 }).fail(function() 214 { 215 sisMsgFailPadrao(); 216 }); 217} 218 219function sisFiltrarAba(p, container, tab, conteudo) { 220 $.ajax({type: "get", url: "?acao=filtrar" + tab, data: p, dataType: "json"}).done(function(ret) { 221 if (ret.sucesso === "true") { 222 $("#" + container).html(ret.retorno); 223 } else { 224 $("#" + container).html(conteudo); 225 sisSetCrashAlert('Erro', 'Ocorreu um erro ao filtrar!'); 226 } 227 }).fail(function() 228 { 229 $("#" + container).html(conteudo); 230 sisMsgFailPadrao(); 231 }); 232} 233 234function sisMarcarTodos() 235{ 236 if ($("#sisContainerGrid").find(':checkbox').length < 1) { 237 sisSetAlert('false', 'nenhum resultado encontrado na grid!'); 238 } else { 239 $("#sisContainerGrid").find(':checkbox').prop('checked', true); 240 } 241} 242 243function sisDesmarcarTodos() 244{ 245 if ($("#sisContainerGrid").find(':checkbox').length < 1) { 246 sisSetAlert('false', 'nenhum resultado encontrado na grid!'); 247 } else { 248 $("#sisContainerGrid").find(':checkbox').prop('checked', false); 249 } 250} 251 252/*BOTOES*/ 253function botoesPadrao(nomeForm, acao) 254{ 255 $("#" + nomeForm + " #sisSalvarEContinuar").prop('disabled', acao); 256 $("#" + nomeForm + " #sisSalvar").prop('disabled', acao); 257 $("#" + nomeForm + " #sisDescartar").prop('disabled', acao); 258} 259 260function botoesPadraoSite(nomeForm, acao) 261{ 262 $("#sisSalvarEContinuar").prop('disabled', acao); 263 $("#sisSalvar").prop('disabled', acao); 264 $("#sisDescartar").prop('disabled', acao); 265 $("[data-dismiss=modal]").prop('disabled', acao); 266} 267 268/* CADASTRO */ 269function sisCadastrarLayoutPadrao(param) { 270 if (!param) { 271 param = {}; 272 } 273 $.ajax({type: "get", url: "?acao=cadastrar", data: param, dataType: "json"}).done(function(ret) { 274 $("#sisContainerManu").html(ret.retorno); 275 }).fail(function() 276 { 277 sisMsgFailPadrao(); 278 }); 279} 280 281function sisCadastrarPadrao(nomeForm, upload) { 282 283 botoesPadrao(nomeForm, true); 284 285 var cod = $("#" + nomeForm + " #cod").val(); 286 287 if (upload === true) { 288 var config = {type: "post", url: "?acao=cadastrar", dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false}; 289 } else { 290 var config = {type: "post", url: "?acao=cadastrar", dataType: "json", data: sisSerialize("#" + nomeForm)}; 291 } 292 293 $.ajax(config).done(function(ret) { 294 295 if (ret.sucesso === 'true') { 296 297 sisSetAlert('true', 'Registro cadastrado com sucesso!'); 298 299 botoesPadrao(nomeForm, false); 300 301 if ($('#sisTab' + cod + 'Global').length < 1) { 302 $("#sisContainerManu").empty(); 303 } 304 305 sisFiltrarPadrao(''); 306 } else { 307 botoesPadrao(nomeForm, false); 308 sisSetCrashAlert('Erro', ret.retorno); 309 } 310 }).fail(function() 311 { 312 botoesPadrao(nomeForm, false); 313 sisMsgFailPadrao(); 314 }); 315} 316 317/* ALTERACAO */ 318 319function sisAlterarLayoutPadrao(param) { 320 321 if (!param) { 322 param = ''; 323 } else { 324 var v; 325 for (v in param) { 326 param += '&' + v + '=' + param[v]; 327 } 328 } 329 330 if (sisContaCheck() < 1 && !param) {
331 sisSetAlert('false', 'Nenhum registro selecionado.'); 332 } else { 333 334 $.ajax({type: "get", url: "?acao=alterar" + param, data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) { 335 $("#sisContainerManu").html(ret.retorno); 336 }).fail(function() 337 { 338 sisMsgFailPadrao(); 339 }); 340 } 341} 342 343function sisAlterarPadrao(nomeForm, upload) { 344 345 botoesPadrao(nomeForm, true); 346 var cod = $("#" + nomeForm + " #cod").val(); 347 348 if (upload === true) { 349 var config = {type: "post", url: "?acao=alterar", dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false}; 350 } else { 351 var config = {type: "post", url: "?acao=alterar", dataType: "json", data: sisSerialize("#" + nomeForm)}; 352 } 353 354 $.ajax(config).done(function(ret) { 355 if (ret.sucesso === 'true') { 356 357 sisSetAlert('true', 'Registro alterado com sucesso!'); 358 359 botoesPadrao(nomeForm, false); 360 361 if ($('#sisTab' + cod + 'Global').length < 1) { 362 $("#panel" + nomeForm).remove(); 363 } 364 365 sisFiltrarPadrao(''); 366 } else { 367 botoesPadrao(nomeForm, false); 368 sisSetCrashAlert('Erro', ret.retorno); 369 } 370 }).fail(function() 371 { 372 botoesPadrao(nomeForm, false); 373 sisMsgFailPadrao(); 374 }); 375} 376 377/* REMOÃÃO */ 378 379function sisRemoverPadrao() 380{ 381 var conta = sisContaCheck(); 382 383 if (conta === 0) { 384 sisSetAlert('false', 'Nenhum registro selecionado.'); 385 return; 386 } 387 388 var plural = (conta === 1) ? '' : 's'; 389 var msg = 'Tem certeza que deseja apagar este' + plural + ' ' + conta + ' registro' + plural + '?'; 390 391 sisSetDialog(msg, sisRemovePadrao); 392} 393 394function sisRemovePadrao() { 395 396 $.ajax({type: "get", url: "?acao=remover", data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) { 397 398 var se = parseInt(ret.selecionados); 399 var ap = parseInt(ret.apagados); 400 var ms = ret.retorno; 401 var possivelMensagem = (ms !== '' && ms !== 'undefined' && ms !== undefined) ? " Motivo:\n" + ms : ms; 402 403 if (ap > 0) { 404 405 if (ap !== se) { 406 407 var msgPlural = (ap === 1) ? 'apenas foi removido com sucesso' : 'foram remov
407idos com sucesso'; 408 var msgRemovidos = "Entre os " + se + " registros selecionados " + ap + " " + msgPlural + ".\n\n"; 409 var msg = "Atenção, nem todos os registros puderam ser removidos!\n\n" + msgRemovidos + possivelMensagem; 410 sisSetCrashAlert('Erro', msg); 411 sisFiltrarPadrao(''); 412 } else { 413 414 var plural = (ap === 1) ? '' : 's'; 415 var msg = 'Registro' + plural + ' removido' + plural + ' com sucesso!'; 416 sisSetAlert('true', msg); 417 sisFiltrarPadrao(''); 418 } 419 } else { 420 421 var msg = "Atenção nenhum registro selecionado pode ser removido!\n\n" + possivelMensagem; 422 sisSetCrashAlert('Erro', msg); 423 } 424 425 }).fail(function() 426 { 427 sisMsgFailPadrao(); 428 }); 429} 430 431/* VISUALIZAÃÃO */ 432 433function sisVisualizarPadrao() 434{ 435 if (sisContaCheck() < 1) { 436 437 sisSetAlert('false', 'Nenhum registro selecionado.'); 438 439 } else { 440 441 $.ajax({type: "get", url: "?acao=visualizar", data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) { 442 $("#sisContainerManu").html(ret.retorno); 443 }).fail(function() 444 { 445 sisMsgFailPadrao(); 446 }); 447 } 448} 449 450/*UPLOAD*/ 451function sisUploadMultiplo(id) { 452 var obj = document.getElementById(id); 453 var html = ""; 454 455 if ('files' in obj) { 456 if (obj.files.length === 0) { 457 html = "Nenhum arquivo selecionado!"; 458 } else { 459 for (var i = 0; i < obj.files.length; i++) { 460 html += "<br><strong>" + (i + 1) + " - </strong>"; 461 var file = obj.files[i]; 462 if ('name' in file) { 463 html += file.name + " - "; 464 } 465 if ('size' in file) { 466 html += file.size + " bytes"; 467 } 468 } 469 } 470 } else { 471 if (obj.value === "") { 472 html = "Nenhum arquivo selecionado!"; 473 } else { 474 html += "Seu navegador não suporta este recurso!"; 475 } 476 } 477 478 $("#sisUploadMultiploLista" + id).html(html); 479} 480 481/*MASTER DETAIL*/ 482 483function sisAddMasterDetail(container) { 484 485 var conf = $.parseJSON($("#sisMasterDetailConf" + container).val().replace(/'/g, '"')); 486 487 var atual = $("#sisMasterDetail" + container + " div[id^='sisMasterDetailIten" + container + "']").length - 1; //Ignorando o campo modelo 488 489 if (conf.addMax !== 0 && atual >= conf.addMax) { 490 sisSetAlert('', 'Não foi possÃvel adicionar, pois este grupo permite no máximo ' + conf.addMax + ' itens'); 491 } else { 492 var novoCoringa = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 10); 493 494 var modeloHtml = converteModelo($("#sisMasterDetailModeloHtml" + container).html(), String(conf.coringa), novoCoringa); 495 var modeloJs = converteModelo($("#sisMasterDetailModeloJS" + container).html(), String(conf.coringa), novoCoringa); 496 $("#sisMasterDetailAppend" + container).append(modeloHtml); 497 498 var novoModelo = modeloJs.replace(/&/g, '&'); 499 eval(novoModelo); 500 } 501} 502 503function converteModelo(modelo, coringa, novoCoringa) { 504 505 var modeloConvertido = modelo.replace(new RegExp(coringa, "g"), novoCoringa); 506 return modeloConvertido; 507} 508 509function sisRemoverMasterDetail(container, id) { 510 511 var conf = $.parseJSON($("#sisMasterDetailConf" + container).val().replace(/'/g, '"')); 512 513 var atual = $("#sisMasterDetail" + container + " div[id^='sisMasterDetailIten" + container + "']").length - 1; //Ignorando o campo modelo 514 515 if (atual <= conf.addMin) { 516 sisSetAlert('', 'Não foi possÃvel remover, pois este grupo requer no mÃnimo ' + conf.addMin + ' itens'); 517 } else { 518 $("#sisMasterDetailIten" + container + id).remove(); 519 } 520} 521 522// DIALOG 523function sisSetDialog(msg, actionTrue) 524{ 525 526 bootbox.confirm({ 527 message: msg, 528 callback: function(result) { 529 if (result == true) { 530 actionTrue(); 531 } else { 532 sisSetAlert('', 'Sua solicitação foi cancelada!'); 533 } 534 }, 535 className: "bootbox-sm" 536 }); 537 538} 539// ALERT 540function sisSetAlert(a, b, c) 541{ 542 543 if (c == 'static') { 544 var time = 9999 * 9999; 545 } else { 546 var time = 8000; 547 } 548 549 if (a == 'true' && b == undefined) { 550 var b = "Salvo com sucesso!"; 551 } else if (a == 'false' && b == undefined) { 552 var b = "Problemas na execução. Tente novamente mais tarde..."; 553 } 554 555 if (a == 'false') { 556 $.growl.error({title: 'Oops!', message: b, size: 'large', duration: time}); 557 } else if (a == 'true') { 558 $.growl.notice({title: 'Sucesso!', message: b, size: 'large', duration: time}); 559 } else if (a == 'warning') { 560 $.growl.warning({title: 'Atenção!', message: b, size: 'large', duration: time}); 561 } else if (a == '') {
562 $.growl({title: 'Humm?!', message: b, size: 'large', duration: time}); 563 } 564 565} 566 567function sisSetCrashAlert(a, b) 568{ 569 $('#modal-titulo').html(a); 570 $('#modal-descricao').html(b); 571 $('#modal-msg').modal(); 572 573} 574 575/* FILTROS */ 576function sisChangeFil(container, tab) 577{ 578 if (arguments.length === 1 && (container === 'n' || container === 'e' || container === 'o')) { 579 var origemRel = container; 580 var camposRel = $('#sisFormFiltro').serializeArray(); 581 var contN = 0; 582 var contE = 0; 583 var contO = 0; 584 $.each(camposRel, function (pos, campo) { 585 if ($('#' + campo.name).attr('type') !== 'hidden' && campo.value !== '') { 586 var vRel = $('#' + campo.name).val(); 587 var tipoRel = $('#' + campo.name).attr('name').substr(0, 1); 588 if (tipoRel === 'n' && vRel !== '') { 589 contN++; 590 } 591 if (tipoRel === 'e' && vRel !== '') { 592 contE++; 593 } 594 if (tipoRel === 'o' && vRel !== '') { 595 contO++; 596 } 597 } 598 }); 599 if (origemRel === 'n') { 600 $('#sisBadgeN').removeClass('tachado'); 601 $('#sisBadgeE').addClass('tachado'); 602 $('#sisBadgeO').addClass('tachado'); 603 } else if (origemRel === 'e') { 604 $('#sisBadgeN').addClass('tachado'); 605 $('#sisBadgeE').removeClass('tachado'); 606 $('#sisBadgeO').addClass('tachado'); 607 } else if (origemRel === 'o') { 608 $('#sisBadgeN').addClass('tachado'); 609 $('#sisBadgeE').addClass('tachado'); 610 $('#sisBadgeO').removeClass('tachado'); 611 } 612 if (contN > 0) { 613 $('#sisBadgeN').html(contN).removeClass('hidden'); 614 } else { 615 $('#sisBadgeN').html(contN).addClass('hidden'); 616 } 617 if (contE > 0) { 618 $('#sisBadgeE').html(contE).removeClass('hidden'); 619 } else { 620 $('#sisBadgeE').html(contE).addClass('hidden'); 621 } 622 if (contO > 0) { 623 $('#sisBadgeO').html(contO).removeClass('hidden'); 624 } else { 625 $('#sisBadgeO').html(contO).addClass('hidden'); 626 } 627 sisFiltrarPadrao(parametrosFiltro(origemRel, null, '')); 628 $('#sisBuscaGridA').tagsinput('removeAll'); 629 $('#sisBuscaGridB').tagsinput('removeAll'); 630 return; 631 } 632 var tabNorm = (tab === void 0 || tab === null) ? '' : tab; 633 var conteudo = $("#" + container).html(); 634 $("#" + container).html('<i class="fa fa-refresh fa-spin"></i> carregando...'); 635 sisFiltrarAba(parametrosFiltro('n', container, tabNorm), container, tabNorm, conteudo); 636} 637 638function sisOpFiltro(nomeCampo, tipo, origem) 639{ 640 $("#sho" + nomeCampo).val(tipo); 641 642 $("#sisIcFil" + nomeCampo).html(' ' + tipo); 643 644 if ($("#" + nomeCampo).val()) { 645 sisFiltrarPadrao(parametrosFiltro(origem, null, '')); 646 } 647} 648 649function parametrosFiltro(origem, container, tab) 650{ 651 var ts = (tab === void 0 || tab === null) ? '' : tab; 652 var campos = $('#sisFormFiltro' + ts).serializeArray(); 653 654 var par = []; 655 656 par.push({ 657 name: 'sisOrigem', 658 value: origem 659 }); 660 661 par.push({ 662 name: 'tab', 663 value: ts 664 }); 665 666 var formSel = '#sisFormFiltro' + ts; 667 var pushCampoFiltro = function (nome, valorBruto) { 668 var valor = valorBruto; 669 if ($.isArray(valor)) { 670 valor = valor.length ? valor.join(',') : ''; 671 } 672 if (valor === undefined || valor === null || valor === '') { 673 return; 674 } 675 par.push({name: nome, value: String(valor)}); 676 par.push({name: 'sho' + nome, value: $('#sho' + nome).val()}); 677 par.push({name: 'sha' + nome, value: $('#sha' + nome).val()}); 678 }; 679 var nomeJaEnviado = function (nome) { 680 var i; 681 for (i = 0; i < par.length; i++) { 682 if (par[i].name === nome) { 683 return true; 684 } 685 } 686 return false; 687 }; 688 $.each(campos, function (pos, campo) { 689 var nome = campo.name; 690 var p = nome.substr(0, 1); 691 var h = nome.substr(0, 4); 692 if (!(p === origem || h === 'sho' + origem || h === 'sha' + origem)) { 693 return; 694 } 695 if (h === 'sho' + origem || h === 'sha' + origem) { 696 return; 697 } 698 var qn = nome.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); 699 var $field = $(formSel + ' [name="' + qn + '"]').first(); 700 var ty = $field.length ? $field.attr('type') : ''; 701 if (ty === 'hidden' && p !== origem) { 702 return; 703 } 704 var valor = campo.value; 705 if ($field.length && ty !== 'hidden') { 706 var v2 = $field.val(); 707 if (v2 !== undefined && v2 !== null && v2 !== '') { 708 valor = v2; 709 } 710 } 711 pushCampoFiltro(nome, valor); 712 }); 713 $(formSel + ' select[name]').each(function () { 714 var nome = $(this).attr('name'); 715 if (!nome) { 716 return; 717 } 718 var p = nome.substr(0, 1); 719 var h = nome.substr(0, 4); 720 if (p !== origem || h === 'sho' + origem || h === 'sha' + origem) { 721 return; 722 } 723 if (nomeJaEnviado(nome)) { 724 return; 725 } 726 pushCampoFiltro(nome, $(this).val()); 727 }); 728 729 return par; 730} 731 732//DEPENDENCIA - INICIO 733function sisCarregaDependencia(ur, fo, co, id, me, cl, nc, fc) 734{ 735 var par = {'m': me, 'c': cl, 'r': id, 'n': nc}; 736 737 if (fc) { 738 var pE = fc(fo); 739 var v; 740 for (v in pE) { 741 par[v] = pE[v]; 742 } 743 } 744 745 $.ajax({type: "get", url: ur, data: par, dataType: "json"}).done(function(ret) { 746 747 if (ret.sucesso === 'true') { 748 $("#" + fo + " #" + co + "").html(ret.retorno); 749 } else { 750 sisSetCrashAlert('Erro', ret.retorno); 751 } 752 }).fail(function() 753 { 754 sisMsgFailPadrao(); 755 }); 756} 757 758//DEPENDENCIA - FIM 759 760function chNxt(a, b, c, d) 761{ 762 var aa = $(a).val(); 763 $.ajax({type: "get", url: "?acao=" + d + "&a=" + aa + "&b=" + c, dataType: "json", beforeSend: function() { 764 $(b).html('<i class="fa fa-refresh fa-spin"></i>'); 765 }}).done(function(ret) { 766 $(b).html(ret.retorno); 767 $("#" + c).val(ret.retorno); 768 }).fail(function() { 769 sisMsgFailPadrao(); 770 }); 771} 772 773function chChosen(a, b, c) 774{ 775 var aa = $(a).val(); 776 $.ajax({type: "get", url: "?acao=" + c + "&a=" + aa, dataType: "json", beforeSend: function() { 777 $(b).html('<i class="fa fa-refresh fa-spin"></i>'); 778 }}).done(function(ret) { 779 $(b).html(ret.retorno); 780 }).fail(function() { 781 sisMsgFailPadrao(); 782 }); 783} 784 785function sisImprimir() 786{ 787 var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : ''); 788 window.open("?acao=imprimir&sisModoImpressao=1" + queryString, 'imprimir'); 789} 790 791function sisSalvarCSV() 792{ 793 var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : ''); 794 window.open("?acao=salvarCSV&sisModoImpressao=1" + queryString, 'imprimircsv'); 795} 796 797function sisSetOrientacaoPDF() 798{ 799 $('#sisModalPDF').modal(); 800} 801 802function sisSalvarPDF(orientacao) { 803 804 if (typeof orientacao === 'undefined') { 805 sisSetOrientacaoPDF(); 806 } else { 807 808 $('#closePDF').click(); 809 810 var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : ''); 811 812 var ifr = $('<iframe/>', { 813 id: 'iframeDownload', 814 name: 'iframeDownload', 815 src: '?acao=salvarPDF&sisModoImpressao=1&orientacao=' + orientacao + queryString, 816 style: 'display:none', 817 load: function() { 818 819 var conteudo = $('#iframeDownload').contents().find('body').html(); 820 821 try { 822 if (conteudo.length > 0) { 823 var ret = Array();
824 ret['sucesso'] = 'false'; 825 } else { 826 var ret = Array(); 827 ret['sucesso'] = 'true'; 828 ret['retorno'] = 'PDF gerado com sucesso!' 829 } 830 } catch (fail) { 831 var ret = Array(); 832 ret['sucesso'] = 'false'; 833 } 834 835 if (ret['sucesso'] === 'false') 836 { 837 sisSetAlert('false', ret['retorno']); 838 } else if (ret['sucesso'] === 'true') 839 { 840 sisSetAlert('true', ret['retorno']); 841 } else 842 { 843 sisSetAlert('false', ret['retorno']); 844 } 845 } 846 }); 847 848 if ($('body').attr('name') !== "iframeDownload") { 849 $('body').append(ifr); 850 } else { 851 $('#iframeDownload').remove(); 852 $('body').append(ifr); 853 } 854 } 855} 856function getPDF(url) { 857 858 var ifr = $('<iframe/>', { 859 id: 'iframeDownload', 860 name: 'iframeDownload', 861 src: url, 862 style: 'display:none', 863 load: function() { 864 865 var conteudo = $('#iframeDownload').contents().find('body').html(); 866 867 try { 868 if (conteudo.length > 0) { 869 var ret = Array(); 870 ret['sucesso'] = 'false'; 871 } else { 872 var ret = Array(); 873 ret['sucesso'] = 'true'; 874 ret['retorno'] = 'PDF gerado com sucesso!' 875 } 876 } catch (fail) { 877 var ret = Array(); 878 ret['sucesso'] = 'false'; 879 } 880 881 if (ret['sucesso'] === 'false') 882 { 883 sisSetAlert('false', ret['retorno']); 884 } else if (ret['sucesso'] === 'true') 885 { 886 sisSetAlert('true', ret['retorno']); 887 } else 888 { 889 sisSetAlert('false', ret['retorno']); 890 } 891 } 892 }); 893 894 if ($('#iframeDownload').attr('name') !== "iframeDownload") { 895 $('body').append(ifr); 896 } else { 897 $('#iframeDownload').remove(); 898 $('body').append(ifr); 899 } 900 901} 902 903function validaSenhaUser(campo, url) 904{ 905 valor = campo.value; 906 907 if (valor.length >= 6 && valor.length <= 30) { 908 $.ajax({type: "post", url: url, dataType: "json", data: {'s': valor}, beforeSend: function() { 909 $('#iconFA').attr('class', 'fa fa-refresh form-control-feedback'); 910 $('#iconFA').attr('title', 'Verificando autenticidade da senha.'); 911 }}).done(function(ret) { 912 913 if (ret.sucesso === 'true') { 914 if (ret.retorno === 'true') { 915 $('#iconFA').attr('class', 'fa fa-check-circle form-control-feedback'); 916 $('#iconFA').attr('title', 'Senha autêntica.'); 917 } else { 918 $('#iconFA').attr('class', 'fa fa-lock form-control-feedback'); 919 $('#iconFA').attr('title', 'Senha inválida.'); 920 } 921 } else { 922 $('#iconFA').attr('class', 'fa fa-times-circle form-control-feedback'); 923 $('#iconFA').attr('title', 'Sessão expirada! Faça login novamente para continuar...'); 924 } 925 }).fail(function(event) { 926 $('#iconFA').attr('class', 'fa fa-check form-control-feedback'); 927 $('#iconFA').attr('title', 'Não pudemos verificar a autenticidade de sua senha no momento, mas o faremos ao salvar.'); 928 }); 929 } 930 931 return true; 932} 933 934function sisAddNotificacao(notificacoes) { 935 936 var notificationsNumber = $("#notificationsNumber"); 937 var atual = parseInt(notificationsNumber.html()); 938 var n = null; 939 940 if (isNaN(atual)) { 941 n = notificacoes; 942 } else { 943 n = (notificacoes + atual); 944 } 945 946 notificacoesNaoLidas = n; 947 notificationsNumber.html(n); 948 949 var obj = $('title'); 950 var title = obj.html(); 951 952 if (title.search(/\([0-9]{1,}\)/) !== -1) { 953 obj.html(title.replace(/\([0-9]{1,}\)/, "(" + n + ")")); 954 } else { 955 obj.prepend("(" + n + ") "); 956 } 957 958 return true; 959} 960 961function limpaNotificacoes() { 962 963 var obj = $('title'); 964 var title = obj.html(); 965 966 if (title.search(/\s\([0-9]{1,}\)/) !== -1) { 967 obj.html(title.replace(/\s\([0-9]{1,}\)/, "")); 968 } 969 970 $("#notificationsNumber").html(''); 971 972 return true; 973} 974 975function sisAtualizaNotificacoes() { 976 977 var notificationDiv = $("#main-navbar-notifications"); 978 979 $.ajax({type: "post", url: "?acao=getNotificacoes", data: {'target': 'notificationBar'}, dataType: "json", beforeSend: function() { 980 981 notificationDiv.html(""); 982 983 }}).done(function(data) { 984 if (data.sucesso === "true") { 985 limpaNotificacoes(); 986 notificationDiv.html(data.retorno); 987 } else { 988 sisSetAlert('false', "Falha ao carregar suas notificações."); 989 } 990 }); 991} 992 993function acessaNotificacao(id, url) { 994 995 $.ajax({type: "post", url: "?acao=getNotificacoes", data: {acao: 'limpaNotificacao', id: id}, dataType: "json"}).done(function(data) { 996 document.location.href = url; 997 }); 998 999} 1000 1001function getNotificacoesAlternativo() { 1002 1003 console.log("Using standard xhr polling to request notifications."); 1004 1005 getNotificacoesAjax(); 1006 1007 // setInterval(function () { 1008 // getNotificacoesAjax(); 1009 // }, 60000); 1010 1011} 1012 1013function getNotificacoesAjax() { 1014 1015 $.ajax({type: "post", url: "?acao=getNotificacoes", data: {acao: 'getNumeroNotificacoes'}, dataType: "json"}).done(function(ret) { 1016 1017 if (ret.sucesso === 'true') { 1018 1019 var notificar = array_diff(notificadas, ret.retorno).length; 1020 1021 if (notificar > 0) { 1022 1023 notificadas = (ret.retorno); 1024 sisAddNotificacao(notificar); 1025 } 1026 } 1027 1028 }).fail(function(event) { 1029 console.log(event); 1030 }); 1031 1032 1033} 1034function array_diff(array1, array2) { 1035 1036 var diff = []; 1037 diff = $.grep(array2, function(el) { 1038 return $.inArray(el, array1) === -1; 1039 }); 1040 1041 return diff; 1042} 1043 1044/* CONFIGURAÃÃO DE COLUNAS DA GRID */
1045function sisSalvarColunasDinamicas(urlBase, moduloCod) 1046{ 1047 var config = {type: "get", url: urlBase + 'Ext/Remoto/colunas_grid/?moduloCod=' + moduloCod, dataType: "json", 1048 data: $("#formGrid").serialize()}; 1049 1050 $.ajax(config).done(function(ret) { 1051 1052 if (ret.sucesso === 'true') { 1053 1054 sisSetAlert('true', 'Configuração de colunas da grid aletarda com sucesso!'); 1055 1056 sisFiltrarPadrao(''); 1057 } else { 1058 sisSetCrashAlert('Erro', ret.retorno); 1059 } 1060 }).fail(function() 1061 { 1062 sisMsgFailPadrao(); 1063 }); 1064} 1065 1066/* CONFIGURAÃÃO DE COLUNAS DA GRID */ 1067 1068/* ALTERAR O NÃMERO DE LINHAS */ 1069function sisAlterarLinhas(urlBase, moduloCod) 1070{ 1071 var linhas = $("#sisAlteraLinhas").val(); 1072 1073 var config = {type: "get", url: urlBase + 'Ext/Remoto/linhas_grid/', dataType: "json", 1074 data: {'qLinhas': linhas, 'moduloCod': moduloCod}}; 1075 1076 $.ajax(config).done(function(ret) { 1077 1078 if (ret.sucesso === 'true') { 1079 1080 sisSetAlert('true', 'Número de linhas da grid aletardo com sucesso!'); 1081 1082 sisFiltrarPadrao(''); 1083 } else { 1084 sisSetCrashAlert('Erro', ret.retorno); 1085 } 1086 }).fail(function() 1087 { 1088 sisMsgFailPadrao(); 1089 }); 1090} 1091/* ALTERAR O NÃMERO DE LINHAS */ 1092 1093/* CONFIGURAÃÃO PARA SALVAMENTO DO FILTRO DA GRID */ 1094function sisSalvarFiltro(urlBase, moduloCod) 1095{ 1096 var nome = $("#sisSalvarFiltroNome").val(); 1097 var titulo = $("#sisSalvarFiltroTitulo").val(); 1098 var colunas = $("#sisGridListaColunas").val(); 1099 var queryString = $("#sisQueryString").val(); 1100 1101 if (nome === '') { 1102 alert('O campo "nome do filtro" deve ser informado corretamente!"'); 1103 return; 1104 } 1105 1106 var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?moduloCod=' + moduloCod, dataType: "json", 1107 data: {'nome': nome, 'titulo': titulo, 'colunas': colunas, 'qs': queryString}}; 1108 1109 $.ajax(config).done(function(ret) { 1110 1111 if (ret.sucesso === 'true') { 1112 1113 sisSetAlert('true', 'Filtro salvo com sucesso!'); 1114 1115 $("#sisFiltroSalvo").attr('carregado', 'N'); 1116 sisCarregaFiltrosSalvos(urlBase, moduloCod); 1117 1118 $("#sisSalvarFiltroNome").val(''); 1119 $("#sisSalvarFiltroTitulo").val(''); 1120 } else { 1121 sisSetCrashAlert('Erro', ret.retorno); 1122 } 1123 }).fail(function() 1124 { 1125 sisMsgFailPadrao(); 1126 }); 1127 1128 $('#sisModalSalvarFiltro').modal('hide'); 1129} 1130 1131/* CONFIGURAÃÃO PARA SALVAMENTO DO FILTRO DA GRID */ 1132 1133 1134/* FILTROS SALVOS */ 1135function sisCarregaFiltrosSalvos(urlBase, moduloCod) { 1136 1137 var carregado = $("#sisFiltroSalvo").attr('carregado'); 1138 1139 if (carregado === 'N') { 1140 1141 var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?acao=carregar&moduloCod=' + moduloCod, dataType: "json"}; 1142 1143 $.ajax(config).done(function(ret) { 1144 1145 if (ret.sucesso === 'true') { 1146 1147 $("#bs-tabdrop-tab3").html(ret.retorno); 1148 $("#sisFiltroSalvo").attr('carregado', 'S'); 1149 } else { 1150 sisSetCrashAlert('Erro', ret.retorno); 1151 } 1152 }).fail(function() 1153 { 1154 sisMsgFailPadrao(); 1155 }); 1156 1157 } 1158} 1159 1160/* FILTROS SALVOS */ 1161 1162/* REMOVER FILTROS SALVOS */ 1163 1164function sisRemoverFiltroSalvo(usuarioFiltroCod, urlBase, moduloCod) { 1165 1166 if (!confirm('Tem certeza que desja remover este filtro?')) { 1167 return; 1168 } 1169 1170 var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?acao=remover', dataType: "json", data: {'cod': usuarioFiltroCod}}; 1171 1172 $.ajax(config).done(function(ret) { 1173 1174 if (ret.sucesso === 'true') { 1175 1176 sisSetAlert('true', 'Filtro removido com sucesso!'); 1177 $("#sisFiltroSalvo").attr('carregado', 'N'); 1178 sisCarregaFiltrosSalvos(urlBase, moduloCod); 1179 } else { 1180 sisSetCrashAlert('Erro', ret.retorno); 1181 } 1182 }).fail(function() 1183 { 1184 sisMsgFailPadrao(); 1185 }); 1186} 1187 1188/* REMOVER FILTROS SALVOS */ 1189 1190/* RELATORIOS INTERNOS */ 1191function sisRelatorioInterno(acao, cod, temView, acaoView) 1192{ 1193 if (!cod || !acao) { 1194 1195 alert('Dados insuficientes para a geração do relatório!'); 1196 1197 return; 1198 } 1199 1200 if (temView && acaoView) { 1201 1202 $.ajax({ 1203 type: "get", 1204 url: '?acao=' + acao, 1205 data: { 1206 'c': cod 1207 }, 1208 dataType: "json" 1209 }).done(function(data) { 1210 1211 if (data.sucesso === 'true') { 1212 1213 $('#sisRelICod').val(cod); 1214 $('#sisRelIAcao').val(acaoView); 1215 1216 $('#sisRelatorioInternoConteudo').html(data.retorno); 1217 1218 $('#sisRelatorioInterno').modal('show'); 1219 } else { 1220 alert('Houve um erro e o relatório não pode ser carregado.\n' + data.retorno); 1221 } 1222 1223 }); 1224 } else { 1225 1226 window.open('?acao=' + acao, 'sisRelInterno'); 1227 } 1228} 1229 1230function sisSubmitRelatorioInterno() 1231{ 1232 var sisRelICod = $('#sisRelICod').val(); 1233 var sisRelIAcao = $('#sisRelIAcao').val(); 1234 1235 window.open('?acao=' + sisRelIAcao + '&cod=' + sisRelICod + '&' + $.param($
1235("#sisRelatorioInternoForm").serializeArray()), 'sisRelInterno'); 1236 1237 $('#sisRelatorioInterno').modal('hide'); 1238} 1239 1240function sisCadastrarSite(nomeForm, upload, url, redirect) { 1241 botoesPadraoSite(nomeForm, true); 1242 1243 function sucesso() { 1244 1245 botoesPadraoSite(nomeForm, true); 1246 1247 var cod = $("#" + nomeForm + " #cod").val(); 1248 1249 if (upload === true) { 1250 var config = {type: "post", url: url, dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false}; 1251 } else { 1252 var config = {type: "post", url: url, dataType: "json", data: sisSerialize("#" + nomeForm)}; 1253 } 1254 1255 $.ajax(config).done(function(ret) { 1256 if (ret.sucesso === 'true') { 1257 sisSetAlert('true', ret.retorno); 1258 setTimeout(3); 1259 window.location.href = redirect; 1260 } else { 1261 botoesPadraoSite(nomeForm, false); 1262 sisSetAlert('false', ret.retorno); 1263 } 1264 }).fail(function() 1265 { 1266 sisSetAlert('false', 'Ocorreu um erro, tente novamente'); 1267 botoesPadraoSite(nomeForm, false); 1268 }); 1269 1270 } 1271 1272 function falha(err) { 1273 botoesPadraoSite(nomeForm, false); 1274 $('#modal-login').modal(); 1275 } 1276 1277 $.getJSON('/checar-sessao').done(sucesso).fail(falha); 1278} 1279 1280function sisCadastrarDeslogado(nomeForm, upload, url, redirect) { 1281 botoesPadrao(nomeForm, true); 1282 1283 var cod = $("#" + nomeForm + " #cod").val(); 1284 1285 if (upload === true) { 1286 var config = {type: "post", url: url, dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false}; 1287 } else { 1288 var config = {type: "post", url: url, dataType: "json", data: sisSerialize("#" + nomeForm)}; 1289 } 1290 1291 $.ajax(config).done(function(ret) { 1292 if (ret.sucesso === 'true') { 1293 sisSetAlert('true', ret.retorno); 1294 setTimeout(10); 1295 window.setTimeout(function() { 1296 window.location.href = redirect; 1297 }, 2000); 1298 } else { 1299 botoesPadrao(nomeForm, false); 1300 sisSetAlert('false', ret.retorno); 1301 } 1302 }).fail(function() 1303 { 1304 sisSetAlert('false', 'Ocorreu um erro, tente novamente'); 1305 botoesPadrao(nomeForm, false); 1306 }); 1307} 1308 1309function sisPopUp(url, nome) 1310{ 1311 window.open(url, nome, "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,width=900,height=450"); 1312} 1313 1314function currentStylesheets() { 1315 var links = document.querySelectorAll("link"); 1316 links = Array.prototype.slice.call(links); 1317 1318 return links 1319 .filter(function (l) { 1320 return l.rel == "stylesheet" && l.rel == "text/css"; 1321 }).map(function (l) { 1322 return l.href; 1323 }); 1324} 1325 1326function commaSeparated(arr) { 1327 return arr.join(","); 1328} 1329 1330$("[data-role=print]").on('click', function () { 1331 var target = $(this).data('target'); 1332 var extraCss = commaSeparated(currentStylesheets()); 1333 var cabecalho = $("#cabecalho-impressao").html(); 1334 1335 if (!$(target).html().includes(cabecalho)) { 1336 $(target).prepend(cabecalho); 1337 } 1338 1339 $(target).printArea({ 1340 extraCss: extraCss 1341 }); 1342}); 1343 1344$("[data-role=print-without-header]").on('click', function () { 1345 var target = $(this).data('target'); 1346 var extraCss = commaSeparated(currentStylesheets()); 1347 1348 $(target).printArea({ 1349 extraCss: extraCss 1350 }); 1351}); 1352 1353$(document).ready(function(){ 1354 $('.mtelefone').mask("(99) 99999-9999"); 1355});
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.