Load function after loading all screen functions

Asked

Viewed 68 times

0

How do I execute a function after executing all screen functions?

I have a screen that needs to be completely filled in for me to invoke a field fill function.

The function :

$(document).ready({    
    if(pPimId) {
        $.ajax({

            url: "/Pim/Pim/ObterPimPorId",
            data: { pPimId: pPimId },
            beforeSend: function () {

                adicionarLoadingTela();
            }
        }).done(function (result) {

            console.log(result);
            $("#txbPimCodigo").val(result.Retorno.Id);
            $("#txbPimCodigoOrigem").val(result.Retorno.idOrigem);
            $("#ddlAlmoxarifado").val(result.Retorno.Almoxarifado).selectpicker("refresh");
            $("#ddlStatus").val(result.Retorno.Situacao.Id).selectpicker("refresh");
            $("#ddlTipo").val(result.Retorno.Tipo.Id).selectpicker("refresh");
            $("#ddlEstabelecimento").val(result.Retorno.Estabelecimento.Sigla).selectpicker("refresh");
            $("#ddlObjetivo").val(result.Retorno.Objetivo.Id).selectpicker("refresh");
            $("#txbPimCodigo").val(result.Retorno.Id);

            removerLoadingTela();
        });
    }
})

Must be loaded after loading the script :

var itemSequencia = 0;
var _arquivosArray = [];
var _tiposArquivo = ['jpg', 'png', 'bmp', 'tif', 'pdf', 'xls', 'xlsx', 'doc', 'docx', 'txt', 'zip', 'rar', 'dat', '7z', 'msg', 'html'];
var _arquivo;
var pPimId = getParameterByName('pPimId');

$("#btnGravar").click(function () {
    if ($('#formPim').valid()) {

        if ($('#tbItem tbody tr').length > 0) {

            $.ajax({
                url: "/ATPGTO/AP/ObterDadosUsuario"
            }).done(function (dadosUsuario) {

                var itens = [];
                $('#tbItem tbody tr').each(function () {
                    var item = {
                        'Pim': { 'Id': $("#txbPimCodigo").val() },
                        'Item': { 'Id': $($(this).find('td').get(0)).text() },
                        DescricaoComplementar: $($(this).find('td').get(4)).text(),
                        Qtde: $($(this).find('td').get(1)).text(),
                        UltimasCompras: $($(this).find('td').get(5)).text(),
                        UltValor: $($(this).find('td').get(6)).text(),
                        'EstabelecimentoDestino.Sigla': $($(this).find('td').get(8)).text(),
                        'Destino.Id': $($(this).find('td').get(9)).text(),
                        OrdemDeServico: $($(this).find('td').get(11)).text(),
                        Alocacao: $($(this).find('td').get(12)).text()
                    };
                    itens.push(item);
                });

                var orcamentos = [];
                $.each(_arquivosArray, function (i, e) {

                    var orcamento = {

                        Descricao: e._arquivo.name,
                        'Fornecedor.Nome': e._fornecedor,
                        OpcaoTecnica: e._opcaoTecnica,
                        Valor: e._valor
                    };
                    orcamentos.push(orcamento);
                });

                var param = {
                    pPimId: $("#txbPimCodigo").val() == "" ? "0" : $("#txbPimCodigo").val(),
                    pPimIdOrigem: $("#txbPimCodigoOrigem").val() == "" ? "0" : $("#txbPimCodigoOrigem").val(),
                    pPimElaboradorId: dadosUsuario.Id,
                    pPimEstabelecimentoSigla: $("#ddlEstabelecimento").val(),
                    pPimCentroCustoElaboradorId: $("#ddlUfElaboradora").val(),
                    pPimCentroCustoDestinoId: $("#ddlDestino").val(),
                    pPimPrazo: $("#txbPrazo").val(),
                    pPimResumo: $("#txbResumo").val(),
                    pPimJustificativa: $("#txbJustificativa").val(),
                    pPimPlanejado: $("#ddlPlanejado").val(),
                    pPimProjetoId: $("#txbProjetoCodigo").val() == "" ? "0" : $("#txbProjetoCodigo").val(),
                    pPimObjetivoId: $("#ddlObjetivo").val(),
                    pPimTipoId: $("#ddlTipo").val(),
                    pPimOrcamentoDescritivo: $("#txbOrcamentoDescritivo").val(),
                    pPimSituacaoId: $("#ddlStatus").val(),
                    pPimAlmoxarifado: $("#ddlAlmoxarifado").val(),
                    pPimAprovadorUsuarioId: $("#ddlAprovador").val(),
                    pPimSolicitanteLogin: $("#txbSolicitanteMatr").val(),
                    pItem: itens,
                    pOrcamento: orcamentos
                };

                $.ajax({
                    url: "/Pim/Pim/Elaborar",
                    type: 'POST',
                    data: param,
                    beforeSend: function () {
                        adicionarLoadingTela();
                        $("#btnToTop").trigger("click");
                    }
                }).done(function (retorno) {
                    if ("OK" == retorno.Mensagem) {
                        $("#txbPimCodigo").val(retorno.Retorno.Id);
                        fileUpload(retorno.Retorno.Id);
                        exibirMensagem({ Tipo: "S", Mensagem: "PIM " + retorno.Retorno.Id + " foi gerado com sucesso." });
                    } else {
                        exibirMensagem({ Tipo: "A", Mensagem: retorno.Mensagem });
                    }
                }).always(function () {
                    removerLoadingTela();
                });
            });
        }
        else {
            exibirMensagem({Tipo: "A", Mensagem: "Insira pelo menos um item antes de gravar."})
        }

    }
});

