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/app/Modules/PedidoVenda/Views/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/vinumday2_0/app/Modules/PedidoVenda/Views/admin/gerador.blade.php
@extends($current_template)

@section('content')

<script>
    $('.carregando').fadeIn();
</script>

<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            Pedido Venda
            <small>Listagem</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ url('admin') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
            <li><a href="{{ url('admin/pedido-venda') }}"><i class="fa fa-dashboard"></i> Pedidos</a></li>
            <li class="active">Gerador de Pedido Interno</li>
        </ol>
    </section>

    <!-- Main content -->
    <section class="content">
        <div class="row">
            <div class="col-xs-12">
                <div class="box">
                    <div class="box-header">

                    </div>
                    <!-- /.box-header -->
                    <div class="box-body">
                        <form method="/" id="formFiltros" type="POST">

                        <div class="row">
                            <div class="col-md-12">
                                <label for="id_cliente" class="control-label">DADOS PEDIDO INTERNO</label>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-3">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h6>Cliente:</h6>
                                        <select name="id_cliente" id="id_cliente" class="form-control" required>
                                            @foreach($clientes as $cliente)
                                            <option value="{{ $cliente->id}}">{{ $cliente->nome_completo() }}</option>
                                            @endforeach
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-3">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h6>Categoria Interna <span style="color:#999;font-size: 11px;">(Menu>Vendas>Categorias)</span>*:</h6>
                                        <select name="id_pedido_venda_categoria" id="id_pedido_venda_categoria" class="form-control" required>
                                            <option value="0">Selecione</option>
                                            @foreach($categorias as $categoria)
                                            <option value="{{ $categoria->id}}">{{ $categoria->nome }}</option>
                                            @endforeach
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-3">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h6>Data:</h6>
                                        <input id="data_fechamento" required type="datetime-local" class="form-control" value="{{ date('Y-m-d H:i:s') }}" name="data_fechamento">
                                    </div>
                                </div>
                            </div>
                        </div>

                        <br>

                        </form>
                        <!-- /.row -->
                        <div class="row">
                            <fieldset style="float:left; width: 100%" id="field-produtos">

                                <legend>Produtos</legend>

                                <div class="item">
                                    <div class="row">
                                        <div class="col-md-4">
                                            <label for="id_produto">Produto</label> 
                                            <select id="id_produto" class="default-select select2-produto" name="produto" ></select>
                                        </div>
                                        <div class="col-md-1">
                                            <label for="qtd_produto">Quantidade</label>
                                            <input type="number" value="1" style="padding:10px;" class="form-control" id="qtd_produto" name="qtd_produto" />
                                        </div>
                                        <div class="col-md-2">
                                            <label>&nbsp;</label>
                                            <button class="btn btn-primary btn-block" type="button" id="add-produto-to-pedido">Adicionar</button>
                                        </div>
                                    </div>
                                </div>

                                <script>
                                    $(document).ready(function(){
                                        $(".select2-produto").select2({
                                            minimumInputLength: 2,
                                            placeholder: 'Buscar Produtos',
                                            ajax: {
                                                url: '/admin/produto/buscar',
                                                dataType: 'json',
                                                type: "POST",
                                                data: function (term) {
                                                    return {
                                                        term    : term,
                                                        origem  : 'oferta'
                                                    };
                                                },
                                                processResults: function (data, params) {
                                                    console.log(data);
                                                  return {
                                                    results: $.map(data.items, function (item) {
                                                        return {
                                                                text: item.nome+' - SKU: '+item.sku,
                                                                slug: item.slug,
                                                                id: item.id,
                                                                preco_mercado: item.preco_mercado,
                                                                preco_custo: item.preco_custo,
                                                                preco_venda: item.preco_de_venda,
                                                                disponibilidade : item.disponibilidade
                                                            }
                                                        })
                                                   
                                                  };
                                                }
                                            }
                                        });

                                    });
                                </script>

                                <br>

                                <div class="row">
                                    <div class="col-md-12">
                                        <table class="table table-bordered table-striped" id="produtos-lista">
                                        <thead>
                                            <tr>
                                                <th width="5%" class="no-sort text-center"></th>
                                                <th width="5%">SKU</th>
                                                <th width="22%">Produto</th>
                                                <th width="10%" class="text-center">Última atualização</th>
                                                <!--<th width="10%" class="text-center">Ações</th>-->
                                                <th width="5%" class="text-center">Qtde</th>
                                                <th width="7%" class="text-center">P. Custo</th>
                                                <th width="5%" class="text-center">Caixa</th>
                                                <th width="5%" class="text-center">Qtd. Cx.</th>
                                                <th width="7%" class="text-center">P. Merc.</th>
                                                <th width="7%" class="text-center">P. Venda</th>
                                                <th width="7%" class="text-right">Total</th>
                                                <th width="5%" class="text-center"></th>
                                            </tr>
                                        </thead>
                                        <tbody class="principal">
                                        </tbody>
                                        </table>
                                    </div>
                                </div>

                                <br>

                                <div class="row">
                                    <div class="col-md-3">
                                        <label for="preco_custo">Preço Custo*</label> 
                                        <input id="preco_custo" type="number" class="form-control" value="0" name="preco_custo" />
                                    </div>
                                    <div class="col-md-3">
                                        <label for="preco_mercado">Preço Mercado*</label>
                                        <input id="preco_mercado" type="number" class="form-control" value="0" name="preco_mercado" />
                                    </div>
                                    <div class="col-md-3">
                                        <label for="preco_oferta">Preço Venda*</label>
                                        <input id="preco_oferta" type="number" class="form-control" value="0" name="preco_oferta" />
                                    </div>
                                </div>

                                <br>

                                <div class="row">
                                    <div class="col-md-3">
                                        <label for="assunto">Observações*</label> 
                                        <input id="assunto" type="text" class="form-control" value="Pedido interno através da plataforma." name="assunto" />
                                    </div>
                                    <div class="col-md-2">
                                        <label>&nbsp;</label>
                                        <button class="btn btn-primary btn-block" type="button" id="btn-gerar-pedido">Gerar Pedido Interno</button>
                                        <input name="percentual_desconto" id="percentual_desconto" type="hidden" value="0" />
                                    </div>
                                    <div class="col-md-2 hidden" id="acesso-pedido">
                                        <label style="margin-bottom: 4px;">&nbsp;</label>
                                        <a class="btn btn-success btn-block" href="" id="btn-acessar-pedido" target="_blank">Acessar Pedido</a>
                                    </div>
                                </div>

                            </fieldset>
                        </div>
                    </div>
                </div>
                <!-- /.box -->
            </div>
            <!-- /.col -->
        </div>
        <!-- /.row -->
    </section>
    <!-- /.content -->
