| 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 : |
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();