//#region VARIÁVEIS GLOBAIS //CASO DECLARAR ALGUMA VARIAVEL GLOBAL QUE SEJA ACESSADA EM OUTRO SCRIPTS, CITE O SCRIPT NA FRENTE. var scrolled = 0; var ToDateSePrecisar; var RetornoFastReport; //#endregion //Lista de resources globais let listaResourceMes = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; let listaResourceGlobalGeral = ["DataFormatoIncorreto", "Descricao", "Erro", "Informacao", "InformacaoDaTela", "MsgDuranteOperacaoOcorreramAlgunsErros", "MsgEsseNavegadorNaoSuportaUploadsHTML", "MsgNaoFoiPossivelFazerBuscaSitacaoTransferencia", "OcorreuErroAoGerarTermoResponsabilidade", "OperacaoConcluida", "OperacaoConluidaTitulo", "Perfil", "RacaInvalidaMensagem", "RacaInvalidaTitulo", "SairDaContaDesteUsuario", "ServicoDeImpressaoNaoFoiInicializadoComputador"]; let listaResourcePessoaLogin = ["InformeSenha", "MsgUsuarioInativo20Minutos", "SenhaInformadaNaoValida"] let listaResourceGlobalSocio = ["ImprimirPropostaAssociado"]; let mensagemResourceGlobal = {}; //#region CONTROLE DE ULTIMA MODAL INSTANCIADA var allSIGEModal; var MsgBox; //#endregion //#region Gera Modal para notificacoes var NotificacaoModal; //#endregion //#region REGEX GLOBAL var mailValidationExp = new RegExp("^[^@\\s][\\w-\\.]+@([\\w-]+\\.){1,3}(\\w+)$"); //#endregion $(document).ready(function () { //Inicialização do resource global mensagemResourceGlobal = GetResource("Geral", listaResourceGlobalGeral); $.extend(mensagemResourceGlobal, GetResource("PessoaLogin", listaResourcePessoaLogin)); $.extend(mensagemResourceGlobal, GetResource("Socio", listaResourceGlobalSocio)); //Inicialização do resource local let listaResourceChamado = ["ChamadoAberto", "SeuChamadoFoiAbertoComSucesso", "VerChamado"]; let listaResourceGeral = ["Fechar", "Atencao", "CaclcularIntervaloEntreDatas", "AddApelidoProduto", "MsgCasoErroPersista", "MsgCasoEstejaPesquisandoOuCadastrandoNovoRegistro", "MsgDesejaMesmoAtualizarPagina", "MsgParaEvitarProblemasAssimAcontecaSegueAlgumasDicas", "MsgPedimosDesculpasPeloTranstorno", "MsgSempreQueForPesquisarPressioneTAB", "OcorreuUmErroTenteNovamenteMaisTarde", "OcorreuUmProblemaTentarRealizarOperacao", "ResumoSerieSequencia"]; let mensagemResource = {}; mensagemResource = GetResource("Chamado", listaResourceChamado); $.extend(mensagemResource, GetResource("Geral", listaResourceGeral)); OrganizarLayout(); $(window).bind('beforeunload', function () { if ($(".loader_mask").length > 0) $(".loader_mask").show(); }); //gera log de erro ajax $(document).ajaxError(function (e, f) { if (f.status != 200 && f.statusText.toUpperCase().indexOf("VERIFICARSERVICOATIVO") < 0 && f.statusText.toUpperCase().indexOf("CEP ") < 0 && f.statusText.toUpperCase().indexOf("CANCELED") < 0) { let listaMensagem = []; listaMensagem.push(mensagemResource["MsgParaEvitarProblemasAssimAcontecaSegueAlgumasDicas"]); listaMensagem.push(mensagemResource["MsgCasoEstejaPesquisandoOuCadastrandoNovoRegistro"]); listaMensagem.push(mensagemResource["MsgSempreQueForPesquisarPressioneTAB"]); listaMensagem.push(mensagemResource["MsgCasoErroPersista"]); listaMensagem.push(mensagemResource["MsgPedimosDesculpasPeloTranstorno"]); ConfirmaPendencias([{ titulo: mensagemResource["OcorreuUmProblemaTentarRealizarOperacao"], size: "md", mensagem: listaMensagem }], 0, function () { }, false); } $(".loader_mask").hide(); }); $(document).bind("ajaxStart", function () { if ($(".loader_mask").length > 0 && $(".loader_mask").prop("style").display == "none") $(".loader_mask").show(); }).bind("ajaxComplete", function () { if ($(".loader_mask").length > 0 && $(".loader_mask").prop("style").display != "none" && $.active <= 1) $(".loader_mask").hide(); }); ToDateSePrecisar = function (data) { if (typeof data == "string" && data.indexOf("/") > 0) { return data; } else { return ToDate(data); } } $.isEmpty = function (value) { var empty = (value == undefined || value == null); if (!empty) { if (Array.isArray(value)) { if (value.length == undefined || value.length == 0) { empty = true; } } else { if (parseInt(value) != 0 && value == "") { empty = true; } } } return empty; } //#region INCLUSÃO DE EXTENSÕES PARA FUNCIONALIDADES COMUMENTE UTILIZADAS Date.format = function () { var data = arguments[0]; var dia = data.substring(0, 2); var mes = data.substring(3, 5); var ano = data.substring(6, 10); var dateStr = String.format("{0}/{1}/{2}", mes, dia, ano); return new Date(dateStr); }; Date.DiffInDays = function (data1, data2) { var dt_data1 = DatePickerToDate(data1); var dt_data2 = DatePickerToDate(data2); var one_day_ms = 1000 * 60 * 60 * 24; var dt_data1_ms = dt_data1.getTime(); var dt_data2_ms = dt_data2.getTime(); var dif = dt_data1_ms - dt_data2_ms; var result = Math.round(dif / one_day_ms); return parseInt(result); } //adiciona dias a partir da data atual Date.prototype.addDays = function (days) { this.setDate(this.getDate() + days); return this; }; //funcao para retornar uma quantidade especifica de decimais apos o '.' Math.split = function (valor, qtd) { var num = valor.toString(); var num_splt = num.split("."); var result = parseFloat(num_splt[0] + "." + num_splt[1].substr(0, qtd)); return result; } //Traz a diferença de meses entre duas datas (antiga mesesfra do Comunic) Date.prototype.intervaloMeses = function (data_inicial) { var numAnos = null, numMeses = null, numDias = null, numUltimoDia = null, numDiminui = 0, numRetorno = null; numAnos = this.getFullYear() - data_inicial.getFullYear(); numMeses = this.getMonth() - data_inicial.getMonth(); numUltimoDia = new Date(data_inicial.getFullYear(), data_inicial.getMonth() + 1, 0).getDate(); if (data_inicial.getDate() > this.getDate()) { if (data_inicial.getDate() == new Date(data_inicial.getFullYear(), data_inicial.getMonth() + 1, 0).getDate() && this.getDate() == new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate()) { numDiminui = 0; } else { numDiminui = 1; } } else { numDiminui = 0; } numMeses = numMeses - numDiminui; if (data_inicial.getDate() == new Date(data_inicial.getFullYear(), data_inicial.getMonth() + 1, 0).getDate() && this.getDate() == new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate()) { numDias = 0; } else { numDias = numUltimoDia - data_inicial.getDate() + this.getDate(); if (numDias >= new Date(data_inicial.getFullYear(), data_inicial.getMonth() + 1, 0).getDate()) { numDias -= new Date(data_inicial.getFullYear(), data_inicial.getMonth() + 1, 0).getDate(); } } numRetorno = (numMeses + (numAnos * 12)); if (numUltimoDia > 0) { numRetorno += (numDias / numUltimoDia); } return numRetorno; } Array.prototype.any = function (array) { // if the other array is a false value, return if (!array) return false; for (var i = 0, l = this.length; i < l; i++) { for (var j = 0; j < array.length; j++) { if (this[i] == array[j]) return true; } } return false; } // Hide method from for-in loops Object.defineProperty(Array.prototype, "any", { enumerable: false }); String.format = function () { var s = arguments[0]; for (var i = 0; i < arguments.length - 1; i++) { var reg = new RegExp("\\{" + i + "\\}", "gm"); s = s.replace(reg, arguments[i + 1]); } return s; } Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] == obj) { return true; } } return false; }; //#region CHAMADA DE FUNÇÕES NECESSÁRIAS NO INICIO DA CARREGAMENTO InicializaDatePicker(); //#endregion $.CallAjax = function (Action, Controller, Area, Data, async) { var URL = ""; if (async == undefined || async == null) { async = false; } if (Area != undefined && Area != null) { URL = raizAplicacao + Area + '/' + Controller + '/' + Action; } else { URL = raizAplicacao + Controller + '/' + Action; } return $.ajax({ type: 'POST', beforeSend: function () { }, url: URL, contentType: false, processData: false, data: Data, async: async, cache: false, error: function (xhr, status, p3, p4) { var err = "Error " + " " + status + " " + p3 + " " + p4; if (xhr.responseText && xhr.responseText[0] == "{") err = JSON.parse(xhr.responseText).Message; } }).done(function () { }); } //#endregion //#region ERROS TOOLTIP InicializaComponentesErro(); //#endregion //#region INICIALIZAÇÃO DE PLUGIN DE MODAL allSIGEModal = $.allSIGEDynamicMessageBoxSettings({ boxMessage: "", boxTitle: "", effects: { modalIn: "fadeIn", modalOut: "fadeOut" }, boxTypeIcon: { "none": { type: "icon", val: "fa fa-paper-plane" }, "success": { type: "icon", val: "fa fa-check-square-o" }, "error": { type: "icon", val: "fa fa-close" }, "info": { type: "icon", val: "fa fa-exclamation" }, "alert": { type: "icon", val: "fa fa-exclamation-triangle" } }, onSuccess: function (objReturn) { }, defaultStyle: "abcz" }, true); //chamada rapida para o plugin de modal MsgBox = function (title, msg, tipo, btns, fnRetorno) { if (tipo == undefined) { tipo = "info"; } if (btns != undefined) { $.allSIGEDynamicMessageBox({ boxMessage: msg, boxTitle: title, boxSize: "sm", boxType: tipo, closeOnClickModal: false, boxButtonDefaultPosition: btns.length, boxButtons: btns, onSuccess: (fnRetorno != undefined ? fnRetorno : function (r) { }) }); } else { $.allSIGEDynamicMessageBox({ boxMessage: msg, boxTitle: title, boxSize: "sm", boxType: tipo, closeOnClickModal: false }); } } //#endregion //#region EVENTO KEYDOWN PARA FOCUS NO PRÓXIMO CAMPO E PARA FUNCIONALIDADES EXTRAS DE ACESSO RAPIDO document.onkeydown = function (event) { var tecla = (event.keyCode ? event.keyCode : event.which); if (tecla >= 112 && tecla <= 123) event.preventDefault(); }; $(window).keydown(function (event) { var tecla = (event.keyCode ? event.keyCode : event.which); //TECLAS UTILIZADAS NO GERAL: ENTER, SETA DO LADO ESQUERDO E DIREITO, F1, F2, F7 if (tecla == 13 || tecla == 37 || tecla == 39 || tecla == 32 || tecla == 115 || tecla == 119 || tecla == 120) { //#region PASSAR CAMPO NO ENTER OU SELECIONAR LABEL ATRAVÉS DAS SETAS var item = $(document.activeElement); if (tecla == 13 && !item.hasClass("label_pesquisa") && !item.hasClass("pesquisaAvancada")) { if (!item.hasClass("buscaPersonalizada") && item[0].nodeName.toLowerCase() != "textarea") { event.preventDefault(); } if (event.ctrlKey && tecla == 13) { if ($(".nav .active").length == 0) { $.tabNext(); } else { var div_href = $(".nav li.active a").attr("href"); $('a[href*="' + div_href + '"]').focus(); $.tabNext(); } } else if ((item[0].nodeName.toLowerCase() == "button" || item.attr("type") == "button" || item.attr("type") == "submit") && tecla == 13) { if (event.ctrlKey) { $.tabNext(); LimparCamposValidados(item); } else { item.click(); } } else if (event.shiftKey && tecla == 13) { $.tabPrev(); } else if (document.activeElement.parentElement.nodeName.toLowerCase() == "li") { item.click(); var div_href = $(document.activeElement).attr('href'); $('input:not([type="hidden"]):not([disabled="disabled"]),select,textarea', div_href)[0].focus(); } else if (item.hasClass("cmbBuscaPersonalizada") && item.find(":selected").val() != "") { $.tabNext(); } else if (tecla == 13 && item[0].nodeName.toLowerCase() != "textarea" && item[0].nodeName.toLowerCase() != "a" && !item.hasClass("pesquisaAvancada") && !item.hasClass("cmbBuscaPersonalizada")) { $.tabNext(); } else if (tecla == 13 == item.hasClass("btn")) { $(item).click(); } } else if (item.hasClass("label_pesquisa") && (tecla == 37 || tecla == 39)) { var div_class = item.parent('div').attr('class'); var labels = $('.' + div_class + ' a.label_pesquisa') labels.each(function (e) { if (tecla == 37 && labels[e].id == item.attr('id')) { if ((e - 1) >= 0) { labels[e - 1].focus(); } return; } else if (tecla == 39 && labels[e].id == item.attr('id')) { if ((e + 1) < labels.length) { labels[e + 1].focus(); } return; } }); } else if ((tecla == 13) && item.hasClass("buscaPersonalizada")) { event.preventDefault(); } else if ((tecla == 32) && item.hasClass("ModoLeitura")) { $.tabNext(); event.stopPropagation(); } else if (tecla == 115) { // f4 $.allSIGEDynamicMessageBox({ boxMessage: GetPartialView("NetAtendimento/NetAtendimento/CalculoDatas", "GET").responseText, boxTitle: mensagemResource["CaclcularIntervaloEntreDatas"], boxSize: "md", topPosition: "15px", boxType: "info", onAfterShow: function () { InicializaDatePicker() $("#data_inicio_modal").focus(); }, onSuccess: function (objReturn) { } }); } else if (tecla == 119) { // f8 permissao_tela = PermissoesSimples(56); if (permissao_tela.listar) { $.allSIGEDynamicMessageBox({ boxMessage: GetPartialView("Fazenda/SerieAlfa/SerieResumo", "GET").responseText, boxTitle: mensagemResource["ResumoSerieSequencia"], boxSize: "lg", topPosition: "15px", boxType: "info", onSuccess: function (objReturn) { } }); } } else if (tecla == 120) { // f9 permissao_tela = PermissoesSimples(292); if (permissao_tela.listar) { $.allSIGEDynamicMessageBox({ boxMessage: GetPartialView("Produto/ProdutoApelido/ProdutoApelido", "GET").responseText, boxTitle: mensagemResource["AddApelidoProduto"], closeOnClickModal: false, boxSize: "lg", topPosition: "15px", boxType: "info", boxShortcuts: { enabled: false }, boxButtons: [ { return: "CLOSE", close: true, label: mensagemResource["Fechar"] } ], onSuccess: function (objReturn) { window.location.reload(true); } }); } } //#endregion } else { var ctr = event.ctrlKey; if (tecla == 118) { //#region MODAL DE BUSCA DE PESSOA, AINDA NÃO CONCLUÍDO POR O KEYCODE PODERÁ SER AJUSTADO event.preventDefault(); GetBuscaPessoaView(); $("#ModalBuscaPessoaAvancada").modal('show'); $("#b_pessoa_nome").focus(); //#endregion } else if (tecla == 116 || (tecla == 8 && document.activeElement.nodeName == "BODY")) { event.preventDefault(); var result = confirm(mensagemResource["MsgDesejaMesmoAtualizarPagina"]); if (result) { window.location.reload(true); } } } }); //#endregion //#region EVENTO PARA FORMATAÇÃO PADRÃO DE NÚMEROS $(document).on("focusout", "input[type='number']", function (event) { if (!$(this).hasClass("ignoreFormat")) { if ($(this).val() < 10 && $(this).val() != "" && $(this).val().length < 2) { $(this).val("0" + $(this).val()); } } }); //#endregion //#region SetOnlyNumber $(document).on('keyup', ".OnlyNumber", function (e) { var list_number = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105]; var tecla = (e.keyCode ? e.keyCode : e.which); if (list_number.indexOf(tecla) < 0) { $(this).val(""); } }); //#endregion //#region SetOnlyFloat $(document).on("keypress", ".OnlyFloat", function (eve) { if ((eve.which != 46 || $(this).val().indexOf('.') != -1) && (eve.which < 48 || eve.which > 57) || (eve.which == 46 && $(this).caret().start == 0)) { eve.preventDefault(); } // this part is when left part of number is deleted and leaves a . in the leftmost position. For example, 33.25, then 33 is deleted $('.filterme').keyup(function (eve) { if ($(this).val().indexOf('.') == 0) { $(this).val($(this).val().substring(1)); } }); }); //#endregion _k = BuscaClaim("_cK"); //bug report $(document).on("click", "#btn_fast_report", function () { var dHtml = GetPartialView("Chamado/Software/ViewZTaskCreateChamado", "GET"); $.allSIGEDynamicMessageBox({ boxMessage: dHtml.responseText, boxTitle: "Bug", boxSize: "lg", boxType: "info", onBeforeShow: function (event) { $(document).off("click", "#btn_enviar_bug").on("click", "#btn_enviar_bug", function () { var report = new Object(); report.titulo_chamado = $("#titulo_chamado")[0].innerText; report.observacao_chamado = $("#observacao_chamado").val(); report.observacao_chamado += "

