| 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>
Produto
<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 class="active">Produto</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header">
<?php if($current_role->hasAccess($current_module->nome_tabela.'.create')){ ?>
<a href="<?php echo e(url('admin/produto/add')); ?>" class="btn btn-success"><i class="fa fa-plus"></i> Adicionar</a>
<?php } ?>
<hr>
</div>
<!-- /.box-header -->
<div class="box-body">
<form action="<?php echo url('admin/produto'); ?>" method="GET">
<div class="row">
<div class="col-md-12"> </div>
<div class="col-md-3">
</div>
<div class="col-md-3">
ID Estoque :
<input value="<?php echo (isset($_GET['id_estoque'])) ? $_GET['id_estoque'] : '' ?>" type="text" name="id_estoque">
</div>
<div class="col-md-3">
Tag :
<input value="<?php echo (isset($_GET['tag'])) ? $_GET['tag'] : '' ?>" type="text" name="tag">
</div>
<div class="col-md-3">
<input value="<?php echo (isset($_GET['term'])) ? $_GET['term'] : '' ?>" type="text" name="term"><button class="btn btn-primary">Buscar</button>
</div>
</div>
</form>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th class="no-sort"><input type="checkbox" name="selecionar_todos"/></th>
<th>ID</th>
<th>Nome</th>
<th>SKU</th>
<th>Localizador</th>
<th width="7%">ID Estoque</th>
<th>Estoque/Disponibilidade</th>
<th width="10%" class="text-right">Preço Venda</th>
<th>Fornecedor</th>
<th>Situação</th>
<th>Sincronização ERP</th>
<th style="width: 9% !important" class="th-action">Ação</th>
</tr>
</thead>
<tbody>
<?php foreach ($produtos as $item): ?>
<tr>
<td class="no-sort"><input type="checkbox" name="item_produto[]" value="<?php echo $item->id; ?>"/></td>
<td><?php echo $item->id; ?></td>
<td>
<a href="<?php echo e(url('/produto/detalhe/' . $item->slug)); ?>" target="_blank">
<?php echo e($item->nome); ?>
</a>
</td>
<td><?php echo $item->sku; ?></td>
<td><?php echo $item->localizador; ?></td>
<td><?php echo $item->id_estoque; ?></td>
<td style="width: 9%">
<div>Estoque: <?php echo e($item->estoqueerp['estoque']); ?></div>
<div>Disponibilidade: <?php echo e($item->estoqueerp['disponibilidade']); ?></div>
</td>
<td class="text-right">R$ <?php echo number_format($item->preco_de_venda,2,',','.'); ?></td>
<td><?php echo $item->fornecedor ? $item->fornecedor->nome : ''; ?></td>
<td><?php echo $item->situacao == 'A' ? 'Ativo' : 'Inativo'; ?></td>
<td>
<?php
if(isset($item->produtoserp)){
$produtoserp = [];
foreach ($item->produtoserp as $produtoerp) {
$status = "OK";
if(!empty($produtoerp->log_tiny) && empty($produtoerp->id_tiny)){
$log_tiny = json_decode($produtoerp->log_tiny);
$status = (isset($log_tiny->retorno->produtos) ? "Conflito" : "Erro");
$status = '<span style="color:red; font-weight: bold; cursor: pointer" class="sync-tiny-conflict" data-id="'.$item->id.'" data-empresa-id="'.$produtoerp->empresa_id.'">' . $status . '</span>';
}elseif(empty($produtoerp->id_tiny)){
$status = 'Pendente';
}
$produtoserp[] = $produtoerp->empresa->sigla . " ({$status})";
}
if(count($produtoserp) > 0){
echo implode(" - ", $produtoserp);
}
}
?>
</td>
<td>
<div class="dropdown-action">
<button class="btn-dropdown-action">Opções</button>
<div class="dropdown-action-content">
<?php if($current_role->hasAccess($current_module->nome_tabela.'.update')): ?>
<a href="/admin/produto/edit/<?php echo e($item->slug); ?>" class="dropdown-action-item" target="_blank">
<i class="fa fa-pencil-alt" aria-hidden="true"></i>
<span>Editar</span>
</a>
<?php endif; ?>
<a href="/admin/produto/duplicar/<?php echo e($item->slug); ?>" class="dropdown-action-item atualizar-saldo-dropdown">
<i class="fa fa-copy" aria-hidden="true"></i>
<span>Duplicar</span>
</a>
<div class="dropdown-action-item atualizar-saldo-dropdown" data-produto="<?php echo e($item->id); ?>">
<i class="fa fa-refresh" aria-hidden="true"></i>
<span>Atualizar saldo</span>
</div>
<?php if($current_role->hasAccess($current_module->nome_tabela.'.delete')): ?>
<a href="/admin/produto/delete/<?php echo e($item->slug); ?>" class="dropdown-action-item delete-dropdown-item deletar">
<i class="fa fa-trash" aria-hidden="true"></i>
<span>Excluir</span>
</a>
<?php endif; ?>
</div>
</div>
</td>
</tr>
<?php endforeach ?>
</tbody>
<tfoot>
<tr>
<th></th>
<th>ID</th>
<th>Nome</th>
<th>SKU</th>
<th>Localizador</th>
<th>ID Estoque</th>
<th>Preço Venda</th>
<th>Fornecedor</th>
<th>Situação</th>
<th>Sincronização ERP</th>
<th>Ação</th>
</tr>
</tfoot>
</table>
<div class="text-center">
<?php echo $produtos->appends([
'term' => (isset($_GET['term'])) ? $_GET['term'] : '',
'id_estoque' => (isset($_GET['id_estoque'])) ? $_GET['id_estoque'] : ''
])->links(); ?>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button href="<?php echo e(url('')); ?>" class="sync-tiny btn btn-primary"><i class="fa fa-fw fa-sync"></i> Sincronizar Tiny ERP</a>
</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>
$(document).on('click', '.sync-tiny-conflict', function(e){
e.preventDefault();
var id_produto = $(this).data("id");
var id_empresa = $(this).data("empresa-id");
$.ajax({
url: 'admin/produto/sincronizar-tiny-conflito/' + id_produto + '?empresa=' + id_empresa,
type: 'GET',
beforeSend:function(){
$('.loading').fadeIn();
},
success:function(data){
$('.loading').fadeOut();
$('#conteudo-modal-evento').html(data);
}
});
$('#modal-evento').modal('show');
});
$('.sync-tiny').click(function(e){
if(!confirm('Você tem certeza?')){
e.preventDefault();
}else{
var produtos_selecionados = [];
$('[name="item_produto[]"]:checked').each(function(){
produtos_selecionados.push($(this).val());
});
if(produtos_selecionados.length > 0){
$.ajax({
url:'/admin/produto/sincronizar-tiny',
type:'POST',
data:{
ids_produto:produtos_selecionados
},
beforeSend:function(){
$('.carregando').fadeIn();
},
success:function(data){
if (data.status) {
alertUtil.alertSuccess(data.message);
setTimeout(function(){
window.location.href = window.location.href;
}, 1500);
}else{
alertUtil.alertWarning(data.message);
}
$('.carregando').fadeOut();
}
});
}else{
alertUtil.alertError('Você deve selecionar ao menos um produto');
}
}
});
$('[name="selecionar_todos"]').click(function(){
if($(this).is(':checked')){
$('[name="item_produto[]"]').prop('checked', true);
}else{
$('[name="item_produto[]"]').prop('checked', false);
}
});
$(document).on('click', '.paginate_button', function(){
if(!$(this).hasClass('current')){
$('[name="selecionar_todos"]').prop('checked', false);
}
});
$(document).ready(function(){
$('.carregando').fadeOut();
$('#data-table-produtos').DataTable({
"paging": true,
"searching": true,
"ordering": true,
"info": true,
"order": [[ 1, "desc" ]],
"language": {
"sEmptyTable": "Nenhum registro encontrado",
"sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
"sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
"sInfoFiltered": "(Filtrados de _MAX_ registros)",
"sInfoPostFix": "",
"sInfoThousands": ".",
"sLengthMenu": "_MENU_ resultados por página",
"sLoadingRecords": "Carregando...",
"sProcessing": "Processando...",
"sZeroRecords": "Nenhum registro encontrado",
"sSearch": "Pesquisar",
"oPaginate": {
"sNext": "Próximo",
"sPrevious": "Anterior",
"sFirst": "Primeiro",
"sLast": "Último"
},
"oAria": {
"sSortAscending": ": Ordenar colunas de forma ascendente",
"sSortDescending": ": Ordenar colunas de forma descendente"
}
},
"columnDefs": [ {
"targets": 'no-sort',
"orderable": false,
}]
});
$(document).on('click', '.btn-dropdown-action', function(){
$(".dropdown-action-content").slideUp("fast");
let main_element = $(this).closest('.dropdown-action');
$(main_element).find('.dropdown-action-content').slideDown(100);
})
$(document).on("click", function(event){
if(!$(event.target).closest(".dropdown-action").length){
$(".dropdown-action-content").slideUp("fast");
}
});
$(document).on('click', '.atualizar-saldo-dropdown', function(){
let produto_id = $(this).data('produto');
$.ajax({
url: '/admin/produto/atualizar-saldo-produto',
type: 'POST',
data: {produto_id: produto_id},
beforeSend:function(){
$('.carregando').fadeIn();
},
success:function(data){
$(".dropdown-action-content").slideUp("fast");
$('.carregando').fadeOut();
alertUtil.alertSuccess(data.message);
},
error:function(){
$('.carregando').fadeOut();
alertUtil.alertError('Erro durante atualização saldo!');
}
});
});
});
</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make($current_template, array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>