403Webshell
Server IP : 54.94.228.101  /  Your IP : 172.28.20.13
Web Server : Apache
System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/vinumday2_0/public/js/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/vinumday2_0/public/js/admin/Oferta.js
if(!Oferta){

    Oferta = function(){

        this.init = function(){
            console.log('Loaded Oferta');
        },

        this.calcularOferta = function(){

            var preco_venda   = 0;
            var preco_mercado = 0;
            var preco_custo   = 0;
            var custo_efetivo = 0;
            var contTr        = 0;
            var agrupar       = $('[name="agrupamento_produtos"]').val();

            $('#lista-produtos table tr').each(function(){
                var quantidade = parseFloat($(this).find('[name^="produto-quantidade-checkbox"]').val());
                contTr++;
                if (contTr>1){
                    preco_mercado += quantidade * parseFloat($(this).find('[name^="produto-preco-mercado"]').val());
                    preco_custo += quantidade * parseFloat($(this).find('[name^="produto-preco-custo"]').val());
                    custo_efetivo += quantidade * parseFloat($(this).find('[name^="produto-custo-efetivo"]').val());
                    preco_venda += quantidade * parseFloat($(this).find('[name^="produto-preco-venda"]').val());
                    if(agrupar == 1){
                        return false;
                    }
                }
            });

            preco_mercado = number_format(preco_mercado,2,'.','');
            preco_custo   = number_format(preco_custo,2,'.','');
            custo_efetivo = number_format(custo_efetivo,2,'.','');
            preco_venda   = number_format(preco_venda,2,'.','');

            $('#preco_mercado').val(preco_mercado);
            $('#preco_mercado').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#preco_mercado').addClass('digitado');

            $('#preco_custo').val(preco_custo);
            $('#preco_custo').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#preco_custo').addClass('digitado');

            $('#custo_efetivo').val(custo_efetivo);
            $('#custo_efetivo').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#custo_efetivo').addClass('digitado');

            $('#preco_oferta').val(preco_venda);
            $('#preco_oferta').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#preco_oferta').addClass('digitado');

        },

        this.calcularPrecoOferta = function(){

            var preco_venda = 0;
            var contTr      = 0;
            var agrupar     = $('[name="agrupamento_produtos"]').val();
            $('#lista-produtos table tr').each(function(){
                contTr++;
                var quantidade = parseFloat($(this).find('[name^="produto-quantidade-checkbox"]').val());
                if (contTr>1){
                    preco_venda += quantidade * parseFloat($(this).find('[name^="produto-preco-venda"]').val());
                    if(agrupar == 1){
                        return false;
                    }
                }
            });

            $('#preco_oferta').val(preco_venda);
            $('#preco_oferta').trigger('change');
            $('#preco_oferta').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#preco_oferta').addClass('digitado');

        }, 

        this.calcularDesconto = function(){
            var mercado  = $('#preco_mercado').val()
            var oferta   = $('#preco_oferta').val();
            var desconto = 100 - (oferta/mercado)*100;
            $('#percentual_desconto').val(number_format(desconto,2,'.',''));
            $('#percentual_desconto').closest('.ffl-wrapper').addClass('ffl-floated');
            $('#percentual_desconto').addClass('digitado');
        },

        this.loadProdutosOferta = function(oferta_id){
            $.ajax({
                url: "/admin/oferta/get_produtos/" + oferta_id,
                type: "get",
                success:function(data){
                    $('#lista-produtos').html(data);
                },
            });
        },

        this.loadProdutoOferta = function(produto){

            console.log(produto);

            $.ajax({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                url:'/admin/oferta/get_produto',
                type:'POST',
                data: {produto: produto},
                beforeSend:function(){
                    //$('.carregando').fadeIn();
                },
                success:function(data){
                    if(data.status){
                        $('#lista-produtos table tbody').append(data.html);

                        setTimeout(function() {
                            Oferta.calcularOferta();
                            Oferta.calcularPrecoOferta();
                            Oferta.calcularDesconto();
                        }, 1000);

                    }else{
                        alertUtil.alertError(data.message);
                    }
                },
                error:function(jqXHR, textStatus, errorThrown){
                    console.log(textStatus);
                    alertUtil.alertError('Falha ao carregar produto!');
                }
            });

        },

        this.loadFormOferta = function(id, tipoOferta = false){

            let url = tipoOferta ? '/admin/oferta/form-oferta/' + id + '/' + tipoOferta : '/admin/oferta/form-oferta/' + id; 

            $.ajax({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                url: url,
                type:'GET',
                beforeSend:function(){
                    $('.carregando').fadeIn();
                },
                success:function(data){
                    $('.carregando').fadeOut();
                    if(data.status){
                        $('#form-box').html(data.html);
                        $('body').addClass('add-form-box-active');
                    }else{
                        alertUtil.alertError(data.message);
                    }
                },
                error:function(jqXHR, textStatus, errorThrown){
                    $('.carregando').fadeOut();
                    console.log(textStatus);
                    alertUtil.alertError('Falha ao carregar formulário!');
                }
            });

        },

        this.montaArrayProdutos = function(field){
            var ArrayProdutos = [];
            $('[name="' + field + '[]"]').each(function(){
                ArrayProdutos.push($(this).val());
            });
            return ArrayProdutos;
        },

        this.saveFormOferta = function(){

            var validateRequired = true;

            var $fiedlsRequireds = $('#form-oferta-ajax').find('.required');
            $('#form-oferta-ajax').find('.input-novo').removeClass('input-warning');
            var $field           = '';
            var $elementValidate = '';

            $fiedlsRequireds.each(function(i, element){
                $field = $(element).closest('.grupo-novo').find('.input-novo');
                if($field.val() == '' || $field.val() == 'null' || $field.val() == null){
                    $field.addClass('input-warning');
                    validateRequired = false;
                    if($elementValidate == ''){
                        $elementValidate = $field;
                    }
                }
            });

            if(validateRequired == false){
                alertUtil.alertError('Campos obrigatórios não informados');
                $elementValidate.focus();
                return false;
            }

            //Validação Soma dos Produtos
            var preco_oferta = parseFloat($('#preco_oferta').val());
            var preco_venda  = 0;
            var contTr       = 0;

            $('#lista-produtos table tr').each(function(){
                var quantidade = parseFloat($(this).find('[name^="produto-quantidade-checkbox"]').val());
                contTr++;
                if (contTr>1){
                    preco_venda += quantidade * parseFloat($(this).find('[name^="produto-preco-venda"]').val());
                }
            });

            var agrupar = $('[name="agrupamento_produtos"]').val();

            if(preco_oferta != preco_venda && agrupar == 0){
                alertUtil.alertError('A soma dos produtos não confere com o valor da oferta');
                return false;
            }

            var oferta_id = $('#oferta_id').val();

            //Validação Save Pré-Venda
            if(oferta_id != 0){
                var pre_venda = $('[name="pre_venda"]').val();
                ApiRequest.sendRequest({
                    'method' : 'POST',
                    'url'    : "/admin/oferta/get_pedidos_pre_venda",
                    'data'   : {id_oferta : oferta_id, pre_venda : pre_venda}
                }).then(data => {
                    if(data.pedidos > 0){
                        alertUtil.alertError('Ainda existem pedidos em Pré-Venda. Movê-los para a Adega antes de continuar <a href="/admin/oferta/pre-venda?id_oferta=' + oferta_id + '" target="_blank">Ver Pedidos</a>', '', false, 30);
                    }else{
                        Oferta.submitFormOferta();
                    }
                }).catch(error => {
                    //TRATAMENTO ERROS
                });
            }else{
                Oferta.submitFormOferta();
            }
            
        },

        this.submitFormOferta = function(){

            if(!editor && editorMain){
                editor = editorMain;
            }

            console.log('save_ajax');

            var dataObject = {
                oferta_id    : $('#oferta_id').val(),
                titulo       : $('[name="titulo"]').val(),
                tema_id      : $('[name="tema_id"]').val(),
                sub_titulo   : $('[name="sub_titulo"]').val(),
                data         : $('[name="data"]').val(),
                quantidade_maxima_por_cliente : $('[name="quantidade_maxima_por_cliente"]').val(),
                estoque                     : $('[name="estoque"]').val(),
                tipo                        : $('[name="tipo"]').val(),
                pre_venda                   : $('[name="pre_venda"]').val(),
                poucas_unidades             : $('[name="poucas_unidades"]').val(),
                valor_desconto              : $('[name="valor_desconto"]').val(),
                instituicao_id              : $('[name="instituicao_id"]').val(),
                responsavel_id              : $('[name="responsavel_id"]').val(),
                url_video                   : $('[name="url_video"]').val(),
                agrupamento_produtos        : $('[name="agrupamento_produtos"]').val(),
                resolucao_imagem            : $('[name="resolucao_imagem"]').val(),
                preco_custo                 : $('[name="preco_custo"]').val(),
                custo_efetivo               : $('[name="custo_efetivo"]').val(),
                preco_oferta                : $('[name="preco_oferta"]').val(),
                preco_mercado               : $('[name="preco_mercado"]').val(),
                percentual_desconto         : $('[name="percentual_desconto"]').val(),
                img                         : $('.anex-min').attr('src'),
                thumbnail                   : $('#thumbnail').val(),
                tags                        : $('.select2-tags').val(),
                texto                       : editor.getData() ?? editorMain.getData(),
                resumo_texto                : editor_resumo_texto.getData(),
                ocultar_desconto            : $('[name="ocultar_desconto"]').is(':checked') ?? false,
                'produto-checkbox'          : Oferta.montaArrayProdutos('produto-checkbox'),
                'produto-preco-venda'       : Oferta.montaArrayProdutos('produto-preco-venda'),
                'produto-preco-mercado'     : Oferta.montaArrayProdutos('produto-preco-mercado'),
                'produto-preco-custo'       : Oferta.montaArrayProdutos('produto-preco-custo'),
                'produto-custo-efetivo'     : Oferta.montaArrayProdutos('produto-custo-efetivo'),
                'produto-estoque'           : Oferta.montaArrayProdutos('produto-estoque'),
                'produto-ordem'             : Oferta.montaArrayProdutos('produto-ordem'),
                'produto-quantidade-checkbox' : Oferta.montaArrayProdutos('produto-quantidade-checkbox')
            };

            var json = JSON.stringify(dataObject);

            console.log(json);

            var self = this;

            $.ajax({
                url: "/admin/oferta/save-ajax",
                type: "post",
                data: dataObject,
                dataType: 'json',
                beforeSend: function(){
                    $('.main-btn-style').addClass('disabled');
                },
                success: function(data){
                    $('.main-btn-style').removeClass('disabled');
                    //redirect
                    if(data.status){
                        alertUtil.alertSuccess('Oferta adicionada!');
                        setTimeout(function() {
                            $('body').removeClass('add-form-box-active');
                            recarregaLinhas(self);
                        }, 2000);
                    }else{
                        $('.main-btn-style').removeClass('disabled');
                        alertUtil.alertError(data.message);
                    }
                },
                error:function(error){
                    $('.main-btn-style').removeClass('disabled');
                    alertUtil.alertError('Erro ao adicionar Oferta');
                }
            });

        }

    }
}

var Oferta = new Oferta();
Oferta.init();

Youez - 2016 - github.com/yon3zu
LinuXploit