</div>
<!-- /.content-wrapper -->
<script>

    $('#add-produto-to-pedido').click(function(){

        var id_produto         = $(".select2-produto").val();
        var quantidade_produto = $("#qtd_produto").val();

        var row_id        = 0;
        var validaProduto = true;
        var rows          = 0;

        $('#produtos-lista tbody.principal tr.produto-item').each(function(){
            var quantidade = parseFloat($(this).find('[name^="produto-quantidade-checkbox"]').val());
            row_id = $(this).data('id');
            rows += 1;
            if (quantidade != 'NaN' && row_id == id_produto){
                validaProduto = false;
            }
        });

        $('#acesso-pedido').addClass('hidden');
        $('#btn-acessar-pedido').attr('href', '');

        console.log('validaProduto | rows');
        console.log(validaProduto + '|' + rows);

        if(validaProduto == true){

            if(quantidade_produto){

                if (id_produto) {

                    $.ajax({
                        url: '/admin/pedido-venda/gerador-add-produto',
                        type: 'POST',
                        data: {produto_id: id_produto, quantidade: quantidade_produto},
                        dataType: 'json',
                        beforeSend:function(){
                            $('.carregando').fadeIn();
                        },
                        success:function(data){
                            $('.carregando').fadeOut();
                            $('#produtos-lista tbody.principal').append(data.html);
                            setTimeout(function() {
                                calcularOferta();
                            }, 1000);
                        },
                        error:function(){
                            $('.carregando').fadeOut();
                            alertUtil.alertError('Erro ao adicionar produto!');
                        }
                    });

                }else{
                    alertUtil.alertWarning('Você deve selecionar um produto');
                }
            }else{
                alertUtil.alertWarning('Você deve digitar a quantidade');
            }

        }else{
            alertUtil.alertWarning('Produto já adicionado!');
        }
        
    });

    $('#btn-gerar-pedido').click(function(e){

        var id_pedido_venda_categoria = $("#id_pedido_venda_categoria").val();

        var produtos_selecionados = $('[name="produto-item[]"]');
        var produto  = 0;
        var produtos = [];
        var item     = {};

        if(id_pedido_venda_categoria == 0){
            alertUtil.alertWarning('Campo "Categoria Interna" Obrigatório');
        }else{

            if(produtos_selecionados.length > 0){

                $( produtos_selecionados ).each(function( index ) {

                    produto = produtos_selecionados[index].value;

                    item  = {
                        produto_id          : produto,
                        quantidade          : $('#produto_quantidade_' + produto).val(),
                        preco_custo         : $('#produto_preco_custo_' + produto).val(),
                        preco_mercado       : $('#produto_preco_mercado_' + produto).val(),
                        preco_venda         : $('#produto_preco_venda_' + produto).val(),
                        valor_caixa_status  : $('#valor_caixa_status_' + produto).val(),
                        qtd_produtos_caixa  : $('#qtd_produtos_caixa_' + produto).val()
                    };

                    produtos.push(item);

                });

                var assunto             = $('#assunto').val();
                var data_fechamento     = $('#data_fechamento').val();
                var id_cliente          = $('#id_cliente').val();
                var preco_custo         = $('#preco_custo').val();
                var preco_mercado       = $('#preco_mercado').val();
                var percentual_desconto = $('#percentual_desconto').val();
                var preco_oferta        = $('#preco_oferta').val();

                $.ajax({
                    url: '/admin/pedido-venda/gerar-pedido-interno',
                    type: 'POST',
                    data: {produtos: produtos, id_cliente: id_cliente, assunto : assunto, data_fechamento : data_fechamento, id_pedido_venda_categoria : id_pedido_venda_categoria, preco_custo: preco_custo, preco_mercado: preco_mercado, percentual_desconto: percentual_desconto, preco_oferta: preco_oferta},
                    dataType: 'json',
                    beforeSend:function(){
                        $('.carregando').fadeIn();
                    },
                    success:function(data){
                        $('.carregando').fadeOut();
                        if(data.status){
                            alertUtil.alertSuccess(data.message);
                            resetGerador();
                            if(data.url){
                                $('#btn-acessar-pedido').attr('href', data.url);
                                $('#acesso-pedido').removeClass('hidden');
                            }
                        }else{
                            alertUtil.alertError(data.message);
                        }
                    },
                    error:function(){
                        $('.carregando').fadeOut();
                        alertUtil.alertError('Erro durante gravação pedido!');
                    }
                });

            }else{
                alertUtil.alertWarning('Você deve selecionar ao menos um produto');
            }

        }

    });

    function atualizarItemProduto(produto_id){

        var data = $('#formFiltros').serialize();

        $.ajax({
            url: '/admin/ordem-compra/item-lista-produtos',
            type: 'POST',
            data: data + '&item_id=' + produto_id,
            beforeSend:function(){
                
            },
            success:function(data){
                $('.carregando').fadeOut();
                if (data.status) {
                    $('#produto-' + produto_id).html(data.html_produto);
                    $('#detalhes-produto-' + produto_id).html(data.html_detalhes_produto);
                    alertUtil.alertSuccess(data.message);
                }else{
                    alertUtil.alertError(data.message);
                }
            },
            error:function(){
                $('.carregando').fadeOut();
                alertUtil.alertError('Erro ao detalhar produto!');
            }
        });
    }

    function atualizarProduto(produto_id){

        $.ajax({
            url: '/admin/produto/atualizar-saldo-produto',
            type: 'POST',
            data: {produto_id: produto_id},
            beforeSend:function(){
                $('.carregando').fadeIn();
            },
            success:function(data){
                if (data.status) {
                    atualizarItemProduto(produto_id);
                }else{
                    $('.carregando').fadeOut();
                    alertUtil.alertError(data.message);
                }
            },
            error:function(){
                $('.carregando').fadeOut();
                alertUtil.alertError('Erro durante atualização saldo!');
            }
        });

    }

    function removerProdutoPedido(produto_id){
        var $tr = $('#produto-' + produto_id);
        $tr.remove();
        setTimeout(function() {
            calcularOferta();
        }, 1000);
    }

    function calcularProduto(produto_id){

        var preco_venda   = $('#produto_preco_venda_' + produto_id).val();
        var quantidade    = $('#produto_quantidade_' + produto_id).val();

        var total_produto = 0;
        total_produto     = preco_venda * quantidade;

        $('#produto_total_' + produto_id).text(number_format(total_produto,2,',','.'));
        $('#produto_total_' + produto_id).closest('.ffl-wrapper').addClass('ffl-floated');

        setTimeout(function() {
            calcularOferta();
        }, 1000);
    }

    function calcularOferta() {

        var preco_venda   = 0;
        var preco_mercado = 0;
        var preco_custo   = 0;
        var produto_id    = 0;
        var row_id        = 0;

        $('#produtos-lista tbody.principal tr.produto-item').each(function(){
            var quantidade = parseFloat($(this).find('[name^="produto-quantidade-checkbox"]').val());
            console.log('quantidade: ' + quantidade);
            row_id = $(this).data('id');
            if (quantidade != 'NaN' && row_id != produto_id){
                produto_id = row_id;
                preco_mercado += quantidade * parseFloat($(this).find('[name^="produto-preco-mercado"]').val());
                preco_custo += quantidade * parseFloat($(this).find('[name^="produto-preco-custo"]').val());
                preco_venda += quantidade * parseFloat($(this).find('[name^="produto-preco-venda"]').val());
                console.log('preco_venda row ' + row_id + ': ' + preco_venda);
            }
        });

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

        console.log('preco_mercado: ' + preco_mercado);
        console.log('preco_custo: ' + preco_custo);
        console.log('preco_venda: ' + preco_venda);

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

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

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

    }

    function resetGerador(){

        $('#produtos-lista tbody.principal').html('');

        //RESET FILTROS
        $('#id_pedido_venda_categoria').val(0);
        $('#observacoes').val('Pedido interno através da plataforma.');

        //RESET DADOS ORDEM
        $('#id_produto').val('');
        $('#id_produto').trigger('change');

        $('#preco_mercado, #preco_custo, #preco_oferta').val(0);

    }

    $(document).ready(function(){

        $('.carregando').fadeOut();

    });
</script>
@endsection

Youez - 2016 - github.com/yon3zu
LinuXploit