function fileUpload(myPimId) {
    if (_arquivosArray.length > 0) {
        if (window.FormData !== undefined) {
            var data = new FormData();
            var formData = new FormData();            
            for (var i = 0, len = _arquivosArray.length; i < len; i++) {
                formData.append('files', _arquivosArray[i]._arquivo);
            }
            var _url = '/Pim/Pim/UploadArquivo?pPimId=' + myPimId;            
            $.ajax({
                type: 'POST',
                url: _url,
                data: formData,
                processData: false,
                contentType: false,
                async: false
            }).done(function (result) {

            });
        }
    }    
}


function anexoPim(pFornecedor, pValor, pOpcaoTecnica, pArquivo) {
    this._fornecedor = pFornecedor;
    this._valor = pValor;
    this._opcaoTecnica = pOpcaoTecnica;
    this._arquivo = pArquivo;
}

function obterEstabelecimentoEms() {
    $.ajax({
        url: "/ATPGTO/AP/ObterDadosUsuario"
    }).done(function (resultUsuario) {
        $.ajax({
            url: '/Pim/Estabelecimento/ObterEstabelecimentoEms',
            beforeSend: function () {
                adicionarLoading('ddlEstabelecimento');
                adicionarLoading('ddlItemEstabDestino');
            }
        }).done(function (resultEstab) {
            carregarDropDown(resultEstab, 'ddlEstabelecimento', 'Sigla', 'Sigla');
            carregarDropDown(resultEstab, 'ddlItemEstabDestino', 'Sigla', 'Sigla');
            removerLoading('ddlEstabelecimento');
            removerLoading('ddlItemEstabDestino');
            $("#ddlEstabelecimento").val(resultUsuario.Funcionario.Secao.Divisao.Estabelecimento.Sigla).selectpicker('refresh');
            $("#ddlItemEstabDestino").val(resultUsuario.Funcionario.Secao.Divisao.Estabelecimento.Sigla).selectpicker('refresh');
            obterUfElaboradora(resultUsuario.Funcionario.CentroCusto.Id);          
            obterEstabelecimentoElaborador();
        });
    });
}

