| Server IP : 54.94.228.101 / Your IP : 172.28.1.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>
Oferta
<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/oferta/lista')); ?>"><i class="fa fa-dashboard"></i> Ofertas</a></li>
<li class="active">Gerador de Ofertas</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="oferta_tipo" class="control-label">DADOS OFERTA</label>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Tipo Oferta*:</h6>
<select name="oferta_tipo" id="oferta_tipo" class="form-control">
<option value="0"></option>
<?php
foreach ($listaTipoOfertas as $key => $tipoOferta):
echo '<option value="' . $key . '">' . $tipoOferta . '</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" disabled="disabled">
<option value="0"></option>
<?php foreach($listaCanais as $canal):
echo '<option value="' . $canal->id . '">' . $canal->nome . ' (' . $canal->slug . ')</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Data Oferta*:</h6>
<div class="row">
<div class="col-md-6">
<input id="data_oferta_inicial" required="" type="date" class="form-control" value="" name="data_oferta_inicial">
</div>
<div class="col-md-6">
<input id="data_oferta_final" disabled="disabled" type="date" class="form-control" value="" name="data_oferta_final">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Pré-Venda:</h6>
<select name="pre_venda" id="pre_venda" class="form-control">
<option value="0">Não</option>
<option value="1">Sim</option>
</select>
</div>
</div>
</div>
</div>
<br/>
<div class="row">
<div class="col-md-12">
<label for="oferta_tipo" 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>Produto:</h6>
<input id="produto" required="" type="text" class="form-control" value="" name="produto">
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Disponibilidade Mínima/Máxima:</h6>
<div class="row">
<div class="col-md-6">
<input id="disponibilidade" required="" type="number" class="form-control" value="" name="disponibilidade">
</div>
<div class="col-md-6">
<input id="disponibilidade_maxima" required="" type="number" class="form-control" value="" name="disponibilidade_maxima">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Produto já Ofertado:</h6>
<select name="produto_ofertado" id="produto_ofertado" class="form-control">
<option value=""></option>
<option value="S" <?php echo ($produto_ofertado == 'S' ? 'selected="selected"' : ''); ?>>SIM</option>
<option value="N" <?php echo ($produto_ofertado == 'N' ? 'selected="selected"' : ''); ?>>NÃO</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Tipo de Produto:</h6>
<select name="tipo_id" id="tipo_id" class="form-control select2">
<option value="0"></option>
<?php foreach($listaTipos as $tipo):
echo '<option value="' . $tipo->id . '">' . $tipo->nome . '</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>País:</h6>
<select name="pais_id" id="pais_id" class="form-control select2">
<option value="0"></option>
<?php foreach($listaPaises as $pais):
echo '<option value="' . $pais->id . '">' . $pais->nome . '</option>';
endforeach;
?>
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Preço Custo:</h6>
<div class="row">
<div class="col-md-6">
<input id="preco_custo_inicial" required="" type="number" class="form-control" value="" name="preco_custo_inicial">
</div>
<div class="col-md-6">
<input id="preco_custo_final" required="" type="number" class="form-control" value="" name="preco_custo_final">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-12">
<h6>Ordenação:</h6>
<select name="ordenacao" id="ordenacao" class="form-control">
<option value=""></option>
<option value="sku" <?php echo ($ordenacao == 'sku' ? 'selected="selected"' : ''); ?>>SKU</option>
<option value="adega" <?php echo ($ordenacao == 'adega' ? 'selected="selected"' : ''); ?>>Qtde. Adega</option>
<option value="disponibilidade" <?php echo ($ordenacao == 'disponibilidade' ? 'selected="selected"' : ''); ?>>Disponibilidade</option>
</select>
</div>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<button type="button" class="btn btn-primary" id="btn-listar-produtos">Listar Produtos</button>
</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">
<table class="table table-bordered table-striped" id="produtos-oferta">
<thead>
<tr>
<th class="no-sort"><input type="checkbox" name="selecionar_todos"/></th>
<th>Título</th>
<th>SubTítulo</th>
<th>Disponibilidade <br>Estoque</th>
<th>Quantidade Adega</th>
<th>Disponibilidade <br>Oferta</th>
<th>Data</th>
<th>Preço <br>Custo</th>
<th>Preço <br>Mercado</th>
<th>% <br>Desconto</th>
<th>Preço <br>Oferta</th>
<th>Qtd. Máx. <br>Cliente</th>
<th>Poucas <br>Unidades</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<button type="button" class="btn btn-primary" id="btn-gerar-ofertas">Gerar Ofertas</button>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<div id="modal-evento" class="modal fade">
<form method="/" id="formEvento" type="POST">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 id="time-label"></h4>
</div>
<div class="modal-body" id="conteudo-modal-evento">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
</div>
</div>
</div>
</form>
</div>
<script>
$('[name="selecionar_todos"]').click(function(){
if($(this).is(':checked')){
$('[name="item_produto[]"]').prop('checked', true);
}else{
$('[name="item_produto[]"]').prop('checked', false);
}
});
$('#oferta_tipo').change(function(){
if($(this).val() == 'C'){
$('#data_oferta_final, #canal_id').attr('disabled', false);
}else{
$('#data_oferta_final').val('');
$('#canal_id').val(0);
$('#data_oferta_final, #canal_id').attr('disabled', true);
}
});
$('#btn-listar-produtos').click(function(e){
var oferta_tipo = $('#oferta_tipo').val();
var data_oferta = $('#data_oferta_inicial').val();
var data_oferta_final = $('#data_oferta_final').val();
var disponibilidade = $('#disponibilidade').val();
var disponibilidade_maxima = $('#disponibilidade_maxima').val();
var canal = $('#canal_id').val();
if(oferta_tipo == 0){
alertUtil.alertWarning('Campo "Tipo Oferta" Obrigatório');
}else if(data_oferta == ''){
alertUtil.alertWarning('Campo "Data Oferta" Obrigatório');
}else if(oferta_tipo == 'C' && canal == 0){
alertUtil.alertWarning('Campo "Canal" Obrigatório para Tipo Oferta: Canal');
}else if(oferta_tipo == 'C' && data_oferta_final == ''){
alertUtil.alertWarning('Campo "Data Oferta Final" Obrigatório para Tipo Oferta: Canal');
}else if(disponibilidade == ''){
alertUtil.alertWarning('Campo "Disponibilidade Mínima" Obrigatório');
}else{
$.ajax({
url: '/admin/oferta/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();
renderProdutosOferta(data.produtos, oferta_tipo);
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante listagem produtos!');
}
});
}
});
$('#btn-gerar-ofertas').click(function(e){
var produtos_selecionados = $('[name="item_produto[]"]:checked');
var produto = 0;
var ofertas = [];
var oferta = {};
var validaOferta = false;
if(produtos_selecionados.length > 0){
$( produtos_selecionados ).each(function( index ) {
produto = produtos_selecionados[index].value;
validaOferta = validacaoOferta(produto);
if(validaOferta == false){
e.preventDefault();
alertUtil.alertError('Campos Obrigatórios "Oferta: ' + $('#oferta_titulo_' + produto).val() + ' ' + $('#oferta_sub_titulo_' + produto).val() + '" não informados!');
return false;
}else{
oferta = {
produto : produto,
canal : $('#canal_id').val(),
tipo : $('#oferta_tipo').val(),
pre_venda : $('#pre_venda').val(),
data_inicial : $('#data_oferta_inicial').val(),
data_final : $('#data_oferta_final').val(),
titulo : $('#oferta_titulo_' + produto).val(),
sub_titulo : $('#oferta_sub_titulo_' + produto).val(),
disponibilidade : $('#oferta_disponibilidade_' + produto).val(),
data_inicio : $('#oferta_data_' + produto).val(),
data_fim : $('#oferta_data_final_' + produto).val(),
preco_mercado : $('#oferta_preco_mercado_' + produto).val(),
preco : $('#oferta_preco_' + produto).val(),
preco_custo : $('#oferta_preco_custo_' + produto).val(),
poucas_unidades : $('#oferta_poucas_unidades_' + produto).val(),
percentual_desconto : $('#oferta_desconto_' + produto).val(),
quantidade_maxima_por_cliente : $('#oferta_qtde_max_cliente_' + produto).val(),
custo_efetivo: $('#custo_efetivo_' + produto).val(),
};
ofertas.push(oferta);
}
});
if(validaOferta == true){
$.ajax({
url: '/admin/oferta/gerador-ofertas',
type: 'POST',
data: {ofertas: ofertas},
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 ofertas!');
}
});
}
}else{
alertUtil.alertWarning('Você deve selecionar ao menos um produto');
}
});
function validacaoOferta(produto){
var field = '';
var result = true;
var oferta_tipo = $('#oferta_tipo').val();
var fields = [
'titulo',
'sub_titulo',
'disponibilidade',
'data',
'data_final',
'preco_mercado',
'preco',
'preco_custo',
'poucas_unidades',
'desconto',
'qtde_max_cliente',
'custo_efetivo',
];
$( fields ).each(function( index ) {
if(oferta_tipo != 'C' && fields[index] == 'data_final'){
return true;
}
field = $('#oferta_' + fields[index] + '_' + produto).val();
if(field == ''){
$('#oferta_' + fields[index] + '_' + produto).addClass('form-control__error');
result = false;
}else{
$('#oferta_' + fields[index] + '_' + produto).removeClass('form-control__error');
}
});
return result;
}
function calcularPrecoOferta(produto_id){
var mercado = $('#oferta_preco_mercado_' + produto_id).val();
var percentual_desconto = $('#oferta_desconto_' + produto_id).val();
var preco_oferta = 0;
preco_oferta = mercado - (mercado * percentual_desconto/100);
$('#oferta_preco_' + produto_id).val(number_format(preco_oferta,2,'.',''));
$('#oferta_preco_' + produto_id).closest('.ffl-wrapper').addClass('ffl-floated');
}
function calcularDesconto(produto_id){
var mercado = $('#oferta_preco_mercado_' + produto_id).val();
var oferta = $('#oferta_preco_' + produto_id).val();
var desconto = 100 - (oferta/mercado)*100;
$('#oferta_desconto_' + produto_id).val(number_format(desconto,2,'.',''));
$('#oferta_desconto_' + produto_id).closest('.ffl-wrapper').addClass('ffl-floated');
}
function resetGerador(){
$('#field-produtos').addClass('hidden');
$('#produtos-oferta tbody').html('');
$('#oferta_tipo, #canal_id, #fornecedor_id').val(0);
$('#data_oferta_inicial, #data_oferta_final, #disponibilidade, #produto, #preco_custo_inicial, #preco_custo_final').val('');
$('#data_oferta_final, #canal_id').attr('disabled', true);
}
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){
$('.carregando').fadeOut();
if (data.status) {
$('#disponibilidade_produto_' + produto_id).text(data.produto.disponibilidade);
alertUtil.alertSuccess("Disponibilidade Produto atualizado");
}else{
alertUtil.alertError(data.message);
}
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante atualização saldo!');
}
});
}
function renderProdutosOferta(produtos, oferta_tipo){
var HTML = '';
var produto = [];
$('#produtos-oferta tbody').html('');
var disabledData = (oferta_tipo != 'C' ? 'disabled="disabled"' : '');
var data_oferta_inicial = $('#data_oferta_inicial').val();
var data_oferta_final = $('#data_oferta_final').val();
var preco_mercado = 0;
var preco_venda = 0;
var percentual_desconto = 0;
$( produtos ).each(function( index ) {
produto = produtos[index];
preco_mercado = produto.preco_mercado;
preco_de_venda = produto.preco_de_venda;
percentual_desconto = 100 - (preco_de_venda/preco_mercado) * 100;
percentual_desconto = number_format(percentual_desconto,2,'.','');
HTML += '<tr>';
HTML += ' <td width="3%" class="no-sort">';
HTML += ' <input id="custo_efetivo_' + produto.id + '" type="hidden" name="custo_efetivo[]" value="' + produto.custo_efetivo + '"/>';
HTML += ' <input type="checkbox" name="item_produto[]" value="' + produto.id + '"/>';
HTML += ' <input type="hidden" id="oferta_preco_custo_' + produto.id + '" name="oferta_preco_custo_' + produto.id + '" value="' + produto.preco_custo + '"/>';
HTML += ' <input type="hidden" id="produto_preco_venda_' + produto.id + '" name="produto_preco_venda_' + produto.id + '" value="' + produto.preco_de_venda + '"/>';
HTML += ' </td>';
HTML += ' <td width="10%"><input type="text" value="' + produto.titulo + '" class="form-control" name="oferta_titulo_' + produto.id + '" id="oferta_titulo_' + produto.id + '"></td>';
HTML += ' <td width="10%"><input type="text" value="' + produto.sub_titulo + '" class="form-control" name="oferta_sub_titulo_' + produto.id + '" id="oferta_sub_titulo_' + produto.id + '"></td>';
HTML += ' <td width="5%" class="text-center"><div id="disponibilidade_produto_' + produto.id + '">' + produto.disponibilidade + '</div><button type="button" onclick="atualizarProduto(' + produto.id + ')" class="btn btn-sm btn-success" style="margin-bottom: 5px;" title="Atualizar Saldos"><i class="fa fa-fw fa-sync"></i></button></td>';
HTML += ' <td width="5%" class="text-center">' + produto.adega + '</td>';
HTML += ' <td width="5%"><input type="number" value="" class="form-control" name="oferta_disponibilidade_' + produto.id + '" id="oferta_disponibilidade_' + produto.id + '"></td>';
HTML += ' <td width="20%">';
HTML += ' <div class="col-md-6"><input type="date" value="' + data_oferta_inicial + '" class="form-control" name="oferta_data_' + produto.id + '" id="oferta_data_' + produto.id + '"></div>';
HTML += ' <div class="col-md-6"><input type="date" value="' + data_oferta_final + '" ' + disabledData + ' class="form-control" name="oferta_data_final_' + produto.id + '" id="oferta_data_final_' + produto.id + '"></div>';
HTML += ' </td>';
HTML += ' <td width="5%">' + number_format(produto.preco_custo,2,',','.') + '</td>';
HTML += ' <td width="7%"><input type="number" value="' + produto.preco_mercado + '" onchange="calcularDesconto(' + produto.id + ')" class="form-control" name="oferta_preco_mercado_' + produto.id + '" id="oferta_preco_mercado_' + produto.id + '"></td>';
HTML += ' <td width="5%"><input type="number" value="' + percentual_desconto + '" onchange="calcularPrecoOferta(' + produto.id + ')" class="form-control" name="oferta_desconto_' + produto.id + '" id="oferta_desconto_' + produto.id + '"></td>';
HTML += ' <td width="7%"><input type="number" value="' + produto.preco_de_venda + '" onchange="calcularDesconto(' + produto.id + ')" class="form-control" name="oferta_preco_' + produto.id + '" id="oferta_preco_' + produto.id + '"></td>';
HTML += ' <td width="5%"><input type="number" value="' + produto.qtde_max_cliente + '" class="form-control" name="oferta_qtde_max_cliente_' + produto.id + '" id="oferta_qtde_max_cliente_' + produto.id + '"></td>';
HTML += ' <td width="5%"><input type="number" value="' + produto.poucas_unidades + '" class="form-control" name="oferta_poucas_unidades_' + produto.id + '" id="oferta_poucas_unidades_' + produto.id + '"></td>';
HTML += '</tr>';
});
$('#produtos-oferta').append(HTML);
}
$(document).ready(function(){
$('.carregando').fadeOut();
});
</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make($current_template, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>