URL:" + document.URL + "

"; report.usuario_solicitante = $("#usuario_solicitante").val(); report.departamento_solicitante = $("#departamento_solicitante").val(); report.id_sistema_solicitante = $("#id_sistema_solicitante").val(); report.id_chamado_equipe = 2; report.ip = $("#ip").val(); if ($("#lista_auxiliar_lista_arquivos_bug").val() != "") { var ltImgs = JSON.parse($("#lista_auxiliar_lista_arquivos_bug").val()); report.Anexo = (ltImgs != undefined ? ltImgs : null); } var xhttp = new XMLHttpRequest(); xhttp.open("POST", "http://www.abczstat.com.br/ztask/api/ChamadoAPI/", false); xhttp.setRequestHeader("Content-type", "application/json"); var jObj = JSON.stringify(report); xhttp.send(jObj); var result = JSON.parse(xhttp.responseText); if (result.msg == 'OK') MsgBox(mensagemResource["ChamadoAberto"], mensagemResource["SeuChamadoFoiAbertoComSucesso"] + "

" + mensagemResource["VerChamado"] + "

", "success"); else MsgBox(mensagemResource["Atencao"], mensagemResource["OcorreuUmErroTenteNovamenteMaisTarde"], "error"); }); }, closeOnClickModal: false, boxButtons: [ { iconClass: "fa fa-paper-plane", label: "Enviar", props: { element: "button", attribs: { id: "btn_enviar_bug" } }, close: false }], onSuccess: function (ok) { } }); }); NotificacaoModal = function (id) { //id = id da tabela pessoa_notificacao //1 buscar os dados da notificacao //2 criar a partial view da sua notificacao //3 quando for gerar a notificacao colocar no campo link a url da sua partial view //4 chamar a funcao MsgBox("titulo",GetPartialView("url que esta no campo link da notificaao","get"),"alert") //MsgBox("Notificação", GetPartialView(link, "POST"), "alert"); } //#endregion if (verificarAmbiente) { if (!verificouAmbiente) { VerificaAmbienteConexao(); } else { ProgramaVerificacaoAmbiente(); } } fnVerificaModoInativo(BuscaClaim("ModoInativo") == "SIM"); IncluiDescricaoTela(); GerarTitle(); $(".buscaPersonalizada").click(function () { if (!$.isEmpty($(this).val())) { this.setSelectionRange(0, $(this).val().length); } }); }); function GerarTitle() { $(".labelInput:not(.vue)").each(function () { $(this).attr("title", $(this).text()); }); } //#region Classes de conversao $(document).on("keyup", ".ParseDouble", function () { var idx = $(this).val().indexOf(","); if (idx > 0) { var val = $(this).val(); $(this).val(val.replace(",", ".")); } }); //#endregion //#region DATEPICKER var InicializaDatePicker = function () { $('input[type="date"]').each(function () { $(this).datepicker({ changeMonth: true, changeYear: true, yearRange: "-100:+3", dateFormat: 'dd/mm/yy', showOn: "button", buttonImage: raizAplicacao + "Images/jQueryUi/calendar.png", buttonImageOnly: true }); $(this).datepicker({ dateFormat: 'dd/mm/yy', }).removeAttr("type"). prop("type", "text") .addClass("_validDate") .on('change', function (e) { if (!$.isEmpty($.validator) && $("form").length > 0) { $(this).valid(); } }); if (!$(this).hasClass("ignoraData")) { $(this).datepicker('setDate', buscaDataAtual(false)); } }).mask("99/99/9999"); } function buscaDataAtual(retornaTempo) { var strRetorno = ""; var dataAtual = new Date(); var diaAtual = FormataNumero(dataAtual.getDate()); var mesAtual = FormataNumero(dataAtual.getMonth() + 1); var anoAtual = FormataNumero(dataAtual.getFullYear()); strRetorno = String.format("{0}/{1}/{2}", diaAtual, mesAtual, anoAtual); if (retornaTempo) { var horaAtual = FormataNumero(dataAtual.getHours()); var minutoAtual = FormataNumero(dataAtual.getMinutes()); var segundoAtual = FormataNumero(dataAtual.getSeconds()); strRetorno += String.format(" {0}:{1}:{2}", horaAtual, minutoAtual, segundoAtual); } return strRetorno; } //#endregion //#region FUNÇÕES PARA VALIDAÇÃO DE TIPOS var IsNumeric = function (obj) { return !isNaN(parseInt(obj)); } var IsFormData = function (obj) { var ct = Object.getPrototypeOf(obj).constructor.name; if (ct == "FormData") { return true; } else { return false; } } var DataFormatError = function () { console.log(mensagemResourceGlobal["DataFormatoIncorreto"]); } //#endregion //#region FUNÇÕES PARA CONVERSÃO DE TIPOS var DatePickerToDate = function (dateStr) { var parts = dateStr.split("/"); return new Date(parts[2], parts[1] - 1, parts[0]); } var ToDate = function (data, retornaTempo) { var result = ""; if (retornaTempo) { result = moment(data).utcOffset(-180).format("DD/MM/YYYY HH:mm:ss"); } else if (typeof data == "string") { var novaData = new Date(parseInt(data.replace("/Date(", "").replace(")/", ""), 10)); var utc = novaData.getTime() + (novaData.getTimezoneOffset() * 60000); var nd = new Date(utc + (3600000)); result = (nd.getDate() > 9 ? nd.getDate() : '0' + nd.getDate()) + "/" + ((nd.getMonth() + 1) > 9 ? (nd.getMonth() + 1) : '0' + (nd.getMonth() + 1)) + "/" + nd.getFullYear(); } else if (data instanceof Date) { nd = data; result = (nd.getDate() > 9 ? nd.getDate() : '0' + nd.getDate()) + "/" + ((nd.getMonth() + 1) > 9 ? (nd.getMonth() + 1) : '0' + (nd.getMonth() + 1)) + "/" + nd.getFullYear(); } return result; }; var ConvertData = function (data) { if ((data != "/Date(-62135589600000)/") && data != null) { var res = ToDate(data); if (res != "Invalid Date") { return res; } else { return ""; } } else { return ""; } } //#endregion //#region BUSCA DE CLAIM var BuscaClaim = function (tipo) { return !$.isEmpty(_claimBasicaUsuario) && !$.isEmpty(tipo) && !$.isEmpty(_claimBasicaUsuario[tipo]) ? _claimBasicaUsuario[tipo] : ""; } //#endregion //#region BUSCA DE LOG var log_skip = 0; var log_first = 0; var log_chave_registro = ""; var log_nome_tabela = ""; var PreencherLog = function (chave_registro, nome_tabela) { let listaResourceGeral = ["AlteracoesRealizadasEm", "Campo", "CarregarMais", "ConfirmadorPor", "Observacao", "Responsavel", "Sistema", "TodosRegistrosCarregados"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); if (IsNumeric(chave_registro) && nome_tabela != "") { log_chave_registro = chave_registro; log_nome_tabela = nome_tabela; if (log_skip == 0 && log_first == 0) { log_first = 10; } else { if (log_skip == 0) { log_skip = 10; } else { log_skip += 10; } } var formLog = new FormData(); formLog.append("chave_registro", chave_registro); formLog.append("tabela", nome_tabela); formLog.append("skip", log_skip); formLog.append("first", log_first); $.CallAjax("BuscaLogRegistro", "Log", null, formLog).success(function (result) { if (result.msg == "SUCCESS") { var strHtml = ""; if (result.result.length > 0) { strHtml = ""; $("#div_mais_log").remove(); var btn_carrega = '
'; $("#content-log").append(strHtml); $("#content-log").parent("div").append(btn_carrega); } else { $("#btn_log_carrega_mais").val(mensagemResource["TodosRegistrosCarregados"].toUpperCase()); $("#btn_log_carrega_mais").attr("disabled", "disabled"); } } else { //Se der erro ao buscar o log, decrementar, pois se não quando o usuário persistir para ver se da certo, vai trazer registros errados log_skip -= 10; } }); } } $(document).on('click', "#btn_log_carrega_mais", function () { PreencherLog(log_chave_registro, log_nome_tabela); }); $(document).on('click', "#li_gera_log", function () { if (log_skip > 0) { log_skip = 0; } }); //#endregion //#region BUSCA DE AJUDA DE TELA function BuscaAjuda(id_tela) { if (id_tela != "" && parseInt(id_tela) > 0) { } } //#endregion //#region FUNÇÕES PARA LIMPEZA DE CAMPOS //A DIFERENÇA DESTA COM A LIMPA CAMPOS VALIDADOS É QUE ESTA EU POSSO PASSA A DIV COMPLETA E ELE PESQUISA TODOS OS INPUTS DA MESMA //A OUTRA É NECESSÁRIO INFORMAR CAMPO A CAMPO. var ClearInput = function (seletor) { seletor.find(":input:not([type='submit']):not([name='__RequestVerificationToken'])").not('.DontClean').each(function () { switch (this.type) { case 'checkbox': $(this).prop("checked", false); default: $(this).val(""); break; } }); seletor.find("select").each(function () { $(this).val(""); }); seletor.find(".dinamico").each(function () { $(this).remove(); }); seletor.find(".labelClear").each(function () { $(this).text(""); }); } var LimparErro = function (seletor) { $(seletor).removeClass("input-validation-error").siblings(".erroTooltip").removeClass("field-validation-error").text(""); } var LimparCamposValidados = function (seletor) { seletor.children('input') seletor.each(function (e) { var ref = $(this); if (ref.attr("type") != "submit" && ref.attr("type") != "button") { if (ref.attr("type") == "checkbox") { ref.prop("checked", false); } else { ref.val(""); } if (ref.hasClass('dinamico')) { ref.remove(); } else if (ref.hasClass('labelClear')) { ref.text(""); } if (ref.hasClass('input-validation-error') || ref.hasClass('error-validation')) { ref.removeClass('input-validation-error').removeClass('error-validation'); ref.parent('div').children('span').text(""); } } }); } //#endregion //#region FUNÇÕES PARA TRATAMENTO DE EXIBIÇÃO OU BLOQUEIO DE CAMPO var EscondeCampo = function (campos) { campos.forEach(function (item) { $("#" + item).attr("style", "display:none;"); }); } var MostraCampo = function (campos) { campos.forEach(function (item) { $("#" + item).removeAttr("style", "display:none;"); }); } var disableFormInputs = function (form) { $($(form).find(':input')).prop('disabled', true); } //#endregion //#region FUNÇÃO PARA GERAR ERRO EM INPUT var GeraErro = function (ref, msg_erro) { GeraElementoErro(ref); if (!$.isEmpty(msg_erro)) { if (!$(ref).hasClass("_erroPersonalizado")) { $(ref).addClass("_erroPersonalizado"); } if ($("form").find($(ref)).length > 0 && !$.isEmpty($.validator)) { $.validator.messages["_erroPersonalizado"] = msg_erro; if (!$.isEmpty(msg_erro)) { $(ref).valid(); } } else { $(ref).removeClass("valid").addClass("input-validation-error").siblings("span.erroTooltip").text(msg_erro); } } else { if (!$.isEmpty($.validator)) { $.validator.messages["_erroPersonalizado"] = ""; } $(ref).removeClass("input-validation-error").addClass("valid").siblings("span.erroTooltip").text(""); } } var GeraElementoErro = function (elemento) { if ($(elemento).siblings(".erroTooltip").length == 0) { $(elemento).parent("div").addClass("hoverInput"); elementoErro = document.createElement("span"); elementoErro.className = "field-validation-valid text-danger erroTooltip"; elementoErro.setAttribute("data-valmsg-for", $(elemento).attr("id")); elementoErro.setAttribute("data-valmsg-replace", true); $(elemento).parent("div").append(elementoErro); } } //#endregion //#region TRUNCATE STRING var truncateString = function (str, length) { if (str != null && str != "") { return str.length > length ? str.substring(0, length - 3) + '...' : str } return ""; } //#endregion //#region BUSCA DE INFORMAÇÕES EM RESOURCE var GetResource = function (res, key) { if (Array.isArray(key)) { return fnBuscaResource(res, key); } else { return fnBuscaResource(res, [key])[key]; } } //#endregion //#region FUNÇÃO PARA GERAR EXPLICAÇÃO NA TELA var ExplicacaoTela = function (tela) { if (lista_propriedades.length == 0) { $.ajax({ type: "POST", url: raizAplicacao + "Base/BuscaResource", data: "{nome:" + JSON.stringify(tela) + "}", contentType: "application/json; charset=utf-8", dataType: "json", async: false, success: function (data) { if (data.resultado == 200) { data.lista_propriedades.forEach(function (e) { lista_propriedades.push(e); }); } else if (data.resultado == 500) { lista_propriedades = new Array(); } } }); } if (lista_propriedades.length > 0) { var altDiv = $(".conteudo").height(); var div = "' $('.conteudo').append(div) } } //#endregion //#region REFLECTION var Reflector = function (obj) { this.getProperties = function () { var properties = []; for (var prop in obj) { if (typeof obj[prop] != 'function') { properties.push(prop); } } return properties; }; } //#endregion //#region FUNÇÃO PARA GERAR TABELA var MontaEstruturaTabela = function (idTabela, colunas, classe) { var strHtml = "" + "{1}" + "" "
" var strTH = ""; $.each(colunas, function (i, coluna) { strTH += String.format("{0}", coluna); }); return String.format(strHtml, idTabela, strTH, classe); } var GeraTabela = function (list, nome, Editar, Remover) { var options = ""; list.forEach(function (item) { var reflector = new Reflector(item); options += ""; Object.getOwnPropertyNames(item).forEach(function (props) { var cstart = props[0] + props[1]; if (cstart != 'id') { if (item[props] == null) { options += "" + " " + ""; } else { options += "" + item[props] + ""; } } }); options += ''; if (Editar != null) { options += ''; } if (Remover != null) { options += ''; } //COLOCAR AQUI SE JA TEM CODIGO PARA COLCOAR O ICONE DE TRANSFERIR if (nome == '#tassociado' && item.codigo != null && item.id_tipo_socio == 1) { $.ajax({ cache: false, type: 'POST', data: "{id_socio: " + item.id_associado + "}", contentType: 'application/json; charset=utf-8', url: raizAplicacao + "Pessoa/AssociadoTransferencia/BuscaTransferenciaPorSocio", async: false, success: function (result) { if (result.msg == "SUCCESS") { //Verifica nao existe transferencia ou nao existe novo socio ja no titulo para colocar o icone de transferencia if (result.obj == null || result.obj.id_pessoa_socio_novo == 0) { options += ''; } } else { ModalErro(mensagemResourceGlobal["MsgNaoFoiPossivelFazerBuscaSitacaoTransferencia"]); } } }); } options += ''; options += ""; }); $(nome).html(options); } //#endregion //#region FUNÇÃO PARA BUSCA DE HTML DA PARTIAL VIEW var GetPartialView = function (url, tipo) { var resultObj = new Object(); resultObj.responseText = $.ajax({ type: tipo, url: raizAplicacao + url, contentType: "application/json; charset=utf-8", dataType: "json", async: false, success: function (r) { //resultObj.responseText = r; } }).responseText; return resultObj; } //#endregion //#region FUNÇÃO PARA SETAR INFORMAÇÃO NOS INPUTS DO FORM function SetInputs(FormName, Object, Action) { $(FormName).find(":input:not([type='submit'])").each(function () { var refl = new Reflector(Object); var id_input = $(this).prop('id'); refl.getProperties().forEach(function (props) { if (id_input == props) { id_input = '#' + id_input; $(id_input).val(Object[props]); } }); }); $(FormName).attr('action', Action); } //#endregion //#region FUNÇÃO PARA UPLOAD DE ARQUIVOS var FileUpload = function (e, tipo, insereArquivo) { insereArquivo = (insereArquivo == undefined ? true : false); var files = e.target.files; if (files.length > 0) { if (window.FormData !== undefined) { var data = new FormData(); for (var x = 0; x < files.length; x++) { data.append("file" + x, files[x]); } data.append("tipo", tipo); data.append("adiciona_arquivo", insereArquivo); return $.CallAjax("UploadFile", "Arquivo", null, data); } else { alert(mensagemResourceGlobal["MsgEsseNavegadorNaoSuportaUploadsHTML"]); } } } //#endregion //#region FORMATAÇÃO PADRÃO DE EXIBIÇÃO DE PRODUTO var FormataExibicaoProduto = function (produto) { let txtFormatacao = "Raca.sigla, CategoriaRegistro.sigla, serie, rgd, rgn, "; txtFormatacao += !$.isEmpty(produto.nomeOriginal) ? "nomeOriginal" : "nome"; return $.formataPropriedade(produto, txtFormatacao); } //#endregion //#region FORMATAÇÃO NUMERICA function FormataNumero(valor) { if (!$.isEmpty(valor)) { if ((valor >= 0 && valor <= 9) && valor.toString().length == 1) { return "0" + valor; } return valor; } return "0"; } //#endregion //#regionFORMATAR TEXTO PARA UMA EXIBIÇÃO ABREVIADA function reduceString(str) { var strSplit = str.split(" "); var strResult = ""; $.each(strSplit, function (i, palavra) { if (i != 0 && (i != (strSplit.length - 1)) && palavra.length > 2) { strResult += (" " + palavra[0] + ".") } else { strResult += (" " + palavra); } }); return strResult.trim(); } //#endregion //#region Funções de permissões function PossuiRestricaoTela(id_tela, codigo_restricao) { var possui_permissao = false; if (id_tela > 0 && codigo_restricao > 0) { $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Sistemas/Telas/VerificaPermissaoTela", { id_tela: id_tela, codigo_restricao: codigo_restricao }, function (resultado) { if (resultado.msg == "SUCCESS") { possui_permissao = resultado.result; } }); $.ajaxSetup({ async: true }); } return possui_permissao; } function PossuiRestricaoTelaOrgao(id_tela, codigo_restricao, id_orgao_executor) { var possui_permissao = false; if (id_tela > 0 && codigo_restricao > 0) { $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Sistemas/Telas/VerificaPermissaoTela", { id_tela: id_tela, codigo_restricao: codigo_restricao, id_orgao_executor: id_orgao_executor }, function (resultado) { if (resultado.msg == "SUCCESS") { possui_permissao = resultado.result; } }); $.ajaxSetup({ async: true }); } return possui_permissao; } function PessoaParticipaGrupo(id_grupo) { var participa_grupo = false; if (id_grupo > 0) { var formData = new FormData(); formData.append("id_grupo", id_grupo); $.CallAjax("PessoaParticipaGrupo", "Grupo", "Sistemas", formData).success(function (result) { if (result.msg == "SUCCESS") { participa_grupo = result.result; } }); } return participa_grupo; } function VerificaRegraNoPais(id_regra) { var existe_regra = false; if (id_regra > 0) { var formData = new FormData(); formData.append("id_regra", id_regra); $.CallAjax("VerificaRegraNoPais", "Regras", "Parametros", formData).success(function (result) { if (result.msg == "SUCCESS") { existe_regra = result.result; } }); } return existe_regra; } function BuscaPermissaoTela(id_tela) { var lista_permissao = []; $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Sistemas/Telas/ListaPermissoes", { id_tela: id_tela }, function (resultado) { if (resultado.msg == "SUCCESS") { lista_permissao = resultado.result; } }); $.ajaxSetup({ async: true }); return lista_permissao; } function PermissoesSimples(id_tela) { var _permissao = { cadastrar: false, atualizar: false, detalhar: false, remover: false, listar: false } $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Sistemas/Telas/ListaPermissoesBasica", { id_tela: id_tela }, function (resultado) { if (resultado.msg == "SUCCESS") { $.each(resultado.result, function (i, restricao) { switch (restricao.codigo_restricao) { case 1: _permissao.cadastrar = true; break; case 2: _permissao.atualizar = true; break; case 3: _permissao.remover = true; break; case 4: _permissao.listar = true; break; case 5: _permissao.detalhar = true; break; } }); } }); $.ajaxSetup({ async: true }); return _permissao; } function PessoaPossuiOcorrenciaCDP(id) { var possui_ocorrencia = false; if (!$.isEmpty(id)) { var formData = new FormData(); formData.append("id_criador", id); $.CallAjax("PossuiOcorrencia", "Ocorrencia", "Pessoa", formData).success(function (result) { if (result.msg == "OK") { possui_ocorrencia = result.obj; } }); } return possui_ocorrencia; } function PessoaPossuiOcorrencia(id_pessoa, id_ocorrencia) { var possui_ocorrencia = false; if (!$.isEmpty(id_pessoa) && !$.isEmpty(id_ocorrencia)) { $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Pessoa/Ocorrencia/PessoaPossuiOcorrencia", { id_pessoa: id_pessoa, id_ocorrencia: id_ocorrencia }, function (resultado) { if (resultado.msg == "SUCCESS") { possui_ocorrencia = resultado.result; } }); $.ajaxSetup({ async: true }); } return possui_ocorrencia; } //#endregion //#region FUNÇÃO PARA GERAR BOTÕES ADICIONAIS NO TOPO DA PÁGINA function atalhos(array) { localStorage.setItem('lista_atalhos', JSON.stringify(array)); var pagina = 1 var tamTitulo = 0; $("#voltarList").remove(); var tamDivTitulo = $('.tituloPage').outerWidth(true); $('.tituloPage > span').each(function (e) { tamTitulo += ($(this).outerWidth(true)) }); tamTitulo += 10 var tamBotao = ($('.novo').outerWidth(true)) + ($('#lista_cadastro').outerWidth(true)) + 10; var tamDisponivel = (tamDivTitulo - tamTitulo) - tamBotao; var tamElem = 53 var lista = '' var tamParcial = tamElem; var ElemEncontrados = ''; var array_old = [] ElemEncontrados = !$.isEmpty(document.getElementById('li_gera_log')) ? document.getElementById('li_gera_log').outerHTML : ''; tamParcial += tamElem; $('.iconsPage').children().remove(); if (pagina > 1) { lista = ''; } else { lista = ''; } $('.iconsPage').append(lista); lista = ElemEncontrados if (array.length > 0) { for (var i = 0; i < array.length; i++) { if ((tamParcial + tamElem) < tamDisponivel) { tamParcial += tamElem; } else { tamParcial = tamElem pagina += 1; } if (array[i].href == '') { if (pagina > 1) { $('#voltarList').removeAttr('style'); lista += '' } else { lista += '
  • ' } } else { if (pagina > 1) { $('#voltarList').removeAttr('style'); lista += '' } else { lista += '
  • ' } } } } $('#voltarList').after(lista); $('#voltarList').click(function (e) { var first = $('.iconsPage li:not(#voltarList):first').css("display", "none").remove(); $('.iconsPage li:hidden:first').css("display", "block"); $('.iconsPage li:last').after(first) }); if ($('.novo').length > 0) { var p = $('.novo').position(); var new_value = p.left - 100 $("#lista_cadastro ul").removeAttr('style'); $("#lista_cadastro ul").css('left', new_value); } } //#endregion //#region SALVAR, LER E EXIBIR RESULTADO DO LOCAL STORAGE function GerarLocalStorage(selector, format_key, others_values) { var objSave = []; //PERCORRE EM TODOS OS CAMPOS VISIVEIS NA TELA E NOS QUE POSSUEM A CLASSE (NESTE CASO COLOQUEI NOS HIDDEN) $(selector).find("input:visible, select, textarea, .saveLocal").not("button, input:button").each(function () { //PEGA A DESCRIÇÃO DO TEXTO (LABEL) AO LADO PARA APRESENTAÇÃO NO MOMENTO DO LOADING DA PÁGINA var strLabel = $(this).siblings("label").text().replace("(*)", "").trim(); // VALORES EM BRANCO NÃO SERÃO SALVOS if (this.value != "") { objSave.push({ id: this.id, name: this.name, label: strLabel, value: $(this).prop("type") == "checkbox" ? $(this).is(":checked") : this.value, valueText: ($(this).is("select") ? $(this).children("option:selected").text() : ""), type: $(this).prop("type") == "checkbox" ? "checkbox" : 'field' }); } }); //CASO QUEIRA ADICIONAR OUTRAS PROPRIEDADES ADJUTO A ESTA LISTA, BASTA INFORMAR OS NOMES DAS PROPRIEDADES DECLARADAS NO ESCOPO if (others_values != undefined && others_values.length > 0) { $.each(others_values, function (i, item) { objSave.push({ name: item, value: $(window[item]).hasClass("buscaPersonalizada") ? window[item].getDataReturned() : window[item], type: 'obj' }); }); } //CHAVE PARA ENCONTRO DESCRICAO + ID var id_pessoa_logada = BuscaClaim("ID"); var keyLocal = String.format("{0}_{1}", format_key, id_pessoa_logada); //SERIALIZA PARA SALVAR var objComplete = { data: new Date(), objSave: objSave } var objSerialized = JSON.stringify(objComplete).toString().toData("E"); //REMOVE O REGISTRO ANTERIOR PARA GUARDAR ESTA. localStorage.removeItem(keyLocal); //SALVA REGISTRO if (navigator.appName = 'Microsoft Internet Explorer' || !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1)) { //correção ie } else { localStorage.setItem(keyLocal, objSerialized); } } function RecuperarLocalStorage(format_key) { // OBJETO QUE TERA O RESULTADO var objSave = []; //MONTAGEM DA CHAVE DO LOCAL STORAGE var id_pessoa_logada = BuscaClaim("ID"); var keyLocal = String.format("{0}_{1}", format_key, id_pessoa_logada); //RECUPERA VALOR var resultLocal = localStorage.getItem(keyLocal); //CASO TENHA VALOR, INSERE NOS CAMPOS OU PROPRIEDADES if (resultLocal != null) { var objComplete = null; try { resultLocal = resultLocal.toString().toData("D"); //CONVERTE O JSON PARA OBJETO NOVAMENTE objComplete = JSON.parse(resultLocal); } catch (e) { localStorage.removeItem(keyLocal); objComplete = null; } if (!$.isEmpty(objComplete)) { var objSave = objComplete.objSave; var strID = "#{0}"; //PERCORRE EM TODOS CAMPOS/OBJETOS SALVOS E ATRIBUEM SEUS DEVIDOS VALORES $.each(objSave, function (i, obj) { if (obj.type == 'field') { var strInput = String.format(strID, obj.id); if ($(strInput).hasClass("hasDatepicker")) { $(strInput).datepicker('setDate', obj.value); } else { $(strInput).val(obj.value); } } else if (obj.type == "checkbox") { var strInput = String.format(strID, obj.id); $(strInput).prop("checked", obj.value); } else { if ($(window[obj.name]).hasClass("buscaPersonalizada")) { window[obj.name].setValue(obj.value); } else { window[obj.name] = obj.value; } } }); } } } function AlertaExistenciaRegistro(format_key, onExecute, onExecuteNo) { let listaResourceGeral = ["Nao", "OperacaoNaoFinalizada", "OperacaoNaoFinalizadaRisco", "OperacaoNaoFinalizadaTitulo", "Sim"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); // OBJETO QUE TERA O RESULTADO var objSave = []; //MONTAGEM DA CHAVE DO LOCAL STORAGE var id_pessoa_logada = BuscaClaim("ID"); var keyLocal = String.format("{0}_{1}", format_key, id_pessoa_logada); var resultLocal = localStorage.getItem(keyLocal); if (resultLocal != null) { var objComplete = null; try { resultLocal = resultLocal.toString().toData("D"); //CONVERTE O JSON PARA OBJETO NOVAMENTE objComplete = JSON.parse(resultLocal); } catch (e) { localStorage.removeItem(keyLocal); objComplete = null; } if (!$.isEmpty(objComplete)) { var objSave = objComplete.objSave; var strHtml = ""; var strLabel = ''; var strDiv = '
    ' + '
    ' + ' {0}' + '
    ' + '
    ' + ' {1}' + '
    ' + '
    '; //PERCORRE EM TODOS CAMPOS/OBJETOS SALVOS E MONTA UM HTML PARA APRESENTAÇÃO DOS VALORES GUARDADOS $.each(objSave, function (i, obj) { if (obj.type == 'field' && obj.label != "") { var strLabelInfo = String.format(strLabel, obj.label) + ":"; var strLabelValue = obj.valueText == "" ? obj.value : obj.valueText; strLabelValue = String.format(strLabel, strLabelValue) + "
    "; strHtml += String.format(strDiv, strLabelInfo, strLabelValue); } else if (obj.type == "checkbox" && obj.label != "") { var strLabelInfo = String.format(strLabel, obj.label) + ":"; var strLabelValue = obj.value == true ? "SIM" : "NÃO"; strLabelValue = String.format(strLabel, strLabelValue) + "
    "; strHtml += String.format(strDiv, strLabelInfo, strLabelValue); } }); var strOperacao = String.format(strLabel, mensagemResource["OperacaoNaoFinalizada"] + "
    "); strHtml = String.format("{0}{1}", strOperacao, strHtml); strHtml += String.format(strLabel, mensagemResource["OperacaoNaoFinalizadaRisco"]); $.allSIGEDynamicMessageBox({ boxMessage: strHtml, boxTitle: mensagemResource["OperacaoNaoFinalizadaTitulo"], boxSize: "md", boxType: "alert", boxButtonDefaultPosition: 2, closeOnClickModal: false, boxShowHeaderControls: false, onSuccess: function (objReturn) { if (objReturn.result == "CONFIRM") { RecuperarLocalStorage(format_key); if (onExecute != undefined && onExecute != null) { onExecute(); } } else { localStorage.removeItem(keyLocal); if (onExecuteNo != undefined && onExecuteNo != null) { onExecuteNo(); } } }, boxButtons: [ { return: "CANCEL", close: true, label: mensagemResource["Nao"].toUpperCase() }, { return: "CONFIRM", close: true, label: mensagemResource["Sim"].toUpperCase() } ] }); } else { if (onExecuteNo != undefined && onExecuteNo != null) { onExecuteNo(); } } } else { if (onExecuteNo != undefined && onExecuteNo != null) { onExecuteNo(); } } } function RemoveRegistroLocal(format_key) { //MONTAGEM DA CHAVE DO LOCAL STORAGE var id_pessoa_logada = BuscaClaim("ID"); var keyLocal = String.format("{0}_{1}", format_key, id_pessoa_logada); //REMOVE REGISTRO localStorage.removeItem(keyLocal); } //#endregion //#region Modal para eventos casuais //Autor: Wesley //Quando estava desenvolvendo a tela de Exame, surgiu um caso em que a pessoa tinha que confirmar varias modais consecutivas //Coisa chata de se fazer, criei essa função para que quando passar uma lista de mensagens para ela, ela mesmo tratar a exibição consecutivas dela //-> lista_mensagem: Lista de mensagens a serem exibidas na cada modal (cada item dessa lista é exibido em uma modal) //-> idx: A função é recursiva e utiliza esse parametro para identificar a posição de lista_mensagem, quando é feita a chamada inicial dessa função o valor sempre deverá ser 0 //-> fnSuccess: Quando concluir a exibição de todas mensagens, caso possua alguma função especifica a ser executada, a mesma deverá ser passada neste parametro //Formato do objeto de lista_mensagem //var obj = { // titulo: "" //Titulo da modal // mensagem: "" //LISTA de mensagens a ser exibida na mesma modal // html: "" // Html a ser inserio apos a lista de mensagem // confirma: function() {} //Função a ser executada caso o usuário pressione o botão de confirmar (SIM) // cancela: function() {} //Função a ser executada caso o usuário pressione o botão de cancelar (NÃO) //} function ConfirmaPendencias(lista_mensagem, idx, fnSuccess, bloqueiaOperacao) { var mensagem = {}; var buttons = []; var cancelou_pendencias = false; var strLabel = "", strMensagem = ""; let listaResourceGeral = ["Cancelar", "Confirmar", "ErrosNaoIgnorados", "SairDaContaDesteUsuario"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); strLabel = '
    '; if (!$.isEmpty(lista_mensagem) && lista_mensagem.length > 0 && idx < lista_mensagem.length) { mensagem = lista_mensagem[idx]; if ($.isArray(mensagem.mensagem)) { if (bloqueiaOperacao) { strMensagem += String.format(strLabel, mensagemResource["ErrosNaoIgnorados"]); } $.each(mensagem.mensagem, function (i, msg) { strMensagem += String.format(strLabel, msg); }); } else if (!$.isEmpty(mensagem.mensagem)) { strMensagem = String.format(strLabel, mensagem.mensagem); } if (!$.isEmpty(mensagem.html)) { strMensagem += mensagem.html; } if (!$.isEmpty(mensagem.confirma)) { var close = idx != (lista_mensagem.length - 1) || mensagem.closeConfirm == false ? false : true buttons.push({ return: "CONFIRM", close: (close && (lista_mensagem.length - 1 == idx)), label: mensagemResource["Confirmar"].toUpperCase() }); } if (!$.isEmpty(mensagem.cancela) || !$.isEmpty(mensagem.confirma)) { buttons.push({ return: "CANCEL", close: mensagem.ignoraCancelamento != true ? true : false, label: mensagemResource["Cancelar"].toUpperCase() }); } if (buttons.length <= 0 || !$.isEmpty(mensagem.ok)) { var close = idx != (lista_mensagem.length - 1) || mensagem.closeConfirm == false ? false : true buttons.push({ return: "OK", close: close, label: "OK" }); } if (mensagem.desloga) { buttons.push({ return: "EXIT", close: true, iconClass: "fa fa-sign-out", props: { element: "a", attribs: { href: raizAplicacao + "Home/Logout", title: mensagemResource["SairDaContaDesteUsuario"] } } }); } $.allSIGEDynamicMessageBox({ boxMessage: strMensagem, boxTitle: mensagem.titulo.toUpperCase(), boxSize: !$.isEmpty(mensagem.size) ? mensagem.size : (!$.isEmpty(mensagem.html) ? "lg" : "sm"), boxType: (bloqueiaOperacao || mensagem.bloqueia) ? "error" : "alert", boxButtonDefaultPosition: 1, boxShowHeaderControls: false, boxShortcuts: { enabled: !(bloqueiaOperacao || mensagem.bloqueia) }, closeOnClickModal: false, boxButtons: buttons, onAfterShow: function () { InicializaComponentesErro(); if (!$.isEmpty(mensagem.show)) { mensagem.show(); } }, onSuccess: function (resultado) { var status = resultado.result; if (status == "CONFIRM" || status == "OK") { if (status == "CONFIRM") { if (!$.isEmpty(mensagem.confirma)) { if (mensagem.confirma() == false) idx = 999999; } } else if (status == "OK") { if (!$.isEmpty(mensagem.ok)) { if (mensagem.ok() == false) idx = 99999; } } } else if (status == "CANCEL") { if (mensagem.ignoraCancelamento != true) { cancelou_pendencias = true; } if (!$.isEmpty(mensagem.cancela)) { mensagem.cancela(); } } ConfirmaPendencias(lista_mensagem, (idx + 1), fnSuccess); //Chamado #20220568 suspenso ////Se for bloqueio, não chama a próxima pendência até o bloqueio ser resolvido //if (!(bloqueiaOperacao || mensagem.bloqueia)) { // //Impede que o fechamento de um modal quebre a sequência // setTimeout(ConfirmaPendencias.bind(null, lista_mensagem, (idx + 1), fnSuccess), 1000); //} } }); } else if ((idx == lista_mensagem.length) && !cancelou_pendencias) { if (!$.isEmpty(fnSuccess)) { fnSuccess(); } } return cancelou_pendencias; } function ModalInformativa(mensagem, titulo, onFunction) { var strLabel = '
    '; mensagem = String.format(strLabel, mensagem); if ($.isEmpty(titulo)) { titulo = mensagemResourceGlobal["Informacao"].toUpperCase(); } $.allSIGEDynamicMessageBox({ boxMessage: mensagem, boxTitle: titulo.toUpperCase(), boxSize: "sm", boxType: "info", boxButtonDefaultPosition: 1, boxShowHeaderControls: false, closeOnClickModal: true, onSuccess: function (resultado) { if (!$.isEmpty(onFunction)) { onFunction(); } } }); } function ModalErro(mensagem, titulo, onFunction) { var strLabel = '
    '; var strHtml = String.format(strLabel, mensagemResourceGlobal["MsgDuranteOperacaoOcorreramAlgunsErros"]); if (!$.isEmpty(mensagem)) { strHtml = ""; if (Array.isArray(mensagem)) { $.each(mensagem, function (i, m) { strHtml += String.format(strLabel, "- " + m); }); } else { strHtml = String.format(strLabel, mensagem); } } if ($.isEmpty(titulo)) { titulo = mensagemResourceGlobal["Erro"].toUpperCase(); } $.allSIGEDynamicMessageBox({ boxMessage: strHtml, boxTitle: titulo.toUpperCase(), boxSize: "sm", boxType: "error", boxButtonDefaultPosition: 1, boxShowHeaderControls: false, closeOnClickModal: false, onSuccess: function (resultado) { if (onFunction != undefined) { onFunction(); } } }); } function ModalConcluida(onFunction, strMensagem) { if ($.isEmpty(strMensagem)) { strMensagem = mensagemResourceGlobal["OperacaoConcluida"]; } var strHtml = String.format('', strMensagem); $.allSIGEDynamicMessageBox({ boxMessage: strHtml, boxTitle: mensagemResourceGlobal["OperacaoConluidaTitulo"], boxSize: "sm", boxType: "success", boxButtonDefaultPosition: 1, closeOnClickModal: false, boxShowHeaderControls: false, onSuccess: function (objReturn) { if (objReturn.result == "CONFIRM") { if (!$.isEmpty(onFunction)) { onFunction(); } } }, boxButtons: [{ return: "CONFIRM", close: true, label: "OK" }] }); } function ExigeSenha(fnSuccess, fnError, bClose, bForcaExibicao, bSair) { var buttons = [{ return: "OK", close: bClose, label: "OK" }]; if (bSair == true) { buttons.push({ return: "EXIT", close: true, iconClass: "fa fa-sign-out", props: { element: "a", attribs: { href: raizAplicacao + "Home/Logout", title: mensagemResourceGlobal["SairDaContaDesteUsuario"] } } }); } $.allSIGEDynamicMessageBox({ boxMessage: GetPartialView("Pessoa/Login/ConfirmaSenhaPartial", "GET").responseText, boxTitle: mensagemResourceGlobal["InformeSenha"].toUpperCase(), boxSize: "sm", boxType: "alert", boxButtonDefaultPosition: 1, boxShowHeaderControls: false, closeOnClickModal: bForcaExibicao != true, boxFocusOnLoad: { selector: "#txtSenhaLogin" }, boxShortcuts: { enabled: false }, boxButtons: buttons, onSuccess: function (resultado) { if (resultado.result == "OK") { if (!$.isEmpty($("#txtSenhaLogin").val())) { $.ajaxSetup({ async: false }); $.post(raizAplicacao + "Pessoa/Login/ValidaPessoaLogin", { senha: $("#txtSenhaLogin").val() }, function (resultado) { var status = resultado.msg; if (status == "SUCCESS") { if (resultado.result) { fnSuccess(); } else { GeraErro("#txtSenhaLogin", mensagemResourceGlobal["SenhaInformadaNaoValida"]); $("#txtSenhaLogin").focus(); fnError(); } } else { fnError(); } }); $.ajaxSetup({ async: true }); } else { fnError(); } } } }); } //#endregion function OrganizaResponsivo() { $(".row > div").each(function () { if (this.className.indexOf("col-lg") >= 0 && this.className.indexOf("col-md") < 0 && this.className.indexOf("col-sm") < 0) { //Cada coluna do bootstrap tem 8.33% de lagura var valorPadrao = 8.333; //Extrai a quantidade de coluna que está sendo utilizada na div var numeroColuna = parseInt(this.className.split(" ").find(function (x) { return x.indexOf("col-lg") >= 0 }).replace("col-lg-", "")); if (!isNaN(numeroColuna)) { //Para disposistivos com largura acima de 992px a representativa de é a classe col-lg-* //Para disposistivos com largura de até 768px a representativa de é a classe col-md-* //Para disposistivos com largura de até 576px a representativa de é a classe col-sm-* var qtdColunaMd = Math.ceil((768 * valorPadrao) / 992); var qtdColunaSm = Math.ceil((576 * valorPadrao) / 992); $(this).addClass("col-md-" + qtdColunaMd); $(this).addClass("col-sm-" + qtdColunaSm); } } }); } function ValidaRacaProduto(id_raca_resultante, id_categoria_resultante, id_raca1, id_raca2) { var retorno = false; var formData = new FormData(); formData.append("id_raca_resultante", id_raca_resultante); formData.append("id_categoria_resultante", id_categoria_resultante); formData.append("id_raca1", id_raca1); formData.append("id_raca2", id_raca2); $.CallAjax("ValidaRacaResultante", "Raca", "Parametros", formData).success(function (result) { if (result.msg == "SUCCESS") { retorno = result.result; } }); return retorno; } function ValidaRacaResultante(id_raca_resultante, id_categoria_resultante, id_raca1, id_raca2, exibe_mensagem, onFunction) { if (id_raca_resultante > 0 && id_categoria_resultante > 0 && id_raca1 > 0 && id_raca2 > 0) { if (id_categoria_resultante == 4 || id_categoria_resultante == 8 || id_categoria_resultante == 6) { return true; } retorno = ValidaRacaProduto(id_raca_resultante, id_categoria_resultante, id_raca1, id_raca2); if (!retorno) { if (PessoaParticipaGrupo(148)) { retorno = true; } if (exibe_mensagem) { var strLabel = ''; strLabel = String.format(strLabel, mensagemResourceGlobal["RacaInvalidaMensagem"]); $.allSIGEDynamicMessageBox({ boxMessage: strLabel, boxTitle: mensagemResourceGlobal["RacaInvalidaTitulo"], boxSize: "sm", boxType: "alert", closeOnClickModal: false, boxButtonDefaultPosition: 2, boxShowHeaderControls: false, onSuccess: function (objReturn) { if (objReturn.result == "CONFIRM") { if (onFunction != undefined) { onFunction(); } } }, boxButtons: [ { return: "CANCEL", close: true, iconClass: "fa fa-times" }, { return: "CONFIRM", close: true, iconClass: "fa fa-check" } ] }); } } } return retorno; } function BuscaSituacoesAnimal(id_produto, lista_sigla, excluida) { var lista_situacao_produto = []; //Verifica se foi informado um id de produto valido if (!$.isEmpty(id_produto) && id_produto > 0) { //Monta parametros a serem enviados pro servidor var params = { id_produto: id_produto }; //Caso tenha interesse de buscar situações especificas de animais, informa apenas a sigla delas if (!$.isEmpty(lista_sigla) && lista_sigla.length > 0) { params["lista_sigla"] = lista_sigla } //Caso queira exibir as excluidas também if (!$.isEmpty(excluida)) { params["excluida"] = excluida; } //Envio servidor $.ajaxSetup({ async: false }); jQuery.ajaxSettings.traditional = true; $.get(raizAplicacao + "Produto/Produto/BuscaSituacaoAnimal", params, function (resultado) { var status = resultado.msg; //Verifica se foi realizado a busca com sucesso if (status == "SUCCESS") { //Caso tenha informado apenas o id do produto, retorna todas as situações //Caso tenha informado as siglas, retorna todas as situações existentes para o produto dentro das siglas que ele informou. lista_situacao_produto = resultado.result; } else { //Caso não exibe uma mensagem para o usuário ModalErro(); } }); $.ajaxSetup({ async: true }); jQuery.ajaxSettings.traditional = false; } //Retorno return lista_situacao_produto; } function quebraRgn(rgn) { var numero = ''; var letras = ''; if (rgn) { for (var i = 0; i < rgn.length; i++) { var posicao = parseInt(rgn[i]); if (!isNaN(posicao)) { numero += posicao.toString(); } else { letras += rgn[i]; } } } var arrayRetorno = []; arrayRetorno[1] = letras; arrayRetorno[2] = numero; return arrayRetorno; } function FechaModal() { if (!$.isEmpty(allSIGEModal) && !$.isEmpty(allSIGEModal.closeModal)) { allSIGEModal.closeModal(); } } function InicializaComponentesErro() { let listaResourceGeral = ["CampoObrigatorio", "PorFavorEntreComUmaInformacaoEquivalente", "PorFavorInsiraApenasDigitos", "PorFavorInsiraApenasNumerosNesteCampo", "PorFavorInsiraNumeroCartaoCreditoValido", "PorFavorInsiraNumeroMaiorOuIgual", "PorFavorInsiraUmEmailValido", "PorFavorInsiraUmNumeroMenorOuIgual", "PorFavorInsiraUmaDataInferiorDataAtual", "PorFavorInsiraUmaDataValida", "PorFavorInsiraUmaDataValidaISO", "QuantidadeCaracteresMaximaParaEsseCampo", "QuantidadeCaracteresMinimaParaEsseCampo"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral) $(".erroTooltip").parent().css("position", "relative").addClass("hoverInput"); $(".alertTooltip").parent().css("position", "relative").addClass("hoverInput"); var mensagemErro = { creditcard: mensagemResource["PorFavorInsiraNumeroCartaoCreditoValido"], date: mensagemResource["PorFavorInsiraUmaDataValida"], dateISO: mensagemResource["PorFavorInsiraUmaDataValidaISO"], digits: mensagemResource["PorFavorInsiraApenasDigitos"], email: mensagemResource["PorFavorInsiraUmEmailValido"], equalTo: mensagemResource["PorFavorEntreComUmaInformacaoEquivalente"], number: mensagemResource["PorFavorInsiraApenasNumerosNesteCampo"], required: mensagemResource["CampoObrigatorio"], max: function (numeroMaximo) { return String.format(mensagemResource["PorFavorInsiraUmNumeroMenorOuIgual"], numeroMaximo); }, maxlength: function (tamanhoMaximo) { return String.format(mensagemResource["QuantidadeCaracteresMaximaParaEsseCampo"], tamanhoMaximo); }, min: function (numeroMinimo) { return String.format(mensagemResource["PorFavorInsiraNumeroMaiorOuIgual"], numeroMinimo); }, minlength: function (tamanhoMinimo) { return String.format(mensagemResource["QuantidadeCaracteresMinimaParaEsseCampo"], tamanhoMinimo); } } //Caso possua jQueryValidate na página uma função de validação de datas é adicionada ao campo if (!$.isEmpty($.validator) && !$.isEmpty(isValidDate)) { jQuery.validator.addMethod("_validDate", function (value, element, options) { if ($(element).hasClass("required") && $.isEmpty(value)) { $.validator.messages["_validDate"] = mensagemResource["CampoObrigatorio"]; return false; } else { var retornoValidacao = isValidDate($(element).val()); if (!$.isEmpty(retornoValidacao) && retornoValidacao != true) { $.validator.messages["_validDate"] = retornoValidacao; $(element).siblings('span').text(retornoValidacao); return false; } else { let dataInformada = Date.format($(element).val()); if (dataInformada > new Date() && !$(element).hasClass('permiteDataAcimaDaAtual')) { $.validator.messages["_validDate"] = mensagemResource["PorFavorInsiraUmaDataInferiorDataAtual"]; $(element).siblings('span').text(mensagemResource["PorFavorInsiraUmaDataInferiorDataAtual"]); return false; } } $(element).siblings('span').text(''); return true; } }); jQuery.validator.classRuleSettings._validDate = { _validDate: true }; } else { $(document).off("focusout").on("focusout", ".hasDatepicker", function () { var strResultado = isValidDate($(this).val()); GeraErro($(this), strResultado == true ? "" : strResultado); }); } if (!$.isEmpty($.validator)) { $.validator.messages = $.extend({}, $.validator.messages, mensagemErro); jQuery.validator.addMethod("_erroPersonalizado", function (value, element, options) { if (!$.isEmpty($.validator.messages["_erroPersonalizado"])) { return false; } return true; }); jQuery.validator.classRuleSettings._erroPersonalizado = { _erroPersonalizado: true }; jQuery.validator.setDefaults({ onkeyup: false, errorElement: "span", errorClass: "input-validation-error", ignore: [], errorPlacement: function (error, element) { $(error).addClass("field-validation-error"); if (element.siblings("span.erroTooltip").length > 0) { $(element).siblings("span.erroTooltip").text($(error).text()); } else { $(element).after(error); } }, success: function (error, element) { $(element).removeClass("input-validation-error").removeClass("_erroPersonalizado").siblings("span.erroTooltip").text("").removeClass("field-validation-error"); } }) } } function RemoverAcentos(s) { var map = { "â": "a", "Â": "A", "à": "a", "À": "A", "á": "a", "Á": "A", "ã": "a", "Ã": "A", "ê": "e", "Ê": "E", "è": "e", "È": "E", "é": "e", "É": "E", "î": "i", "Î": "I", "ì": "i", "Ì": "I", "í": "i", "Í": "I", "õ": "o", "Õ": "O", "ô": "o", "Ô": "O", "ò": "o", "Ò": "O", "ó": "o", "Ó": "O", "ü": "u", "Ü": "U", "û": "u", "Û": "U", "ú": "u", "Ú": "U", "ù": "u", "Ù": "U", "ç": "c", "Ç": "C" }; return s.replace(/[\W\[\] ]/g, function (a) { return map[a] || a }); } //function FormataRG(id_raca, registro) { function FormataRG(registro) { var rgFormatado = ""; if (!$.isEmpty(registro)) { $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Produto/Produto/FormataRG", { registro: registro }, function (resultado) { var status = resultado.msg; if (status == "SUCCESS") { rgFormatado = resultado.result; } else { ModalErro(); } }); $.ajaxSetup({ async: true }); } return rgFormatado; } function BuscaRacaProduto(id_raca) { VerificaRacaCategoria(); var racaAtual = null; if (!$.isEmpty(busca_avancada_produto_raca)) { $.each(busca_avancada_produto_raca, function (i, raca) { if (raca.id == id_raca) { racaAtual = raca; return false; } }); } return racaAtual; } function BuscaCategoriaProduto(id_categoria) { VerificaRacaCategoria(); var categoriaAtual = null; if (!$.isEmpty(busca_avancada_produto_categoria)) { $.each(busca_avancada_produto_categoria, function (i, categoria) { if (categoria.id == id_categoria) { categoriaAtual = categoria; return false; } }); } return categoriaAtual; } function fnVerificaModoInativo(inicializaInativo) { //Função a ser executada quando o usuário ficar mais que 20 minutos inativo var fnSenha = function () { ExigeSenha(function () { fnVerificaModoInativo(false); FechaModal(); }, function () { }, false, true, true); $("#formLoginUsuario .txtConfirmaSenha").text(mensagemResourceGlobal["MsgUsuarioInativo20Minutos"]); InicializaComponentesErro(); } //Caso o usuário tente burlar o sistema, exemplo: //Passou os 20 minutos, ai ele recarrega a página querendo que a modal suma, nesse caso não vai sumir. if (inicializaInativo) { fnSenha(); } else { let strChave = "strClockInativo" + id_pessoa_login; //Captura os eventos afim de manter sempre o ultimo momento $(document).on("click blur focusin focusout change mousehover mouseout", function (event) { window.localStorage.setItem(strChave, new Date().valueOf()); }); //Cria uma rotina para ficar verificando de minuto em minuto, se o usuário excedeu o tempo let intervaloExecucao = setInterval(function () { if (!$.isEmpty(window.localStorage.getItem(strChave))) { //Pega o último momento que o usuário fez alguma ação na janela let ultimoEvento = parseInt(window.localStorage.getItem(strChave)); //Caso excedeu o tempo, grava uma claim para o usuário, para bloquear que o mesmo faça alterações em outras telas if ((ultimoEvento + 1.2e+6) <= new Date().valueOf()) { $.post(raizAplicacao + "Base/InativaUsuario", null, function (resultado) { if (resultado.msg == "SUCCESS") { //Limpa o intervalo atual, para não abrir várias modais clearInterval(intervaloExecucao); //Chama a modal exigindo a senha do usuário. fnSenha(); } }); } } }, 60000); } } function VerificaRacaCategoria() { var strLocalRacaCategoria = localStorage.getItem("raca_categoria"); if (strLocalRacaCategoria != "" && strLocalRacaCategoria != null) { var objRacaCategoria = JSON.parse(strLocalRacaCategoria); let dataFinal = moment(new Date().toLocaleDateString("PT-BR"), "DD/MM/YYYY"); let dataInicial = moment(new Date(objRacaCategoria.data), "DD/MM/YYYY HH:mm:ss"); let diferenca = moment.duration(dataFinal.diff(dataInicial)); if (diferenca.hours() < 1) { busca_avancada_produto_categoria = objRacaCategoria.categoria; busca_avancada_produto_raca = objRacaCategoria.raca; } else { busca_avancada_produto_categoria = []; busca_avancada_produto_raca = []; } } if (busca_avancada_produto_categoria.length == 0 || busca_avancada_produto_raca.length == 0) { $.CallAjax("BuscaRacaCategoria", "Produto", "Produto", null).success(function (result) { if (result.msg == "SUCCESS") { busca_avancada_produto_categoria = result.result.categoria_produto; busca_avancada_produto_raca = result.result.raca_produto; var objRacaCategoria = new Object(); objRacaCategoria.raca = result.result.raca_produto; objRacaCategoria.categoria = result.result.categoria_produto; objRacaCategoria.data = new Date(); localStorage.setItem("raca_categoria", JSON.stringify(objRacaCategoria)); } }); } } function fnBuscaResource(strResource, listaChave) { var txtCultura = $.isEmpty(strCultura) ? "pt-BR" : strCultura; var objRetorno = {}; $.each(listaResource, function (i, resource) { if (resource.NomeResource == strResource && resource.Linguagem == txtCultura) { resource.Propriedades.filter(function (x) { if ($.inArray(x.NomePropriedade, listaChave) >= 0) { objRetorno[x.NomePropriedade] = x.ValorPropriedade; } }); return false; } }); return objRetorno } function PermiteOrgaoFazenda(id_fazenda) { var permiteOrgao = false $.ajaxSetup({ async: false }); $.get(raizAplicacao + "OrgaoExecutor/PermiteOrgaoFazenda", { id_fazenda: id_fazenda }, function (resultado) { if (resultado.msg == "SUCCESS") { permiteOrgao = resultado.result; } else { ModalErro(resultado.result); } }); $.ajaxSetup({ async: true }); return permiteOrgao; } function ModalLog(id, strTabela, fnConfirm) { var dt = new FormData(); dt.append("tabela", strTabela); dt.append("chave", id); $.CallAjax("GetLogPartialViewJson", "Log", null, dt).success(function (r) { if (r.msg == "OK") { $.allSIGEDynamicMessageBox({ boxMessage: r.html, boxTitle: "LOG", boxSize: "sm", boxType: "info", closeOnClickModal: false, boxButtons: [{ return: "CONFIRM", close: $.isEmpty(fnConfirm), label: "OK" }], onSuccess: fnConfirm }); } }); } function PessoaPossuiDebito(id_pessoa, id_orgao_executor) { var possuiDebito = true; if (id_pessoa > 0 && id_orgao_executor > 0) { $.ajaxSetup({ async: false }); $.get(raizAplicacao + "Financeiro/Movimentacao/VerificaDebitoPessoa", { id_pessoa: id_pessoa, id_orgao_executor: id_orgao_executor }, function (possui_debito) { possuiDebito = possui_debito; }); $.ajaxSetup({ async: true }); } return possuiDebito; } function VerificaServicoImpressao() { var servicoAtivo = false; try { $.ajax({ async: false, type: "GET", url: "http://localhost:8686/Impressao/VerificarServicoAtivo", success: function (resultado, text) { servicoAtivo = (resultado == "OK"); }, error: function (request, status, error) { servicoAtivo = false; } }); } catch (e) { } return servicoAtivo; } function SolicitaImpressaoServico(urlData, tipoRelatorio, parm) { var solicitouServico = false; if (VerificaServicoImpressao()) { $.get("http://localhost:8686/Impressao/GerarRelatorio", { strUrlData: urlData, tipoRelatorio: tipoRelatorio, parametroImpressao: parm }, function (resultado) { solicitouServico == (resultado == "OK"); }); } else { ModalErro(mensagemResourceGlobal["ServicoDeImpressaoNaoFoiInicializadoComputador"]); } return solicitouServico; } function OrganizarLayout() { var listaTamanho = []; for (var i = 1; i <= 12; i++) listaTamanho.push([i, i, i]); $.each($('[class^="col-"]'), function (i, seletor) { var listaClasse = $(seletor).attr("class").split(" "); var valorSM = 0, valorMD = 0, valorLG = 0; $.each(listaClasse, function (i, classe) { if (classe.indexOf("col-sm-") >= 0) { valorSM = parseInt(classe.replace("col-sm-", "")); } if (classe.indexOf("col-md-") >= 0) { valorMD = parseInt(classe.replace("col-md-", "")); } if (classe.indexOf("col-lg-") >= 0) { valorLG = parseInt(classe.replace("col-lg-", "")); } }); if (valorSM <= 0 & (valorLG > 0 || valorMD > 0)) { valorSM = listaTamanho[(valorLG || valorMD) - 1][0]; } if (valorMD <= 0 & (valorLG > 0 || valorSM > 0)) { valorMD = listaTamanho[(valorLG || valorSM) - 1][0]; } if (valorLG <= 0 & (valorSM > 0 || valorMD > 0)) { valorLG = listaTamanho[(valorSM || valorMD) - 1][0]; } $(seletor).addClass("col-lg-" + valorLG); $(seletor).addClass("col-md-" + valorMD); $(seletor).addClass("col-sm-" + valorSM); }); } function BuscaArquivoDisponibilizado() { $.get(raizAplicacao + "Arquivo/BuscaArquivoDisponibilizado", null, function (resultado) { if (resultado.msg == "SUCCESS" && !$.isEmpty(resultado.result)) { $("#icone-download").closest(".icone-nav").show(); let listaArquivo = resultado.result; $.each(listaArquivo, function (i, arquivo) { let liElement = $('
  • ' + arquivo.nome + '
  • '); liElement.click(function () { window.open(arquivo.url, "_blank"); }); $("#icone-download").append(liElement); }); } else { $("#icone-download").closest(".icone-nav").remove(); } }); } function IncluiDescricaoTela(lista_resource_descricao) { if ($('.nav').length) { $('
    ').prependTo('.tab-content') } else { $('
    ').insertAfter('.contentPrincipal>.row'); } } function imprimeTermo(id_pessoa, email) { $.get(raizAplicacao + "Comunicacao/ADT/GerarTermoResponsabilidade", { id_pessoa: id_pessoa, email: email }, function (resultado) { let status = resultado.msg; if (status == "SUCCESS") { window.open('/Uploads/temp/' + resultado.result, "_blank"); FechaModal(); } else if (status == "INFO") { ModalInformativa(resultado.result); } else { ModalErro(mensagemResourceGlobal["OcorreuErroAoGerarTermoResponsabilidade"]); } }); } function imprimeCarta(id_pessoa) { $.get(raizAplicacao + "Comunicacao/ADT/GerarCartaDeSenha", { id_pessoa: id_pessoa }, function (resultado) { let status = resultado.msg; if (status == undefined) { window.location = "/Sistema/Home/AcessoNegado"; } else if (status == "SUCCESS") { window.open('/Uploads/temp/' + resultado.result, "_blank"); } else if (status == "EMPTY") { ModalInformativa(resultado.result); } else { ModalErro(resultado.result); } }); } function imprimeADT(id_comunicacao) { if (!id_comunicacao) { return; } $.get(raizAplicacao + "Comunicacao/ADT/ImprimirADT", { id: id_comunicacao }, function (resultado) { let status = resultado.msg; if (status == undefined) { window.location = "/Sistema/Home/AcessoNegado"; } else if (status == "SUCCESS") { window.open('/Uploads/temp/' + resultado.result, "_blank"); } else if (status == "EMPTY") { ModalInformativa(resultado.result); } else { ModalErro(resultado.result); } }); } function imprimeADTTE(id_comunicacao) { if (!id_comunicacao) { return; } $.get(raizAplicacao + "Comunicacao/ADTTE/ImprimirADTTE", { id: id_comunicacao }, function (resultado) { let status = resultado.msg; if (status == undefined) { window.location = "/Sistema/Home/AcessoNegado"; } else if (status == "SUCCESS") { window.open('/Uploads/temp/' + resultado.result, "_blank"); } else if (status == "EMPTY") { ModalInformativa(resultado.result); } else { ModalErro(resultado.result); } }); } function ImprimeTermoResponsabilidade() { let listaResourceGeral = ["ErroVerificarCriadorTemCadastroOnline", "ImprimirTermoResponsabilidade", "InformeCriador", "MsgCriadorDeveTerPeloMenosCadastroParaAcessoOnline", "TermoResponsabilidade"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); let idPessoaCriador = BuscaClaim("CriadorID"); if (!$.isEmpty(idPessoaCriador)) { $.allSIGEDynamicMessageBox({ boxMessage: GetPartialView("Relatorios/TermoResponsabilidade/ConfirmaEmailPartial", "GET").responseText, boxTitle: mensagemResource["TermoResponsabilidade"].toUpperCase(), boxSize: "sm", boxType: "info", closeOnClickModal: true, boxFocusOnLoad: { selector: "#txtEmailTermo" }, onBeforeShow: function () { $(".message-box-footer").remove(); document.querySelector("#btn_adicionar_email").addEventListener('click', () => { FechaModal(); }); document.querySelector("#btn_ignorar_email").addEventListener('click', () => { FechaModal(); }); } }); } else { var pluginCriadorTermo = null; var listaMensagem = [{ titulo: mensagemResource["TermoResponsabilidade"], html: "", size: "sm", closeConfirm: false, ok: function () { if (!$.isEmpty(pluginCriadorTermo.getDataReturned())) { $.get(raizAplicacao + "Sistemas/Sistemas/BuscarPermissaoWeb", { id_pessoa: pluginCriadorTermo.getDataReturned().id_pessoa }, function (resultado) { if (resultado.msg == "SUCCESS") { if (resultado.result.length > 0) { if (resultado.result[0].PermiteCriadores) { imprimeTermo(pluginCriadorTermo.getDataReturned().id_pessoa, null); } else { MsgBox(mensagemResource["ImprimirTermoResponsabilidade"], mensagemResource["MsgCriadorDeveTerPeloMenosCadastroParaAcessoOnline"], "alert"); } } else { MsgBox(mensagemResource["ImprimirTermoResponsabilidade"], mensagemResource["MsgCriadorDeveTerPeloMenosCadastroParaAcessoOnline"], "alert"); } } else { MsgBox(mensagemResource["ImprimirTermoResponsabilidade"], mensagemResource["ErroVerificarCriadorTemCadastroOnline"], "alert"); } }); } else { FechaModal(); } } }]; ConfirmaPendencias(listaMensagem, 0, function () { }, false); pluginCriadorTermo = $("#txtCriadorTermo").buscaPersonalizada({ required: true, fieldID: "#id_criador_termo", sServerSide: true, loadOtherInformation: true, loadAllInformation: true, sAjaxUrl: raizAplicacao + "Pessoa/Pessoa/ListaCriador", propertyID: "id_pessoa", propertyText: "criador_ddg, Pessoa.nome", returnAllObject: true }); } } function ValidaEmail(email) { return mailValidationExp.test(email); } function fnInicializaGlobalizacao() { $.when( $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/likelySubtags.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/numberingSystems.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/timeData.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/weekData.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/ca-generic.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/ca-gregorian.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/dateFields.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/timeZoneNames.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/currencies.json"), $.get(raizAplicacao + "Scripts/Lib/cldr/supplemental/numbers.json") ).then(function () { return [].slice.apply(arguments, [0]).map(function (result) { return result[0]; }); }).then(Globalize.load).then(function () { Globalize.locale("pt"); if ('onLoadPage' in window) { onLoadPage(); } }); } function AlterarProtocoloComunicacao(filtro) { let listaResourceProtocolo = ["NaoFoiPossivelBuscarProtocoloReferenteComunicacao", "Protocolo", "ProtocoloComunicacaoFoiAlteradoComSucesso", "VisualizacaoProtocoloComunicacao", "VoceNaoPossuiPermissaoParaAleracaoProtocoloComunicacao"]; let listaResourceGeral = ["Data", "Fazenda", "NomeCriador"]; let listaResourceOrgaoExecutor = ["Orgao"]; let mensagemResource = {}; mensagemResource = GetResource("Protocolo", listaResourceProtocolo); $.extend(mensagemResource, GetResource("Geral", listaResourceGeral)); $.extend(mensagemResource, GetResource("OrgaoExecutor", listaResourceOrgaoExecutor)); let listaMensagem = []; let listaProtocolo = []; listaMensagem = [{ titulo: mensagemResource["VisualizacaoProtocoloComunicacao"], size: "lg", html: MontaEstruturaTabela("tabelaProtocoloDocumento", [ "", mensagemResource["Protocolo"], mensagemResource["Data"], mensagemResource["Orgao"], mensagemResource["NomeCriador"], mensagemResource["Fazenda"] ], "responsiveTable table table-striped table-bordered table-condensed tabelaProtocoloDocumento"), closeConfirm: false, ok: function () { let opcao = $("input[name=protocoloDocumento]:checked").val(); if (!$.isEmpty(opcao)) { opcao = parseInt(opcao); let protocolo = listaProtocolo[opcao]; if (protocolo.IdProtocoloDocumento > 0 && !protocolo.Comunicada) { $.post(raizAplicacao + "Protocolo/Protocolo/AlterarProtocoloComunicacao", { IdComunicacao: filtro.IdComunicacao, IdProtocoloDocumento: protocolo.IdProtocoloDocumento }, function (resultado) { if (resultado.msg == "SUCCESS") { ModalConcluida(null, mensagemResource["ProtocoloComunicacaoFoiAlteradoComSucesso"]); } else if (resultado.msg == "PERMISSAO") { ModalErro(mensagemResource["VoceNaoPossuiPermissaoParaAleracaoProtocoloComunicacao"]); } else { ModalErro(); } }); } else { FechaModal(); } } } }]; ConfirmaPendencias(listaMensagem, 0, function () { }); let tabelaProtocoloDocumento = RenderTable($("#tabelaProtocoloDocumento"), true); function gerarTabela() { tabelaProtocoloDocumento.fnClearTable(); $.get(raizAplicacao + "Protocolo/Protocolo/BuscarProtocoloDocumentoAlteracao", filtro, function (resultado) { if (resultado.msg == "SUCCESS" && !$.isEmpty(resultado.result)) { listaProtocolo = resultado.result; $.each(listaProtocolo, function (i, protocolo) { tabelaProtocoloDocumento.fnAddData([ protocolo.IdProtocoloDocumento > 0 ? '' : "", protocolo.NumeroProtocolo, ToDateSePrecisar(protocolo.DataProtocolo), protocolo.NomeOrgao, protocolo.DDG + " - " + protocolo.NomePessoa, protocolo.NumeroFazenda + " - " + protocolo.NomeFazenda ]); }); } else { ModalErro(mensagemResource["NaoFoiPossivelBuscarProtocoloReferenteComunicacao"], mensagemResource["Protocolo"]); } }); } gerarTabela(); } function GerarEstatisticaTEFiv() { let listaResourceGeral = ["Ambos", "Ate", "EstatisticaTEFIV", "NaoFoiPossivelGerarRelatorioTenteNovamente", "PeriodoDe", "PorFavorInsiraIntervaloMenor1Ano", "Tipo"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); let html = `
    `; var listaMensagem = [{ titulo: mensagemResource["EstatisticaTEFIV"], html: html, size: "sm", closeConfirm: false, ok: function () { if (!$.isEmpty($("#txtDataInicioRelatorio").val()) && !$.isEmpty($("#txtDataFimRelatorio").val())) { if (Date.DiffInDays($("#txtDataFimRelatorio").val(), $("#txtDataInicioRelatorio").val()) <= 366) { $.get(raizAplicacao + "Comunicacao/Comunicacao/GerarEstatisticaFIV", { dataInicio: $("#txtDataInicioRelatorio").val(), dataFim: $("#txtDataFimRelatorio").val(), tipo: $("#cmbTipoRelatorio option:selected").val() }, function (resultado) { if (resultado.msg == "SUCCESS") { window.open('/Uploads/temp/' + resultado.result, "_blank"); FechaModal(); } else ModalErro(mensagemResource["NaoFoiPossivelGerarRelatorioTenteNovamente"], mensagemResource["EstatisticaTEFIV"]); }); } else { ModalErro(mensagemResource["PorFavorInsiraIntervaloMenor1Ano"], mensagemResource["EstatisticaTEFIV"]); } } } }]; ConfirmaPendencias(listaMensagem, 0, function () { }, false); InicializaDatePicker(); $("#txtDataInicioRelatorio").focus(); } function VerificaAmbienteConexao() { // Chama sub que verifica e atualiza claim $.CallAjax("VerificaAmbienteConexao", "Base", null, null).success(function (result) { // Guarda a ultima execução no storage window.localStorage.setItem("lastEnvironmentCheck", new Date().valueOf()); // Guarda a ultima execução no storage window.localStorage.setItem("currentEnvironment", result); // Atribui o valor do claim na tag $("#ambiente-conexao").html(result); // Altera a cor de acordo com o conteúdo AlteraCorAmbienteConexao(); // Se não existir um interval programado, cria um if (!envIntervalCheckId) { envIntervalCheckId = setInterval(function () { VerificaAmbienteConexao(); }, envCheckInterval); // Programa próxima execução para o intervalo determinado } }); } function AlteraCorAmbienteConexao() { let bgColor = $("#ambiente-conexao").text().toLowerCase().includes('teste') ? 'green' : 'red' $("#ambiente-conexao").css("background-color", bgColor) } function ProgramaVerificacaoAmbiente() { // Se não tiver timeout programado if (!envTimeoutCheckId) { // Cria um com o tempo que falta para a próxima execução let lastCheck = parseInt(window.localStorage.getItem("lastEnvironmentCheck")) let nextRun = envCheckInterval - (new Date().valueOf() - lastCheck) envTimeoutCheckId = setTimeout(function () { VerificaAmbienteConexao(); }, nextRun) // Programa próxima execução para o tempo restante até o intervalo definido } } window.addEventListener("focus", () => { // Verifica se ambiente deve ser controlado if (verificarAmbiente) { // Se nome do ambiente existir no storage if (window.localStorage.getItem("currentEnvironment")) { $("#ambiente-conexao").html(window.localStorage.getItem("currentEnvironment")); AlteraCorAmbienteConexao(); } // Se verificação existir no storage if (window.localStorage.getItem("lastEnvironmentCheck")) { let lastCheck = parseInt(window.localStorage.getItem("lastEnvironmentCheck")); // Se a última execução passou do tempo determinado if (lastCheck + envCheckInterval <= new Date().valueOf()) { // Executa a task VerificaAmbienteConexao(); return; } // Senão, programa próxima execução se não existir uma já criada ProgramaVerificacaoAmbiente(); return; } // Se não existir no storage, executa a primeira vez pra adicionar VerificaAmbienteConexao(); } }); window.addEventListener("blur", () => { // Ao sair da tela, limpa os eventos de interval e timeout if (envIntervalCheckId) { clearInterval(envIntervalCheckId); envIntervalCheckId = null; } if (envTimeoutCheckId) { clearTimeout(envTimeoutCheckId); envTimeoutCheckId = null; } });; var width = 0; var pesquisaGeralPessoa; function GetResult(url) { $(".loader_mask").hide(); } window.setInterval(function () { /// call your function here VerificaAlertasSigen() }, 50000); function VerificaAlertasSigen() { } $(document).click(function () { $('.itemListaAberta').removeClass("itemListaAberta"); }); $(window).resize(function () { width = window.innerWidth; evento(); resizeContent(); }); $(document).ready(function () { localStorage.removeItem('lista_atalhos'); var url = window.location.pathname.toString(); GetResult(url); width = $(window).width(); MontagemMenu(); //Chamado #20220568 suspenso //Chama função apenas se a janela tiver focada //if (document.hasFocus()) { VerificaTarefasSigen(); } evento(); resizeContent(); $(document).on("keyup focusout focusin", "input[type=text]:not(.ignoraUpperCase)", function () { $(this).val($(this).val().toUpperCase()); }); if (!$.isEmpty($.fn.buscaProduto)) { if ($.inArray(departamento, ["SEZB", "PMGZL", "PROGE", "PRODU", "DSI", "DDS", "DDG", "COE", "DPZ", "SMG", "DPMG", "SAG", "STI", "SUT", "SUG"]) >= 0) { $("#busca_pessoa_principal").buscaPersonalizada({ fieldID: "#id_pessoa_geral", sServerSide: true, sAjaxUrl: raizAplicacao + "Pessoa/Pessoa/ListaCriador", propertyID: "id_pessoa", propertyText: "criador_ddg, Pessoa.nome", onSucessItem: function (id) { window.location.href = raizAplicacao + "Pessoa/Pessoa/Details/" + id } }); } else { $("#busca_pessoa_principal").buscaPersonalizada({ fieldID: "#id_pessoa_geral", sServerSide: true, sAjaxUrl: raizAplicacao + "Pessoa/Pessoa/ListaPessoa", propertyID: "id", propertyText: "nome", onSucessItem: function (id) { window.location.href = raizAplicacao + "Pessoa/Pessoa/Details/" + $("#id_pessoa_geral").val() } }); } $("#divProdutoPrincipal").buscaProduto({ setResultID: "#id_produto_principal", inputForExibition: false, fastFill: false, generateInput: false, closeModalOnConfirm: false, listaPesquisaPossivel: ["SERIE"], placeHolder: true, loader: false, async: true, exibirLupa: true, permiteOutroCriador: false, onSuccessResult: function (produto) { if ('TransfereProduto' in window) { TransfereProduto(produto.id, false); } else { sessionStorage.removeItem("SequenciaProduto"); window.location.href = raizAplicacao + "Produto/Produto/Details/" + produto.id; } } }); } $("#informacaoR").click(function () { $('#infoComplementar, #geralUser, #servicos').css('display', 'none'); if ($('#informacao').is(':visible')) { $('#informacao').css('display', 'none'); } else { $('#informacao').css('display', 'block'); } }); $(".icone-nav").click(function () { $(".info-nav").not($(this).find(".info-nav")).hide(); $(this).find(".info-nav").toggle(); }); $('#lista_cadastro').click(function () { if ($(this).find('ul').hasClass('openMenu')) { $(this).find('ul').removeClass('openMenu') } else { $(this).find('ul').addClass('openMenu') } }); if ($('.novo').attr('href') == undefined) { $('.novo').attr('disabled', 'disabled') } }); $(document).ajaxComplete(function () { $('input:disabled, select:disabled, textarea:disabled').prev('.labelInput').attr('style', "color: #4d4d4d !important;"); $('input:enabled, select:enabled, textarea:enabled').prev('.labelInput').removeAttr('style'); }); addListenerMulti(document, 'DOMContentLoaded click', function () { $('input:disabled, select:disabled, textarea:disabled').prev('.labelInput').attr('style', "color: #4d4d4d !important;"); $('input:enabled, select:enabled, textarea:enabled').prev('.labelInput').removeAttr('style'); }) function addListenerMulti(element, eventNames, listener) { var events = eventNames.split(' '); for (var i = 0, iLen = events.length; i < iLen; i++) { element.addEventListener(events[i], listener, false); } } //funcionamento do menu function evento() { //cancela os eventos handler $(".containerMenu").off(); $(".linkGeral").off(); $('.menuMini').addClass("menuLateral") $(".menuLateral").removeClass("menuMini"); $(".tituloGeral, .userInfo, .iconOption").removeAttr('style'); $('.containerMenu').find('.itemListaAberta').removeClass("itemListaAberta"); $('.containerMenu').find('.itemListaFechada').removeClass("itemListaFechada"); $('.btnVoltar').on('click', function (ev) { ev.stopPropagation(); $(this).parent().removeClass("itemListaAberta"); }); } //redefine tamanho do content function resizeContent() { var tamTelaW = window.outerWidth; var lista_atalhos = JSON.parse(localStorage.getItem("lista_atalhos")); if (lista_atalhos != null) { atalhos(lista_atalhos); } else { atalhos([]); } var tamTelaW = window.innerWidth; var tamTelaH = $(window).height(); var tamMenuW = $(".menuLateral").width(); if (tamMenuW == null) { tamMenuW = $(".menuMini").width(); } var topMenu = document.getElementById('topMenu'); var tamTopMenu = topMenu.clientHeight; var tamContentW = (tamTelaW - tamMenuW); // alert(tamTelaW) //(25) Espaco da lateral do menu principal tamTelaH = ((tamTelaH) - tamTopMenu); $("#topMenu").css("width", tamContentW + "px"); $(".contentPrincipal").css("width", tamContentW + "px"); $(".contentPrincipal").css("height", tamTelaH + "px"); var tamInfo = $('.informacao_tela').height() var tamTitulo = $('.tituloPage').outerHeight(); var tamT = (tamTelaH - tamTitulo - tamInfo) - 40 $("#alert_preview_msg").css("max-width", tamContentW - 25 + "px"); $(".conteudo").css("height", tamT + "px"); //rederização da Barra Fixa // (-20) é o espaco livre entre divs if (tamTelaW > 100) { $("#informacao, #pessoa_busca, #divProdutoPrincipal ").removeAttr('style') } else { $("#informacaoo, #pessoa_busca, #divProdutoPrincipal ").css('display', 'none'); } if ($('.novo').length > 0) { var p = $('.novo').position(); var new_value = p.left - 100 $("#lista_cadastro ul").removeAttr('style'); $("#lista_cadastro ul").css('left', new_value); } } //mae desculpa por esse código var lsAsideSelector = "[data-sigen-open='doAsideBar']"; var lsClassIn = "fadeIn"; var lsClassOut = "fadeOut"; var closeAside = function () { $(lsAsideSelector).removeClass(lsClassIn); $(lsAsideSelector).addClass(lsClassOut); $(lsAsideSelector).addClass('animated'); $('.btn-option-featured').css('width', '50px'); setTimeout(function () { $(lsAsideSelector).hide(); }, 300); } var openAside = function (tab) { tab == undefined ? tab = 0 : ""; $(lsAsideSelector).removeClass(lsClassOut); $(lsAsideSelector).addClass(lsClassIn); $(lsAsideSelector).addClass('animated'); $(lsAsideSelector).show(); $('.tab .tab-item, .content .tab-content').each(function () { $(this).hide(); }); $($('.tab .tab-item').get(tab)).show(); $($('.content .tab-content').get(tab)).show(); $('#drag-drop-box').hide(); }; function doAsideBar() { if ($(lsAsideSelector).is(':visible')) { closeAside(); } else { openAside(); } } $('html').click(function (e) { var name = $(e.target).attr('id'); var nameClass = $(e.target).attr('class'); var dataAttr = $(e.target).data('click-type'); if (name != 'config' && nameClass != "fa fa-gear" && dataAttr == undefined) { var parents = $(e.target).parents(); var close = false; for (var i = 0; i < parents.length; i++) { if ($($(parents).get(i)).hasClass('box-options')) { close = true; } } if (!close) { closeAside(); } } }); $(document).ready(function () { var lsTabItemSelector = '[data-sigen-tab-child="true"] .tab .tab-item'; var lsTabContentSelector = '[data-sigen-tab-child="true"] .content .tab-content'; doWorkTab(); function doWorkTab() { $(lsTabItemSelector).click(function () { var lnIndexAtual = $(this).index(); $(lsTabItemSelector + ',' + lsTabContentSelector).each(function (i, e) { $(e).removeClass('active'); }); $($(lsTabItemSelector).get(lnIndexAtual)).addClass('active'); $($(lsTabContentSelector).get(lnIndexAtual)).addClass('active'); }); } $(document).on("click", "[data-click-type]", function () { var type = $(this).data('click-type'); switch (type) { case 1: openAside(1); $('#drag-drop-box').show(); break; case 2: break; case 3: openAside(2); break; default: break; } }); }); var lnCount = 0; function resizeAside() { lnCount++; if (lnCount == 1) { $('.box-options:first').animate({ width: '+=300px' }, 300); $('#drag-drop-box').removeClass('fa-arrow-down'); } else if (lnCount == 2) { $('.box-options:first').animate({ width: '+=300px' }, 200); $('#drag-drop-box').addClass('fa-arrow-down'); } else if (lnCount == 3) { $('#drag-drop-box').removeClass('fa-arrow-down'); $('.box-options:first').animate({ width: '290px' }, 300); } if (lnCount > 2) { lnCount = 0; } } var listaMenu = []; function MontagemMenu() { let listaResourceGeral = ["OcorreuErroTentarCarregarInformacaoMenu"]; let mensagemResource = {}; mensagemResource = GetResource("Geral", listaResourceGeral); if (!$.isEmpty(id_pessoa_login)) { var menuUsuario = sessionStorage.getItem("MenuUsuario_" + id_pessoa_login + "_" + document.URL.split("/")[3]); var objMenu = (menuUsuario != null ? JSON.parse(menuUsuario) : new Object()); if ($.isEmpty(menuUsuario) || (new Date(objMenu.data).getHours() - new Date().getHours()) > 1) { $.post(raizAplicacao + "Sistemas/Menu/BuscaMontagemMenu", {}, function (resultado) { if (resultado.msg == "SUCCESS") { objMenu = { listaMenu: resultado.result, data: new Date(), } sessionStorage.setItem("MenuUsuario_" + BuscaClaim("IDPessoaLogin") + "_" + document.URL.split("/")[3], JSON.stringify(objMenu)); listaMenu = resultado.result; ManipulaMenu(); if (window.location.href.indexOf("SigenLogin") == -1) { //Verifica a quantidade de tarefas para o perfil logado $.post(raizAplicacao + "Comunicacao/Correspondencia/VerificaQuantidadeDeCartasParaCriadorConferenteGerenteESuperintendente", {}, function (result) { //$.CallAjax("VerificaQuantidadeDeCartasParaCriadorConferenteGerenteESuperintendente", "Correspondencia", "Comunicacao", null, true).success(function (result) { if (result.msg == "SUCCESS") { localStorage.setItem("quantidade_de_tarefas_ou_sac", result.obj.quantidade_de_cartas); localStorage.setItem("cargo", result.obj.cargo); if (result.obj.quantidade_de_cartas > 0) { $('#geral li').find('.quantidade_de_tarefas_ou_sac').text(result.obj.quantidade_de_cartas); //Verifica se é funcionario ou criador para jogar a cor amarela if (result.obj.cargo == "c" || result.obj.cargo == "f") { $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "#ccc73c"); } else {//caso seja gerente ou superintendente joga a cor vermelha, pq sao as cartas em aberto por mais de 24 horas $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "red"); } } } }); } } else { ModalErro(mensagemResource["OcorreuErroTentarCarregarInformacaoMenu"]); } }); } else { listaMenu = objMenu.listaMenu; ManipulaMenu(); //Verifica no localstorage o cargo e a quantidade de cartas para atualizar o menu de tarefas ou sca var quantidade_de_tarefas_ou_sac = localStorage.getItem("quantidade_de_tarefas_ou_sac"); var cargo = localStorage.getItem("cargo"); $('#geral li').find('.quantidade_de_tarefas_ou_sac').text(quantidade_de_tarefas_ou_sac); //Verifica se é funcionario ou criador para jogar a cor amarela if (cargo == "c" || cargo == "f") { $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "#ccc73c"); } else {//caso seja gerente ou superintendente joga a cor vermelha, pq sao as cartas em aberto por mais de 24 horas $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "red"); } } } } function GeraItemNovo(itemMenu) { $("#lista_cadastro ul").append(String.format("
  • {1}
  • ", itemMenu.href, itemMenu.nome)); } function ManipulaMenu() { var listaNova = []; var strHtml = ""; do { var itemMenu = listaMenu[0]; listaMenu.splice(0, 1); var listaFilha = OrganizaMenu(itemMenu); if ((!$.isEmpty(itemMenu.href) && itemMenu.permite_todos) || listaFilha.length > 0) { itemMenu.ListaItem = listaFilha; listaNova.push(itemMenu); } if (itemMenu.atalho_cadastro && itemMenu.permite_todos && !$.isEmpty(itemMenu.href)) { GeraItemNovo(itemMenu); } } while (listaMenu.length != 0); $.each(listaNova, function (i, item) { if (item.ListaItem == null || item.ListaItem <= 0) { strHtml += String.format('
  • ' + '' + '
    ' + '
    ' + '' + '{2}' + '
    ' + '
    ' + '
    ' + '
  • ', item.href, item.font, item.nome); } else { //Tem que deixar o onclick na div devido ao iOS //Quando clica na div que não possui "nenhuma ação", ele seleciona o texto ao invés de executar a ação do CSS //Fazendo com que o menu lateral não abra. strHtml += '
  • ' + '
    ' + '
    ' + '
    ' + '' + '{1}' + '
    ' + '
    ' + '' + '
    ' + '
  • '; var strHtmlSub = SubMenuLateral(item.ListaItem); strHtml = String.format(strHtml, item.font, item.nome, strHtmlSub); } }); $("#geral li").before(strHtml); } function OrganizaMenu(itemMenu) { var listaNova = []; var listaAuxiliar = listaMenu.filter(function (x) { return !$.isEmpty(x.MenuSigen) && x.MenuSigen.id == itemMenu.id }); while (listaAuxiliar.length != 0) { var item = listaAuxiliar[0]; listaAuxiliar.splice(0, 1); var listaFilha = OrganizaMenu(item); if ((!$.isEmpty(item.href) && item.permite_todos) || listaFilha.length > 0) { item.ListaItem = listaFilha; listaMenu = listaMenu.filter(function (x) { return x.id != item.id }); listaNova.push(item); } if (item.atalho_cadastro && item.permite_todos && !$.isEmpty(item.href)) { GeraItemNovo(item); } }; return listaNova; } //#region FUNÇÃO PARA MONTAGEM DE MENU function SubMenuLateral(lista_item) { var strHtml = ""; $.each(lista_item, function (j, subItem) { if (subItem.ListaItem == null || subItem.ListaItem.length == 0) { strHtml += String.format('
  • ' + '' + '{1}' + '' + '
  • ', subItem.href, subItem.nome); } else { strHtml += '
  • ' + '
    ' + '
    ' + '' + '{0}' + '
    ' + '
  • '; strHtml = String.format(strHtml, subItem.nome); } }); return strHtml; } //#endregion //Chamado #20220568 suspenso // #region Rotina de validação de tarefas //window.addEventListener("focus", VerificaTarefasSigen); //Força verificação quando página recuperar foco //window.addEventListener("blur", RoutineClear); //Cancela verificações quando perder o foco ////Arrays para identificar rotinas em intervalos existentes //var intervalIDs = []; //var timeoutIDs = []; //var inbetweenTime = 120000; //2min //function VerificaTarefasSigen() { // let lastCheck = localStorage.getItem("lastCheck"); //Verifica se localstorage possui ultima checagem // if (lastCheck) { //Se existir // let msFromLastCheck = new Date().getTime() - new Date(lastCheck).getTime(); //Milisegundos desde a ultima checagem // if (msFromLastCheck < inbetweenTime) { //Se for menor que o tempo definido entre execuções // timeoutIDs.push(setTimeout(AlertCheck, inbetweenTime - msFromLastCheck)); //Seta delay de execução para quanto tempo falta até a próxima // AtualizaQuantidadeCartas(null); //Seta os últimos registros do storage no campo enquanto espera a próxima busca // } else { //Senão // AlertCheck(); //Executa imediatamente // } // } else { //Senão // AlertCheck(); //Executa imediatamente // } //} //function AlertCheck() { // AtualizaTarefas(); //Chama atualização de tarefas // if (intervalIDs.length == 0) { //Se não existir alert programado, insere um // intervalIDs.push(setInterval(AlertCheck, inbetweenTime)) //Seta a próxima execução para o tempo definido após o final da atual // } //} //function RoutineClear() { //Limpa as rotinas em segundo plano // //Limpa os intervals criados na instancia // intervalIDs.forEach((id) => { // clearInterval(id); // }); // //Limpa os timeouts criados na instancia // timeoutIDs.forEach((id) => { // clearTimeout(id); // }) // //Reinicializa as variáveis // intervalIDs = []; // timeoutIDs = []; //} //function AtualizaTarefas() { // if (window.location.href.indexOf("SigenLogin") == -1) { //Se não for tela de Login // //Verifica a quantidade de tarefas para o perfil logado // $.CallAjax("VerificaQuantidadeDeCartasParaCriadorConferenteGerenteESuperintendente", "Correspondencia", "Comunicacao", null).success(function (result) { // if (result.msg == "SUCCESS") { // localStorage.setItem("lastCheck", new Date()) //Atribui quando foi feita a última checagem ao localStorage // localStorage.setItem("quantidade_de_tarefas_ou_sac", result.obj.quantidade_de_cartas); //Quantidade de cartas na notificação // AtualizaQuantidadeCartas(result.obj.cargo) // } // }); // } //} //function AtualizaQuantidadeCartas(cargo) { // const qtdCartas = localStorage.getItem("quantidade_de_tarefas_ou_sac"); // $(".quantidade_de_tarefas_ou_sac").closest("li").removeClass("alerta-menuLateral"); //Remove animação de atenção necessária // if (qtdCartas > 0) { //Se houver ocorrências // $('#geral li').find('.quantidade_de_tarefas_ou_sac').text(qtdCartas); //Atribui quantidade de ocorrências ao campo // $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "blue"); // if (cargo) { //Se foi informado, faz a checagem de acordo com o que foi enviado // if (["g", "s"].includes(cargo)) { //Caso seja gerente ou superintendente joga a cor vermelha, pq sao as cartas em aberto por mais de 24 horas // $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "red"); // } // if (cargo == "f") { //Alerta apenas para funcionário // $(".quantidade_de_tarefas_ou_sac").closest("li").addClass("alerta-menuLateral"); //Adiciona animação de atenção necessária // } // } else { //Senão, chama método para verificar cargo // if (VerificaGerenteOuSuperint()) { //Caso pessoa logada seja superint. ou gerente // $('#geral li').find('.quantidade_de_tarefas_ou_sac').css("background-color", "red"); // } // } // } //} //function VerificaGerenteOuSuperint() { // let response = false; // $.CallAjax("VerificaGerenteOuSuperintendente", "Grupo", "Sistemas", null).success(function (result) { // if (result.msg == "SUCCESS") { // response = result.result; // } // }); // return response; //} // #endregion;