function listarHistoricoUltimasCompras() {
    try {
        if ($("#txbItemCodigo").val() == "" || $("#txbItemDestino").val() == "") return;
        var param = {
            pEstabelecimentoSigla: $("#ddlItemEstabDestino").val(),
            pDestinoId: $("#txbItemDestino").val(),
            pItemId : $("#txbItemCodigo").val()
        };
        $.ajax({
            url: "/Pim/Destino/ListarHistoricoUltimasCompras",
            data: param
        }).done(function (historicos) {
            historicos.length > 0 ? $("#tbHistoricoUltimasCompras").show() : $("#tbHistoricoUltimasCompras").hide();
            $.each(historicos, function (i) {
                $('#tbHistoricoUltimasCompras tbody').append($('<tr style="cursor:pointer"></tr>')                    
                    .append($("<td></td>").text(this.Pim.Id))
                    .append($("<td></td>").text(moment(this.Ordem.DataImplantacao).format("DD/MM/YYYY")))                    
                    .append($("<td></td>").text(this.Item.Id))
                    .append($("<td></td>").text(this.Item.Descricao))                    
                    .append($("<td></td>").text(this.QtdeAquisicao))
                    .append($("<td></td>").text(this.OrdemDeServico))                    
                );
            });
        });
    } catch (e) {
        exibirMensagem({ Tipo: "E", Mensagem: e.message });
    }
}

function obterObjetivos() {
    $.ajax({
        url: "/Pim/Objetivo/Listar",
        beforeSend: function () {
            adicionarLoading('ddlObjetivo');
        }
    }).done(function (result) {
        carregarDropDown(result, "ddlObjetivo", 'Id', 'Descricao', false, { "": 'Selecione um objetivo...' }, "0");
        removerLoading('ddlObjetivo');
    });
}

$(function () {
    $("#formPim").validate({
        rules:
        {
            ddlAlmoxarifado: { required: true },
            ddlTipo: { required: true },
            ddlObjetivo: { required: true },
            txbPrazo: { required: true },
            ddlUfElaboradora: { required: true },
            ddlDestino: { required: true },
            txbResumo: { required: true },
            ddlPlanejado: { required: true },
            txbJustificativa: { required: true },
            txbSolicitanteMatr: {required: true }
        },
        messages:
        {
            ddlAlmoxarifado: { required: "O campo Almoxarifado deve ser selecionado" },
            ddlTipo: { required: "O campo Tipo deve ser selecionado" },
            ddlObjetivo: { required: "O campo Objetivo deve ser selecionado" },
            txbPrazo: { required: "O campo Prazo deve ser selecionado" },
            ddlUfElaboradora: { required: "O campo UF Elaboradora deve ser selecionada" },
            ddlDestino: { required: "O campo Destino deve ser selecionado" },
            txbResumo: { required: "O campo Resumo deve ser preenchido" },
            ddlPlanejado: { required: "O campo Planejado deve ser selecionado" },
            txbJustificativa: { required: "O campo Justificativa deve ser preenchido" },
            txbSolicitanteMatr: { required: "O campo Matr. Solicitante  deve ser preenchido"}
        }
    });
    obterEstabelecimentoEms();    
    obterObjetivos();
    $("#txbItemQtde").mask('000.000.000.000.000,00', { reverse: true });    
    $('#txbPimCodigo').val('0');
    $("#txbItemPatrimonio").val('0');
    $('#txbPimCodigoOrigem').val('0');
    datePckr("#txbPrazo");
    $("#txbAnexoValor").mask('000.000.000.000.000,00', { reverse: true });
});

$('#ddlEstabelecimento').on('change', function () {
    $.ajax({
        url: "/ATPGTO/AP/ObterDadosUsuario"
    }).done(function (resultUsuario) {
        obterDestino($('#ddlEstabelecimento').val(), resultUsuario.Id);
        $("#ddlItemEstabDestino").val($('#ddlEstabelecimento').val()).selectpicker('refresh');
        limparItem();
        $("#tbItem tbody").empty();
        $("#tbItem").hide();
        $("#txbItemDestino").val('');
    });    
});

