| 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/storage/framework/views/ |
Upload File : |
<?php $__env->startSection('content'); ?>
<script>
$('.carregando').fadeIn();
</script>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Ordem Compra
<small>Listagem</small>
</h1>
<ol class="breadcrumb">
<li><a href="<?php echo e(url('admin')); ?>"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li><a href="<?php echo e(url('admin/ordem-compra/lista')); ?>"><i class="fa fa-dashboard"></i> Ordens</a></li>
<li class="active">Gerador de Ordens</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="fornecedor_id" class="control-label">FILTROS</label>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Fornecedor:</h6>
<select name="fornecedor_id" id="fornecedor_id" class="form-control select2">
<option value="0"></option>
<?php foreach($listaFornecedores as $fornecedor):
echo '<option value="' . $fornecedor->id . '">' . $fornecedor->nome . '</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Canal:</h6>
<select name="canal_id" id="canal_id" class="form-control select2">
<option value="0"></option>
<?php foreach($listaCanais as $canal):
echo '<option value="' . $canal->id . '">' . $canal->nome . ' ' . $canal->subtitulo . ' (' . $canal->chamada_canal . ')</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Produto:</h6>
<select name="produto_id" id="produto_id" class="form-control select2">
<option value="0"></option>
<?php foreach($listaProdutos as $produto):
echo '<option value="' . $produto->id . '">' . $produto->nome . ' ('.$produto->sku.')</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Tipo Ofertas:</h6>
<select name="tipo_oferta" id="tipo_oferta" class="form-control">
<option value="0">Todas</option>
<?php
foreach($tiposOferta as $key => $tipoOferta):
echo '<option value="' . $key . '">' . $tipoOferta . '</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Período Ofertas:</h6>
<select name="periodo_oferta" id="periodo_oferta" class="form-control">
<option value="0">Nenhum</option>
<?php
foreach($periodosOferta as $periodoOferta):
echo '<option value="' . $periodoOferta . '">' . $periodoOferta . ' dias</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Período Compras:</h6>
<select name="periodo_compra" id="periodo_compra" class="form-control">
<option value="0">Nenhum</option>
<?php
foreach($periodosCompra as $periodoCompra):
echo '<option value="' . $periodoCompra . '">' . $periodoCompra . ' dias</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Apenas novos produtos:</h6>
<select name="produtos_novos" id="produtos_novos" class="form-control">
<option value="N">Não</option>
<option value="S">Sim</option>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6> </h6>
<button type="button" class="btn btn-primary" id="btn-listar-produtos">Listar Produtos</button>
</div>
</div>
</div>
</div>
<br>
</form>
<!-- /.row -->
<div class="row">
<fieldset style="float:left; width: 100%" id="field-produtos" class="hidden">
<legend>Produtos</legend>
<div class="row">
<div class="col-md-12">
<label for="fornecedor_id" class="control-label">DADOS ORDEM | FORNECEDOR: <span id="fornecedor_ordem_id_text" style="font-weight: bold;"></span></label>
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="row">
<div class="col-md-12">
<h6>Empresa:</h6>
<select name="empresa_id" id="empresa_id" class="form-control">
<option value="0"></option>
<?php $__currentLoopData = $listaEmpresas; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $empresa): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($empresa->id); ?>"><?php echo e($empresa->nome); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
</div>
</div>
</div>
<div class="col-md-2">
<div class="row">
<div class="col-md-12">
<h6>Unidade:</h6>
<select name="unidade_negocio_id" id="unidade_negocio_id" class="form-control">
<option value="0"></option>
<?php $__currentLoopData = $unidades; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $unidade_negocio): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($unidade_negocio->id); ?>"><?php echo e($unidade_negocio->nome); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
</div>
</div>
</div>
<div class="col-md-2">
<div class="row">
<div class="col-md-12">
<h6>Zerar Disponibilidade Oferta:</h6>
<select name="zerar_disponibilidade_oferta" id="zerar_disponibilidade_oferta" class="form-control">
<option value="0">NÃO</option>
<option value="1">SIM</option>
</select>
</div>
</div>
</div>
<div class="col-md-2">
<div class="row">
<div class="col-md-12">
<h6>Observações:</h6>
<input id="observacoes" type="text" class="form-control" value="" name="observacoes">
</div>
</div>
</div>
<div class="col-md-2">
<div class="row">
<div class="col-md-12">
<h6> </h6>
<button type="button" class="btn btn-primary" id="btn-gerar-ordem">Gerar Ordem</button>
</div>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<table class="table table-bordered table-striped" id="produtos-lista">
<thead>
<tr>
<th class="no-sort text-center"></th>
<th class="no-sort text-center"><input type="checkbox" name="selecionar_todos"/></th>
<th>SKU</th>
<th>Produto</th>
<th class="text-center">Última atualização</th>
<th class="text-center">Ações</th>
<th class="text-center">Finalizar Compra</th>
<th class="text-center">Qtde</th>
<th class="text-center">Preço Unit.</th>
<th class="text-center">Desconto</th>
<th class="text-center">Markup</th>
<th class="text-right">Total</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<script>
$('[name="selecionar_todos"]').click(function(){
if($(this).is(':checked')){
$('[name="item_produto[]"]').prop('checked', true);
}else{
$('[name="item_produto[]"]').prop('checked', false);
}
});
$('#btn-listar-produtos').click(function(e){
var fornecedor = $('#fornecedor_id').val();
$('#zerar_disponibilidade_oferta').val(0);
if(fornecedor == 0){
alertUtil.alertWarning('Campo "Fornecedor" Obrigatório');
}else{
$.ajax({
url: '/admin/ordem-compra/gerador-lista-produtos',
type: 'POST',
data: $('#formFiltros').serialize(), // serializes the form's elements.
dataType: 'json',
beforeSend:function(){
$('.carregando').fadeIn();
$('#field-produtos').removeClass('hidden');
},
success:function(data){
$('.carregando').fadeOut();
$('#fornecedor_ordem_id_text').text(data.fornecedor.nome);
$('#produtos-lista tbody').html(data.html);
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante listagem produtos!');
}
});
}
});
$('#btn-gerar-ordem').click(function(e){
var produtos_selecionados = $('[name="item_produto[]"]:checked');
var produto = 0;
var produtos = [];
var item = {};
var validaOrdem = false;
var fornecedor_ordem_id = $('#fornecedor_id').val();
var empresa_id = $('#empresa_id').val();
var unidade_negocio_id = $('#unidade_negocio_id').val();
if(fornecedor_ordem_id == 0){
alertUtil.alertWarning('Campo "Fornecedor" Obrigatório');
$('#select2-fornecedor_id-container').closest('.select2-container').css('border', '1px solid red');
}else if(empresa_id == 0){
alertUtil.alertWarning('Campo "Empresa Ordem" Obrigatório');
$('#empresa_id').addClass('form-control__error');
$('#select2-fornecedor_id-container').closest('.select2-container').css('border', '0px');
}else if(unidade_negocio_id == 0){
alertUtil.alertWarning('Campo "Unidade" Obrigatório');
$('#unidade_negocio_id').addClass('form-control__error');
$('#select2-fornecedor_id-container').closest('.select2-container').css('border', '0px');
}else{
$('#empresa_id').removeClass('form-control__error');
$('#select2-fornecedor_id-container').closest('.select2-container').css('border', '0px');
if(produtos_selecionados.length > 0){
$( produtos_selecionados ).each(function( index ) {
produto = produtos_selecionados[index].value;
validaOrdem = validacaoOrdem(produto);
if(validaOrdem == false){
e.preventDefault();
alertUtil.alertError('Campos Obrigatórios "Ordem Compra: ' + $('#produto_nome_' + produto).val() + '" não informados!');
return false;
}else{
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(),
finalizar_compra : $('#finalizar_compra_' + produto + ':checked').length
};
produtos.push(item);
}
});
if(validaOrdem == true){
var observacoes = $('#observacoes').val();
var zerar_disponibilidade_oferta = $('#zerar_disponibilidade_oferta').val();
$.ajax({
url: '/admin/ordem-compra/gerador-ordem',
type: 'POST',
data: {produtos: produtos, fornecedor_ordem_id: fornecedor_ordem_id, empresa_id: empresa_id, unidade_negocio_id: unidade_negocio_id, observacoes : observacoes, zerar_disponibilidade_oferta : zerar_disponibilidade_oferta},
dataType: 'json',
beforeSend:function(){
$('.carregando').fadeIn();
},
success:function(data){
$('.carregando').fadeOut();
resetGerador();
alertUtil.alertSuccess(data.message);
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante gravação produtos!');
}
});
}
}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 removerProduto(produto_id){
var $tr = $('#produto-' + produto_id);
$.ajax({
url: '/admin/ordem-compra/delete-produto-compra',
type: 'POST',
data: {produto_id: produto_id},
beforeSend:function(){
$('.carregando').fadeIn();
},
success:function(data){
if (data.status) {
$('.carregando').fadeOut();
alertUtil.alertSuccess(data.message);
$tr.remove();
}else{
$('.carregando').fadeOut();
alertUtil.alertError(data.message);
}
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante exclusão produto da lista!');
}
});
}
function calcularProduto(produto_id){
var preco_mercado = $('#produto_preco_mercado_' + produto_id).val();
var preco_custo = $('#produto_preco_custo_' + produto_id).val();
var preco_venda = $('#produto_preco_venda_' + produto_id).val();
var quantidade = $('#produto_quantidade_' + produto_id).val();
var total_produto = 0;
var percentual_desconto = 0;
var percentual_markup = 0;
total_produto = preco_custo * quantidade;
percentual_desconto = (preco_mercado != '' && preco_mercado != '0' ? (1 - (preco_venda / preco_mercado)) * 100 : 0);
percentual_markup = (preco_custo != '' && preco_custo != '0' ? ((preco_venda / preco_custo) - 1) * 100 : 0);
$('#produto_total_' + produto_id).text(number_format(total_produto,2,',','.'));
$('#produto_percentual_desconto_' + produto_id).text(number_format(percentual_desconto,0,',','.') + '%');
$('#produto_percentual_markup_' + produto_id).text(number_format(percentual_markup,0,',','.') + '%');
}
function validacaoOrdem(produto){
var field = '';
var result = true;
var fields = [
'quantidade',
'preco_custo',
];
$( fields ).each(function( index ) {
field = $('#produto_' + fields[index] + '_' + produto).val();
if(field == ''){
$('#produto_' + fields[index] + '_' + produto).addClass('form-control__error');
result = false;
}else{
$('#produto_' + fields[index] + '_' + produto).removeClass('form-control__error');
}
});
return result;
}
function resetGerador(){
$('#field-produtos').addClass('hidden');
$('#produtos-lista tbody').html('');
//RESET FILTROS
$('#fornecedor_id, #canal_id, #produto_id, #tipo_oferta, #periodo_oferta, #periodo_compra').val(0);
$('#observacoes').val('');
$('[name="fornecedor_id"],[name="canal_id"],[name="produto_id"]').trigger('change');
//RESET DADOS ORDEM
$('#empresa_id').val(0); //, #fornecedor_ordem_id
// $('[name="fornecedor_ordem_id"]').trigger('change');
}
$(document).ready(function(){
$('.select2').select2();
$('.carregando').fadeOut();
});
</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make($current_template, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>