$('#ddlDestino').on('change', function () {
    $("#txbItemDestino").val($('#ddlDestino').val());
    listarAprovador();
});

$('#txbProjetoCodigo').on('change', function () {

    if ($('#txbProjetoCodigo').val() > 0) {

        if ($("#ddlDestino").val() !== "") {

            var param = {

                pEstabelecimento: $('#ddlEstabelecimento').val(),
                pCentroCusto: $('#ddlDestino').val(),
                pProjeto: $('#txbProjetoCodigo').val()
            };

            $.ajax({
                url: '/Pim/Projeto/ObterProjetoPorEstabCcustoCodigo',
                data: param
            }).done(function (result) {

                if (result.Mensagem === "OK") {
                    $('#txbProjetoDescricao').val(result.Retorno.Descricao);
                    $('#txbProjetoValorPlanejado').val(result.Retorno.ValPrevisto.formatMoney(2, ',', '.'));
                    $('#txbProjetoSaldo').val(result.Retorno.ValorLiberadoGastar.formatMoney(2, ',', '.'));
                    $('#lblProjetoClassificacao').val(result.Retorno.Classificacao);
                }
                else {
                    var mensagem = {
                        Tipo: 'A',
                        Mensagem: result.Mensagem
                    };
                    exibirMensagem(mensagem, 100);
                    limparProjeto();
                }
            });
        }
        else {

            var mensagem = {
                Tipo: "E",
                Mensagem: "Um Destino deve ser selecionado."
            };

            exibirMensagem(mensagem, 100);
            limparProjeto();
        }
    }
    else {
        limparProjeto();
    }
});

$('#btnAnexoInserir').on('click', function () {    
    _arquivo = $("#upload").get(0).files;
    if (_arquivo.length > 0) {
        if (isTamanhoValido(_arquivo[0])) {
            if (isTipoValido(_arquivo[0])) {
                var fornecedor = $("#txbAnexoFornecedor").val();
                var valor = $("#txbAnexoValor").val();
                var opcaoTecnica = $("#ddlOpTecnica").val();
                var anexo = new anexoPim(fornecedor, valor, opcaoTecnica, _arquivo[0]);
                _arquivosArray.push(anexo);
                montarTableAnexo();
                limparFormAnexo();
            }
            else {
                exibirMensagem({ Tipo: "A", Mensagem: "A extensão do arquivo não é permitida." });
            }
        } else {
            exibirMensagem({ Tipo: "A", Mensagem: "Tamanho do arquivo é superior ao permitido." });
        }    
    } else {
        exibirMensagem({ Tipo: "A", Mensagem: "Selecione um arquivo antes de inserir." });
    }

});

function contains(nomeDoArquivo, array) {    
    for (var i = 0; i < array.length; i++) {        
        if (array[i]._arquivo.name == nomeDoArquivo) {            
            array.splice(i, 1);
        }
    }    
}
  • 1

    "I have a screen that needs to be completely filled so that I invoke a field fill function.".... That doesn’t make much sense, do you have a form? How so the screen be filled? and what does it have to do with the functions? put some code to make your question clearer. has the $(document).ready, everything inside is only called after the page is fully loaded, including the functions outside the $(document).ready

  • This is Vinicius, I added the code. In this case, this screen is a canvas that the user uses to create a purchase order. But it also serves as an edit screen, where the user queries for this request, on a query screen, and is redirected to this screen to be able to change information. So I have to fill out the screen with all the information necessary for it to make screen changes.

  • put the functions to be executed before the $(document).ready 2nd: $("#btnGravar"). click(Function().... and all clicks will only be called when you click the button, it should be within $(Document).ready. 3º If this snippet of the first example if(pPimId) {$. ajax({.... , it should only be called after the execution of all the Function you put in the second example, it has to be at the end, just off the $(Document). ready.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.