';
} else {
htmlSwal = 'Confirma a gravação das alterações?';
}
Swal2.fire({
title: pedirMotivo ? "Limite Coordenador" : "Confirmar",
html: htmlSwal,
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
width: pedirMotivo ? '600px' : 'auto',
didOpen: function() {
if (pedirMotivo) {
$('.btn-replicar-motivo').on('click', function() {
var idx = $(this).attr('data-idx');
var motivo = $('.swall_motivo_artigo[data-idx="'+idx+'"]').val();
if (motivo != '') {
$('.swall_motivo_artigo').each(function() {
if ($(this).val() == '') { $(this).val(motivo); }
});
}
});
}
},
preConfirm: function() {
if (pedirMotivo) {
var todosPreenchidos = true;
var observacoesObj = {};
$('.swall_motivo_artigo').each(function() {
$(this).removeClass("is-invalid");
if ($(this).val() == '') {
$(this).addClass("is-invalid");
todosPreenchidos = false;
} else {
var idx = $(this).attr('data-idx');
observacoesObj[artigosAbaixoLimite[idx].artigo] = $(this).val();
}
});
if (!todosPreenchidos) { return false; }
// Base64 para evitar problemas de URL-encoding/escaping
return btoa(unescape(encodeURIComponent(JSON.stringify(observacoesObj))));
}
return '';
}
}).then(function(result) {
if (result.isConfirmed) {
var observacoes = result.value;
ajaxSubmitAlteracoesPadrao(padroes, serialize, submit, campoID, isCotacao, tmpIdCliente, observacoes);
if (submit == 'pendentes') { $('.fancybox__container').css('visibility', 'visible'); }
} else {
$('#save_cliente_padrao').removeClass("btn-loading");
$('#save_padrao'+campoID).removeClass("btn-loading");
if (submit == 'pendentes') { $('.fancybox__container').css('visibility', 'visible'); }
}
});
}
}
function ajaxSubmitAlteracoesPadraoComplete(result, submit, campoID, isCotacao, tmpIdCliente) {
if (result == "-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (result == "1") {
toastr.success("Alterações efectuadas com sucesso");
if (submit == 'padroes-cliente') {
filtrarListaPadroes(true,true,0);
} else if (submit == 'pendentes') {
$('.art'+campoID).remove();
var tmpArtigoId = $('#artigoTmpID').val();
var numPadroes = parseInt($('#numPadroes'+tmpArtigoId).html())-1;
$('#numPadroes'+tmpArtigoId).html(numPadroes);
if (numPadroes == 0) { $('.art'+tmpArtigoId).remove(); }
} else if (submit == 'gerir-padrao') {
$('#save_padrao'+campoID).removeClass("btn-loading");
$('#botao_save_padrao'+campoID).removeClass('col-12').addClass('col-6');
$('#botao_apagar_padrao'+campoID).show();
$('#apagar_padrao'+campoID).show();
$('#valorNovo_'+campoID).removeClass('bg-secondary precoEditadoUser');
if (checkTemAlterados()) {
$('#save_cliente_padrao').show();
} else {
$('#save_cliente_padrao').hide();
}
} else if (submit == '-submit') {
setTimeout(function(){ window.location.reload(); }, 250);
} else {
Fancybox.close();
}
} else {
toastr.error("Não foi possivel concluir o seu pedido.");
}
if (isCotacao) {
sendingForm('submeterPadraoCotacao'+tmpIdCliente, false);
modalSavePadraoCotacao.hide();
} else {
$('#save_padrao, #save_cliente_padrao').removeClass("btn-loading");
$('#save_padrao'+campoID).removeClass("btn-loading");
}
}
function ajaxSubmitAlteracoesPadrao(padroes, serialize, submit, campoID, isCotacao, tmpIdCliente, observacoes = '') {
var freepass = 0;
if ($('#campoMargemObjetivo').length) {
var margemObjetivo = parseFloat($('#campoMargemObjetivo').html());
var margemPrevistaGrupo = parseFloat($('#campoGrupoMargemPrevista').html());
if (margemObjetivo > 0 && margemPrevistaGrupo > margemObjetivo) {
freepass = 1;
}
}
// Contar artigos para decidir se usa progresso
var totalArtigos = atob(padroes).split('|').length;
var progressId = '';
var pollInterval = null;
if (totalArtigos > 1) {
progressId = '_' + Date.now() + '_' + Math.random().toString(36).substr(2, 6);
// Mostrar SweetAlert com barra de progresso imediatamente
Swal2.fire({
title: 'A gravar...',
html: '
0 de ' + totalArtigos + ' artigos gravados
' +
'
',
icon: null,
allowOutsideClick: false,
allowEscapeKey: false,
showConfirmButton: false,
showCancelButton: false
});
// Iniciar polling imediatamente
pollInterval = setInterval(function() {
$.ajax({
type: 'GET',
url: '/paginas/refresh/guardar-padrao-progress.php?id=' + progressId,
dataType: 'json',
cache: false,
success: function(progress) {
if (progress && progress.total > 0) {
var pct = Math.round((progress.current / progress.total) * 100);
$('#swal_progress_bar').css('width', pct + '%');
$('#swal_progress_text').html(progress.current + ' de ' + progress.total + ' artigos gravados');
if (progress.done) {
clearInterval(pollInterval);
$('#swal_progress_bar').css('width', '100%').removeClass('progress-bar-animated');
setTimeout(function() {
Swal2.close();
ajaxSubmitAlteracoesPadraoComplete(progress.result, submit, campoID, isCotacao, tmpIdCliente);
}, 500);
}
}
}
});
}, 1000);
}
$.ajax({
type: 'POST',
url: '/paginas/refresh/guardar-padrao-submit.php',
data: '&submit='+submit+'&observacoes='+encodeURIComponent(observacoes)+'&padroes='+padroes+serialize+'&freepass='+freepass+'&progressId='+progressId,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
// Se não usa progresso (1 artigo), processar resposta direta
if (!progressId) {
ajaxSubmitAlteracoesPadraoComplete(data, submit, campoID, isCotacao, tmpIdCliente);
}
// Se usa progresso, o polling já está a correr — nada a fazer aqui
},
error: function(data) {
if (pollInterval) { clearInterval(pollInterval); }
Swal2.close();
toastr.error("Não foi possivel concluir o seu pedido.");
if (isCotacao) {
sendingForm('submeterPadraoCotacao'+tmpIdCliente, false);
modalSavePadraoCotacao.hide();
} else {
$('#save_padrao, #save_cliente_padrao').removeClass("btn-loading");
$('#save_padrao'+campoID).removeClass("btn-loading");
}
}
});
}
function apagarClientePadrao(submit='', campoID = '') {
var padroes = '';
var titulo = '';
var texto = '';
var dataVars = '';
if (submit == 'padroes-cliente') {
titulo = 'Apagar Padrões';
texto = 'Tem a certeza que quer apagar estes padrões?';
$('#del_cliente_padrao').addClass("btn-loading");
$('input.checkpadrao:checkbox:checked').each(function(i, obj) {
var id = $(this).attr('data-artigo');
if (padroes != '') { padroes += '|'; }
padroes += id;
});
var cliente = $('#pc_idCliente').val();
if (padroes != '') {
padroes = btoa(padroes);
}
dataVars = '&padroes='+padroes+'&cliente='+cliente;
} else if (campoID == '') {
titulo = 'Apagar Padrões';
texto = 'Tem a certeza que quer apagar estes padrões?';
$('#del_cliente_padrao').addClass("btn-loading");
$('input.checkpadrao:checkbox:checked').each(function(i, obj) {
var id = $(this).attr('data-cliente');
if (padroes != '') { padroes += '|'; }
padroes += id;
});
var artigo = $('#artigoDetalhes').val();
if (padroes != '') {
padroes = btoa(padroes);
}
dataVars = '&padroes='+padroes+'&artigo='+artigo;
} else {
titulo = 'Apagar Padrão';
texto = 'Tem a certeza que quer apagar este padrão?';
$('#apagar_padrao'+campoID).addClass("btn-loading");
var id = $('#valorNovo_'+campoID).attr('data-cliente');
padroes = id;
var artigo = $('#valorNovo_'+campoID).attr('data-artigo');
if (padroes != '') {
padroes = btoa(padroes);
}
dataVars = '&padroes='+padroes+'&artigo='+artigo;
}
if (padroes != '') {
Swal2.fire({
title: titulo,
html: texto,
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
return $.ajax({
type: 'POST',
url: '/paginas/refresh/apagar-padrao.php',
data: dataVars,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
}
});
}
}).then(function(result) {
if (result.isConfirmed) {
var data = result.value;
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (data == "1") {
if (submit == 'padroes-cliente') {
toastr.success("Padrões apagados com sucesso.");
filtrarListaPadroes(true,true,0);
} else if (campoID == '') {
toastr.success("Padrões apagados com sucesso.");
Fancybox.close();
} else {
toastr.success("Padrão apagado com sucesso.");
$('.art'+campoID).remove();
var tmpArtigoId = $('#artigoTmpID').val();
var numPadroes = parseInt($('#numPadroes'+tmpArtigoId).html())-1;
$('#numPadroes'+tmpArtigoId).html(numPadroes);
if (numPadroes == 0) { $('.art'+tmpArtigoId).remove(); }
}
} else {
toastr.error("Não foi possivel concluir o seu pedido.");
}
$('#del_cliente_padrao, #apagar_padrao'+campoID).removeClass("btn-loading");
} else {
$('#del_cliente_padrao, #apagar_padrao'+campoID).removeClass("btn-loading");
}
});
}
}
var addClienteModal;
function adicionarClientePadrao() {
$('#modalAddClienteLoading').show();
$('#modalAddClienteContent').html('');
addClienteModal = new bootstrap.Modal(document.getElementById('modalAddCliente'), { backdrop: false, keyboard: false });
addClienteModal.show();
var artigo = $('#artigoDetalhes').val();
$.ajax({
type: 'POST',
url: '/paginas/refresh/add-cliente-list.php',
data: '&artigo='+artigo,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#modalAddClienteLoading').hide();
$('#modalAddClienteContent').html(data);
$('#btnSubmitAddCliente').show();
$("select[data-use-select2]").each(function() {
$(this).select2({
minimumResultsForSearch: '',
width: '100%',
dropdownParent: $(this).parent()
});
});
$('.select2').on('click', () => {
let selectField = document.querySelectorAll('.select2-search__field')
selectField.forEach((element, index) => {
element.focus();
})
});
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
$("#formAddClientePadrao").submit(function(event) {
event.preventDefault();
var clienteSel = $('#novo_cliente_select option:selected');
var tmpid = clienteSel.attr('data-tmpid');
var cliente = clienteSel.attr('data-cliente');
var nif = clienteSel.attr('data-nif');
var nome = clienteSel.attr('data-nome');
var abreviatura = clienteSel.attr('data-abreviatura');
var artigo = clienteSel.attr('data-artigo');
var valorPonderado = clienteSel.attr('data-ponderado');
var valorMinimo = parseFloat(clienteSel.attr('data-minimo')).toFixed(3);
var precoTr = parseFloat($('#artigoPrecoTr').val());
var valorMaximo = precoTr*2;
valorMaximo = precoTr.toFixed(3);
$("tbody#listaPadroes").append('
'+cliente+'
'+nif+'
'+nome+'
'+abreviatura+'
0,000€
Ant: 0,000€
');
addClienteModal.hide();
$('#scrollPadraoList').scrollTop($('#scrollPadraoList')[0].scrollHeight);
handleCheckPadroes();
});
function calculaPreco(tmdId,price,min,max,ponderado,check=true,minimoAprovacao=0,cotacao='',checkout=false,campo='',isEscoar=false) {
ponderado = (ponderado || '').toString().replace(/[^A-Za-z0-9+/=]/g, '');
var tmpCampo = (campo != '') ? campo : 'varNet';
var percentage = parseFloat($('#'+tmpCampo+'_'+tmdId).val());
if (campo == 'varNet') {
var calcPrice = parseFloat(price) / (1 - (percentage / 100)),
newPrice = calcPrice.toFixed(3);
var custoManual = $('#valorNovo_'+tmdId).attr('data-cm');
var calcPercCM = ((parseFloat(newPrice) - parseFloat(custoManual)) / parseFloat(newPrice)) * 100,
newPercCM = calcPercCM.toFixed(2);
$('#varCM_'+tmdId).html(newPercCM);
} else {
var calcPrice = parseFloat(price) + ((parseFloat(price) / 100) * percentage),
newPrice = calcPrice.toFixed(3);
}
/*if (newPrice > parseFloat(max)) {
$('#valorNovo_'+tmdId).val(max);
newPrice = parseFloat(max);
calculaPerc(tmdId,price,min,max);
}*/
if (!isEscoar || newPrice == 0) {
if (newPrice < parseFloat(min) && newPrice >= parseFloat(base64ToUtf8(ponderado))) {
} else if (newPrice < parseFloat(base64ToUtf8(ponderado)) && min >= parseFloat(base64ToUtf8(ponderado))) {
$('#valorNovo_'+tmdId).val(min);
newPrice = parseFloat(min);
calculaPerc(tmdId,price,min,max);
}
}
if (checkout) {
$('#valorNovo_'+tmdId).val(newPrice).trigger('change');
}else{
$('#valorNovo_'+tmdId).val(newPrice);
}
if (campo == 'varTT') {
var priceNet = $('#valorNovo_'+tmdId).attr('data-preco');
var calcPercNet = ((parseFloat(newPrice) - parseFloat(price)) / parseFloat(newPrice)) * 100,
newPercNet = calcPercNet.toFixed(2);
$('#varNet_'+tmdId).val(newPercNet);
var custoManual = $('#valorNovo_'+tmdId).attr('data-cm');
var calcPercCM = ((parseFloat(newPrice) - parseFloat(custoManual)) / parseFloat(newPrice)) * 100,
newPercCM = calcPercCM.toFixed(2);
$('#varCM_'+tmdId).html(newPercCM);
}
var precoAtual = parseFloat($('#valorNovo_'+tmdId).attr('data-precoatual'));
var bloqueadoNovo = $("#valorNovo_"+tmdId).attr('data-bloqueado');
if (precoAtual > 0 && (precoAtual != newPrice || bloqueadoNovo == 1)) {
$('#valorNovo_'+tmdId).removeClass('bg-warning').addClass('bg-secondary precoEditadoUser');
$('#save_cliente_padrao').show();
} else if (precoAtual == newPrice) {
$('#valorNovo_'+tmdId).removeClass('bg-secondary precoEditadoUser');
if (checkTemAlterados()) {
$('#save_cliente_padrao').show();
} else {
$('#save_cliente_padrao').hide();
}
}
if (check) {
checkTemPadroesPorGravar();
}
if (minimoAprovacao>0) {
var bloqueado = $("#valorPadrao_"+tmdId).attr('data-bloqueado');
var padrao = ($("#valorPadrao_"+tmdId).is(":checked")) ? 1 : 0;
if (padrao == 0 && bloqueado == 0) {
$('#btnAprovacao_'+tmdId).removeClass('disabled');
$('#btnEscalar_'+tmdId).addClass('disabled');
} else {
if (newPrice>=parseFloat(minimoAprovacao)) {
$('#btnAprovacao_'+tmdId).removeClass('disabled');
$('#btnEscalar_'+tmdId).addClass('disabled');
} else {
$('#btnAprovacao_'+tmdId).addClass('disabled');
$('#btnEscalar_'+tmdId).removeClass('disabled');
}
}
}
if (cotacao) {
checkTemCotacoesPorGravar(cotacao);
}
if ($('#campoMotivo'+tmdId).length) {
var cliente = $('#varNet_'+tmdId).attr('data-cliente');
var artigo = $('#varNet_'+tmdId).attr('data-artigo');
getMotivo(tmdId, cliente, artigo, newPrice);
}
calculaMargens(tmdId);
}
function calculaPerc(tmdId,price,min,max,ponderado,check=true,minimoAprovacao=0,cotacao='',checkout=false,campo='',isEscoar=false) {
ponderado = (ponderado || '').toString().replace(/[^A-Za-z0-9+/=]/g, '');
var newPrice = parseFloat($('#valorNovo_'+tmdId).val());
/*if (newPrice > parseFloat(max)) {
$('#valorNovo_'+tmdId).val(max);
newPrice = parseFloat(max);
}*/
if (!isEscoar || newPrice == 0) {
if (newPrice < parseFloat(min) && newPrice >= parseFloat(atob(ponderado))) {
} else if (newPrice < parseFloat(atob(ponderado)) && min >= parseFloat(atob(ponderado))) {
$('#valorNovo_'+tmdId).val(min);
newPrice = parseFloat(min);
}
}
if (campo == 'varNetRaioX') {
var calcPerc = ((parseFloat(newPrice) / parseFloat(price)) - 1) * 100;
newPerc = calcPerc.toFixed(2);
} else if (campo == 'varNet') {
var calcPerc = ((parseFloat(newPrice) - parseFloat(price)) / parseFloat(newPrice)) * 100,
newPerc = calcPerc.toFixed(2);
} else {
var calcPerc = (parseFloat(newPrice) * 100 / parseFloat(price)) - 100,
newPerc = calcPerc.toFixed(2);
}
$('#varNet_'+tmdId).val(newPerc);
if ($('#varTT_'+tmdId).length) {
var priceTT = $('#valorNovo_'+tmdId).attr('data-tt');
var calcPercTT = (parseFloat(newPrice) * 100 / parseFloat(priceTT)) - 100,
newPercTT = calcPercTT.toFixed(2);
$('#varTT_'+tmdId).val(newPercTT);
var custoManual = $('#valorNovo_'+tmdId).attr('data-cm');
var calcPercCM = ((parseFloat(newPrice) - parseFloat(custoManual)) / parseFloat(newPrice)) * 100,
newPercCM = calcPercCM.toFixed(2);
$('#varCM_'+tmdId).html(newPercCM);
}
var precoAtual = parseFloat($('#valorNovo_'+tmdId).attr('data-precoatual'));
var bloqueadoNovo = $("#valorNovo_"+tmdId).attr('data-bloqueado');
var manterPreco = $('#valorNovo_'+tmdId).attr('data-manterpreco');
if (precoAtual > 0 && (precoAtual != newPrice || bloqueadoNovo == 1 || manterPreco == 1)) {
$('#valorNovo_'+tmdId).removeClass('bg-warning').addClass('bg-secondary precoEditadoUser');
$('#save_cliente_padrao').show();
} else if (precoAtual == newPrice) {
$('#valorNovo_'+tmdId).removeClass('bg-secondary precoEditadoUser');
if (checkTemAlterados()) {
$('#save_cliente_padrao').show();
} else {
$('#save_cliente_padrao').hide();
}
}
if (check) {
checkTemPadroesPorGravar();
}
if (minimoAprovacao>0) {
var bloqueado = $("#valorPadrao_"+tmdId).attr('data-bloqueado');
var padrao = ($("#valorPadrao_"+tmdId).is(":checked")) ? 1 : 0;
if (padrao == 0 && bloqueado == 0) {
$('#btnAprovacao_'+tmdId).removeClass('disabled');
$('#btnEscalar_'+tmdId).addClass('disabled');
} else {
if (newPrice>=parseFloat(minimoAprovacao)) {
$('#btnAprovacao_'+tmdId).removeClass('disabled');
$('#btnEscalar_'+tmdId).addClass('disabled');
} else {
$('#btnAprovacao_'+tmdId).addClass('disabled');
$('#btnEscalar_'+tmdId).removeClass('disabled');
}
}
}
if (cotacao) {
checkTemCotacoesPorGravar(cotacao);
}
if ($('#campoMotivo'+tmdId).length) {
var cliente = $('#varNet_'+tmdId).attr('data-cliente');
var artigo = $('#varNet_'+tmdId).attr('data-artigo');
getMotivo(tmdId, cliente, artigo, newPrice);
}
calculaMargens(tmdId);
}
function checkTemAlterados() {
var temAlterados = false;
$('#linhasGerirPadrao tr').each(function() {
if ($(this).find('.inputNovoPreco').hasClass('precoEditadoUser')) {
temAlterados = true;
}
});
return temAlterados;
}
function triggerChange(id) {
$('#'+id).attr('data-manterpreco', '1');
$('#'+id).trigger('change');
}
function calculaMargens(tmpId) {
var preco = parseFloat($('#valorNovo_'+tmpId).val());
if ($('#cm_'+tmpId).length && $('#mpvcm_'+tmpId).length) {
var cm = parseFloat($('#cm_'+tmpId).html().replace('€','').replace(',','.'));
var margem = (preco-cm)/preco*100;
$('#mpvcm_'+tmpId).html(mostraMoeda(margem,'%',2));
if ($('#input_mpvcm_'+tmpId).length) {
$('#input_mpvcm_'+tmpId).val(margem.toFixed(2));
}
}
if ($('#cp_'+tmpId).length && $('#mpvcp_'+tmpId).length) {
var cp = parseFloat($('#cp_'+tmpId).html().replace('€','').replace(',','.'));
var margem = (preco-cp)/preco*100;
$('#mpvcp_'+tmpId).html(mostraMoeda(margem,'%',2));
if ($('#input_mpvcp_'+tmpId).length) {
$('#input_mpvcp_'+tmpId).val(margem.toFixed(2));
}
}
if ($('#margemlibertada_'+tmpId).length ) {
var custoManual = parseFloat($('#valorNovo_'+tmpId).attr('data-cm'));
var margemlibertada = ((preco - custoManual) / preco)*100;
$('#margemlibertada_'+tmpId).html(mostraMoeda(margemlibertada,'%'));
}
}
function manipulaMargem(campo,tmpId,price,min,max,ponderado) {
var margem = parseFloat($('#'+campo+'_'+tmpId).val());
if (campo == 'input_mpvcm') {
var cm = parseFloat($('#cm_' + tmpId).html().replace('€', '').replace(',', '.'));
var preco = (cm / (1 - (margem / 100))).toFixed(3);
$('#valorNovo_' + tmpId).val(preco).trigger('change');
} else if (campo == 'input_mpvcp') {
var cp = parseFloat($('#cp_' + tmpId).html().replace('€', '').replace(',', '.'));
var preco = (cp / (1 - (margem / 100))).toFixed(3);
$('#valorNovo_' + tmpId).val(preco).trigger('change');
}
calculaPerc(tmpId,price,min,max,ponderado,false,0);
}
function selMargensBtn(el,input) {
$('.selMargensBtn').html($(el).html());
$('.inputsOpcoes').hide();
$('.inputsOpcoes_'+input).show();
}
function checkPrecoNovoCliente(tmdId,min,max,ponderado,check=true) {
var newPrice = parseFloat($('#valorNovo_'+tmdId).val());
/*if (newPrice > parseFloat(max)) {
$('#valorNovo_'+tmdId).val(max);
newPrice = parseFloat(max);
}*/
if (newPrice < parseFloat(min) && newPrice >= parseFloat(atob(ponderado))) {
} else if (newPrice < parseFloat(min)) {
$('#valorNovo_'+tmdId).val(min);
newPrice = parseFloat(min);
}
if (check) {
checkTemPadroesPorGravar();
}
if ($('#campoMotivo'+tmdId).length) {
var cliente = $('#varNet_'+tmdId).attr('data-cliente');
var artigo = $('#varNet_'+tmdId).attr('data-artigo');
getMotivo(tmdId, cliente, artigo, newPrice);
}
}
function getMotivo(tmpId, cliente, artigo, preco) {
if (artigo && preco) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/get-motivo.php',
data: '&cliente='+cliente+'&artigo='+artigo+'&preco='+preco+'&ispadraoaprovar=0',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
$('#campoMotivo'+tmpId).html(data);
},
error: function(data) { toastr.error("Não foi possivel concluir o seu pedido."); }
});
} else {
$('#campoMotivo'+tmpId).html('-');
}
}
function handleTabPadroes(id,artigo,tr = 0,tt = 0,bloqueados = 0, idCliente = 0) {
if (id == 'padroes') {
if (!temPadraoCarregado) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/detalhes-produto.php',
data: '&id='+artigo+'&preco_tr='+tr+'&preco_tt='+tt+'&bloqueados='+bloqueados+'&type=padrao',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
temPadraoCarregado = true;
$('#tab-padrao').html(data);
$('.precoDatePicker').datepicker({
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: 'dd/mm/yy',
minDate: '25/09/2026',
beforeShow: function (textbox, instance) {
var txtBoxOffset = $(this).offset();
var top = txtBoxOffset.top - $(window).scrollTop();
setTimeout(function () { instance.dpDiv.css({ top: top+45 }); }, 0);
}
});
loadToolTips();
$('#divOpcoesPadrao').show();
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
} else {
$('#divOpcoesPadrao').show();
$("#add_cliente_padrao").show();
$("#rever_alteracoes_padrao, #save_padrao, #cancelar_rever_alteracoes_padrao").hide();
}
} else if (id == 'armazens') {
if (!temArmazensCarregado) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/detalhes-produto.php',
data: '&id='+artigo+'&type=armazens',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
temArmazensCarregado = true;
$('#tab-armazens').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
} else {
$("#add_cliente_padrao").show();
$("#rever_alteracoes_padrao, #save_padrao, #cancelar_rever_alteracoes_padrao").hide();
}
} else if (id == 'historico') {
if (!temHistoricoCarregado) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/detalhes-produto.php',
data: '&id='+artigo+'&idCliente='+idCliente+'&type=historico',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
temHistoricoCarregado = true;
$('#tab-historico').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
} else {
$("#add_cliente_padrao").show();
$("#rever_alteracoes_padrao, #save_padrao, #cancelar_rever_alteracoes_padrao").hide();
}
} else if (id == 'stock') {
if (!temStockCarregado) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/detalhes-produto.php',
data: '&id='+artigo+'&type=stock',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
temStockCarregado = true;
$('#tab-stock').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
} else {
$("#add_cliente_padrao").show();
$("#rever_alteracoes_padrao, #save_padrao, #cancelar_rever_alteracoes_padrao").hide();
}
} else {
$('#divOpcoesPadrao').hide();
}
}
function removePadrao(produto){
if(produto>=1){
setTimeout(function(){
$.ajax({
url: "/paginas/refresh/remover-cart-padrao.php",
data: "&produto="+produto+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID5e79bf79d27ef19b072075171edd2893",
type: "POST",
success:function(result){
if(result==1){
window.location.reload();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
return false;
}, 100);
};
};
function loadPadroes() {
$('#padroesContent').html('
A carregar...
');
$.ajax({
type: 'POST',
url: '/paginas/produtos/aprovacoes_load.php',
data: '&a=1',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#padroesContent').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function filtrarPadroesAprovacao() {
limparSelLinhasEnc();
var filtros = '*';
var escaladas = $('#filtro_escaladas').val();
if (escaladas!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-escaladas="1"]';
} else {
$('.linhaAprovacaoArtigo').show();
}
var vendedor = $('#filtro_vendedor').val();
if (vendedor!=0) {
filtros += '[data-vendedor="'+vendedor+'"]';
}
var cliente = $('#filtro_cliente').val();
if (cliente!=0) {
filtros += '[data-cliente="'+cliente+'"]';
}
var artigo = $('#filtro_artigo').val();
if (artigo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-artigo*="'+artigo+'"]';
}
var motivo = $('#filtro_motivo').val();
if (motivo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-motivo*="'+motivo+'"]';
}
if (filtros != '*') {
$('.linhaAprovacaoCliente').hide();
$(filtros).show();
} else {
$('.linhaAprovacaoCliente').show();
}
if ($('.linhaAprovacaoCliente:visible').length == 0) {
$('.semResultados').show();
} else {
$('.semResultados').hide();
}
}
function rejeitarPadrao(id,cliente){
if(id){
var preco = $('#valorNovo_'+id).val();
var datavigor = $('#dataVigor_'+id).val();
var vendedor = $('#valorNovo_'+id).attr('data-vendedor');
var detalhes = id+'@'+preco+'@'+datavigor;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Rejeitar Padrão",
html: 'Tem a certeza que quer rejeitar este padrão?
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
var artigoPC = $('#ppIdArtigo').val() || '';
var filtroPC = $('#filtarPP_raiox').val() || '';
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+'&id_vendedor='+vendedor+"&status=Rejeitado&id_artigo_pc="+encodeURIComponent(artigoPC)+"&filtro_pc="+encodeURIComponent(filtroPC)+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID0661d4b168634cade72e096e74d371f1",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
$('#trLinha'+id).remove();
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
decrementarContadorGerirPrecos();
limparSelLinhasEnc();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function decrementarContadorGerirPrecos() {
var idArtigo = $('#ppIdArtigo').val();
var filtroAtual = $('#filtarPP_raiox').val();
if (!idArtigo || !filtroAtual) { return; }
var $btn = $('.btnGerirProduto[data-artigo="'+idArtigo+'"][data-filtro="'+filtroAtual+'"]');
if (!$btn.length) { return; }
var $count = $btn.find('.gerir-count');
var novo = parseInt($count.text()) - 1;
if (isNaN(novo) || novo < 0) { novo = 0; }
$count.text(novo);
if (novo == 0) {
$btn.removeClass('btn-warning').addClass('btn-gray');
}
}
function aprovarPadrao(id,cliente){
if(id){
var preco = $('#valorNovo_'+id).val();
var datavigor = $('#dataVigor_'+id).val();
var vendedor = $('#valorNovo_'+id).attr('data-vendedor');
var detalhes = id+'@'+preco+'@'+datavigor;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Aprovar Padrão",
html: 'Tem a certeza que quer aprovar este padrão?',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
var artigoPC = $('#ppIdArtigo').val() || '';
var filtroPC = $('#filtarPP_raiox').val() || '';
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+'&id_vendedor='+vendedor+"&status=Aprovado&id_artigo_pc="+encodeURIComponent(artigoPC)+"&filtro_pc="+encodeURIComponent(filtroPC)+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID66927b6b8580663867169dbe56e1cd80",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
$('#trLinha'+id).remove();
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
decrementarContadorGerirPrecos();
limparSelLinhasEnc();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function escalarPadrao(id,cliente){
if(id){
var preco = $('#valorNovo_'+id).val();
var datavigor = $('#dataVigor_'+id).val();
var detalhes = id+'@'+preco+'@'+datavigor;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Escalar Padrão",
html: 'Tem a certeza que quer escalar este padrão?
',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#1170e4",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_observacoes_escalar').removeClass("is-invalid");
var observacoes = document.getElementById('swall_observacoes_escalar').value;
if (observacoes == '') { $('#swall_observacoes_escalar').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+'&observacoes='+observacoes+"&status=Escalado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDf21b844b168f26327795e0fcf6e032e2",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
loadPadroes();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function limparLinhasAprovacoesSelecionadas(tipo) {
var ct=0;
var campoVerificacao = '';
if (tipo == 'escalar') {
campoVerificacao = 'btnEscalar_';
} else if (tipo == 'aprovar') {
campoVerificacao = 'btnAprovacao_';
} else {
campoVerificacao = 'btnRejeitar_';
}
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var tmpId = $(this).val();
if (!$('#'+campoVerificacao+tmpId).hasClass('disabled')) {
var cliente = $(this).attr('data-cliente');
$('#trLinha'+tmpId).remove();
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
}
});
}
function rejeitarLinhaAprovacoes(){
var detalhes = getArrayEncsSelecionadasPost('rejeitar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Rejeitar"); return false; }
Swal2.fire({
title: "Rejeitar Padrões",
html: 'Tem a certeza que quer rejeitar esta(s) linha(s)?
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+"&status=Rejeitado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDa63038b55494eb0c8a90f31e73bcd20e",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasAprovacoesSelecionadas('rejeitar');
limparSelLinhasEnc();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function aprovarLinhaAprovacoes(){
var detalhes = getArrayEncsSelecionadasPost('aprovar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Aprovar"); return false; }
Swal2.fire({
title: "Aprovar Padrões",
html: 'Tem a certeza que quer aprovar esta(s) linha(s)?',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+"&status=Aprovado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDe8f7bc7c686f9d91ca6071617c0ead06",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasAprovacoesSelecionadas('aprovar');
limparSelLinhasEnc();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function escalarLinhaAprovacoes(){
var detalhes = getArrayEncsSelecionadasPost('escalar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Escalar"); return false; }
Swal2.fire({
title: "Escalar Padrões",
html: 'Tem a certeza que quer escalar esta(s) linha(s)?
',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#1170e4",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_observacoes_escalar').removeClass("is-invalid");
var observacoes = document.getElementById('swall_observacoes_escalar').value;
if (observacoes == '') { $('#swall_observacoes_escalar').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-padrao.php",
data: "&detalhes="+detalhes+'&observacoes='+observacoes+"&status=Escalado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID9da3efedf510b45a824ae92f93ae589c",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
loadPadroes();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function rejeitarLinhaEnc(id,encomenda,cliente,ultrapassada = 0){
if(id){
var preco = $('#valorNovo_'+id).val();
var id_linha_encomenda = $('#valorNovo_'+id).attr('data-linha-encomenda');
var vendedor = $('#valorNovo_'+id).attr('data-vendedor');
var padrao = ($("#valorPadrao_"+id).is(":checked")) ? 1 : 0;
var detalhes = id+'@'+preco+'@'+'@'+padrao+'@'+id_linha_encomenda;
detalhes = btoa(detalhes);
var aviso = (ultrapassada == 1) ? ' Corre o risco de a entrega não ser feita nesta data. Entre em contacto com o responsável de rota para garantir que a entrega é feita na data prevista!' : '';
Swal2.fire({
title: "Rejeitar Linha Encomenda",
html: 'Tem a certeza que quer rejeitar esta linha?'+aviso+'
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
var artigoPC = $('#ppIdArtigo').val() || '';
var filtroPC = $('#filtarPP_raiox').val() || '';
return $.ajax({
url: "/paginas/refresh/handle-linha-enc.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+'&id_vendedor='+vendedor+"&status=Rejeitado&id_artigo_pc="+encodeURIComponent(artigoPC)+"&filtro_pc="+encodeURIComponent(filtroPC)+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID0d2ca84896738fc4ed2e9f308e63cc55",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparSelLinhasEnc();
$('#trLinha'+id).remove();
if ($('*[data-cardencomenda="'+encomenda+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardencomenda="'+encomenda+'"]').remove();
}
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
decrementarContadorGerirPrecos();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function aprovarLinhaEnc(id,encomenda,cliente,ultrapassada = 0,avisoFaltaStock = 0){
if(id){
if (avisoFaltaStock == 1) {
Swal2.fire({
title: "Aprovar Linha Encomenda",
html: 'Está a aprovar uma falta de stock sem haver stock disponível para satisfazer a encomenda. Deseja continuar?',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'OK',
cancelButtonText: 'Cancelar'
}).then(function(result) {
if (result.isConfirmed) {
aprovarLinhaEnc(id, encomenda, cliente, ultrapassada, 0);
}
});
return;
}
var preco = $('#valorNovo_'+id).val();
var id_linha_encomenda = $('#valorNovo_'+id).attr('data-linha-encomenda');
var vendedor = $('#valorNovo_'+id).attr('data-vendedor');
var padrao = ($("#valorPadrao_"+id).is(":checked")) ? 1 : 0;
var detalhes = id+'@'+preco+'@'+'@'+padrao+'@'+id_linha_encomenda;
detalhes = btoa(detalhes);
var aviso = (ultrapassada == 1) ? ' Corre o risco de a entrega não ser feita nesta data. Entre em contacto com o responsável de rota para garantir que a entrega é feita na data prevista!' : '';
Swal2.fire({
title: "Aprovar Linha Encomenda",
html: 'Tem a certeza que quer aprovar esta linha?'+aviso+'',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
var artigoPC = $('#ppIdArtigo').val() || '';
var filtroPC = $('#filtarPP_raiox').val() || '';
return $.ajax({
url: "/paginas/refresh/handle-linha-enc.php",
data: "&detalhes="+detalhes+'&id_vendedor='+vendedor+"&status=Aprovado&id_artigo_pc="+encodeURIComponent(artigoPC)+"&filtro_pc="+encodeURIComponent(filtroPC)+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDc0b7a5594f93d570ad21237d1bb43c1b",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparSelLinhasEnc();
$('#trLinha'+id).remove();
if ($('*[data-cardencomenda="'+encomenda+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardencomenda="'+encomenda+'"]').remove();
}
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
decrementarContadorGerirPrecos();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function escalarLinhaEnc(id,encomenda,cliente){
if(id){
var preco = $('#valorNovo_'+id).val();
var id_linha_encomenda = $('#valorNovo_'+id).attr('data-linha-encomenda');
var padrao = ($("#valorPadrao_"+id).is(":checked")) ? 1 : 0;
var detalhes = id+'@'+preco+'@'+'@'+padrao+'@'+id_linha_encomenda;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Escalar Linha Encomenda",
html: 'Tem a certeza que quer escalar esta linha?
: '+result.value.observacoes+'');
$('#btnEscalar_'+id).addClass('disabled');
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function rejeitarLinhaEncForn(id,encomenda,cliente){
if(id){
var qtt = $('#quantity_'+id).val();
var detalhes = id+'@'+qtt;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Rejeitar Linha Encomenda",
html: 'Tem a certeza que quer rejeitar esta linha?
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-linha-enc-forn.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+"&status=Rejeitado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID83ca4fb817dabedf9ff9d96ebd3b4137",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparSelLinhasEnc();
$('#trLinha'+id).remove();
if ($('*[data-cardencomenda="'+encomenda+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardencomenda="'+encomenda+'"]').remove();
}
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
decrementarContadorGerirPrecos();
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function aprovarLinhaEncForn(id,encomenda,cliente){
if(id){
var qtt = $('#quantity_'+id).val();
var detalhes = id+'@'+qtt;
detalhes = btoa(detalhes);
Swal2.fire({
title: "Aprovar Linha Encomenda",
html: 'Tem a certeza que quer aprovar esta linha?
');
$.ajax({
type: 'POST',
url: '/paginas/produtos/encomendas_aprovacoes_load.php',
data: '&a=1',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#encsAprovacaoContent').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function filtrarEncsAprovacao() {
limparSelLinhasEnc();
var filtros = '*';
var escaladas = $('#filtro_escaladas').val();
if (escaladas!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-escaladas="1"]';
} else {
$('.linhaAprovacaoArtigo').show();
}
var vendedor = $('#filtro_vendedor').val();
if (vendedor!=0) {
filtros += '[data-vendedor="'+vendedor+'"]';
}
var cliente = $('#filtro_cliente').val();
if (cliente!=0) {
filtros += '[data-cliente="'+cliente+'"]';
}
var artigo = $('#filtro_artigo').val();
if (artigo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-artigo*="'+artigo+'"]';
}
var entrega = $('#filtro_dataentrega').val();
if (entrega!=0) {
filtros += '[data-entrega*="'+entrega+'"]';
}
var motivo = $('#filtro_motivo').val();
if (motivo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-motivo*="'+motivo+'"]';
}
if (filtros != '*') {
$('.linhaAprovacaoCliente').hide();
$(filtros).show();
} else {
$('.linhaAprovacaoCliente').show();
}
if ($('.linhaAprovacaoCliente:visible').length == 0) {
$('.semResultados').show();
} else {
$('.semResultados').hide();
}
}
function selecionarTodosChecks(el, classe) {
var selBtn = ($(el).is(":checked")) ? 1 : 0;
if (selBtn == 1) {
$('.'+classe+':visible').not(':disabled').prop('checked', true).trigger('change');
} else {
$('.'+classe).not(':disabled').prop('checked', false).trigger('change');
}
}
function limparSelLinhasEnc() {
$('.selLinha, .selLinhaEnc').prop('checked', false);
$('.trLinha').removeClass('bg-primary-transparent');
handleChecksLinhaEnc();
}
function selecionarTodasLinhasEnc(tmpIdEnc) {
var selLinhaEnc = ($("#selLinhaEnc"+tmpIdEnc).is(":checked")) ? 1 : 0;
if (selLinhaEnc == 1) {
$('.selLinhaEnc'+tmpIdEnc+':visible').not(':disabled').prop('checked', true).trigger('change');
} else {
$('.selLinhaEnc'+tmpIdEnc).not(':disabled').prop('checked', false).trigger('change');
}
}
function selecionarLinhaEnc(tmpId,tmpCliente) {
var selLinha = ($("#selLinha"+tmpId).is(":checked")) ? 1 : 0;
if (selLinha == 1) {
$('#trLinha'+tmpId).addClass('bg-primary-transparent');
} else {
$('#trLinha'+tmpId).removeClass('bg-primary-transparent');
}
handleChecksLinhaEnc();
handleChecksClienteLinhaEnc(tmpCliente);
}
function selecionarLinhaEncForn(tmpId,tmpCliente) {
var selLinha = ($("#selLinha"+tmpId).is(":checked")) ? 1 : 0;
if (selLinha == 1) {
$('#trLinha'+tmpId).addClass('bg-primary-transparent');
} else {
$('#trLinha'+tmpId).removeClass('bg-primary-transparent');
}
handleChecksLinhaEncForn();
handleChecksClienteLinhaEnc(tmpCliente);
}
function handleChecksClienteLinhaEnc(tmpCliente) {
var ct=0;
$('input.selLinhaCliente'+tmpCliente+':checkbox:checked').each(function(i, obj) {
ct++;
});
if (ct > 0) {
$('#btnNotificar'+tmpCliente).removeClass('disabled');
} else {
$('#btnNotificar'+tmpCliente).addClass('disabled');
}
}
function handleChecksLinhaEnc() {
var ct=0;
var ids='';
var podeEscalar = false;
var podeAprovar = false;
var podeRejeitar = false;
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var id = $(this).val();
if (!$('#btnEscalar_'+id).hasClass('disabled')) { podeEscalar = true; }
if (!$('#btnAprovacao_'+id).hasClass('disabled')) { podeAprovar = true; }
if (!$('#btnRejeitar_'+id).hasClass('disabled')) { podeRejeitar = true; }
if (ct>0) ids += ',';
ids += id;
ct++;
});
$('#ids_selecionados').val(ids);
if (ct > 0) {
$('#barraOpcoes').show();
if (podeEscalar) {
$('#btnEscalarSelecionados').removeClass('disabled');
} else {
$('#btnEscalarSelecionados').addClass('disabled');
}
if (podeAprovar) {
$('#btnAprovacaoSelecionados').removeClass('disabled');
} else {
$('#btnAprovacaoSelecionados').addClass('disabled');
}
if (podeRejeitar) {
$('#btnRejeitarSelecionados').removeClass('disabled');
} else {
$('#btnRejeitarSelecionados').addClass('disabled');
}
} else {
$('#barraOpcoes').hide();
}
}
function handleChecksLinhaEncForn() {
var ct=0;
var ids='';
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var id = $(this).val();
if (ct>0) ids += ',';
ids += id;
ct++;
});
$('#ids_selecionados').val(ids);
if (ct > 0) {
$('#barraOpcoes').show();
} else {
$('#barraOpcoes').hide();
}
}
function limparLinhasEncsSelecionadas(tipo) {
var ct=0;
var campoVerificacao = '';
if (tipo == 'escalar') {
campoVerificacao = 'btnEscalar_';
} else if (tipo == 'aprovar') {
campoVerificacao = 'btnAprovacao_';
} else {
campoVerificacao = 'btnRejeitar_';
}
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var tmpId = $(this).val();
if (!$('#'+campoVerificacao+tmpId).hasClass('disabled')) {
var encomenda = $(this).attr('data-encomenda');
var cliente = $(this).attr('data-cliente');
$('#trLinha'+tmpId).remove();
if ($('*[data-cardencomenda="'+encomenda+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardencomenda="'+encomenda+'"]').remove();
}
if ($('*[data-cardcliente="'+cliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+cliente+'"]').remove();
}
}
});
}
function limparLinhasEncsFornSelecionadas(tipo) {
var ct=0;
var campoVerificacao = '';
if (tipo == 'aprovar') {
campoVerificacao = 'btnAprovacao_';
} else {
campoVerificacao = 'btnRejeitar_';
}
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var tmpId = $(this).val();
if (!$('#'+campoVerificacao+tmpId).hasClass('disabled')) {
var encomenda = $(this).attr('data-encomenda');
var fornecedor = $(this).attr('data-fornecedor');
$('#trLinha'+tmpId).remove();
if ($('*[data-cardencomenda="'+encomenda+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardencomenda="'+encomenda+'"]').remove();
}
if ($('*[data-cardfornecedor="'+fornecedor+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardfornecedor="'+fornecedor+'"]').remove();
}
}
});
}
function getArrayEncsSelecionadasPost(tipo) {
var ct=0;
var detalhes='';
var campoVerificacao = 'btnEscalar_';
if (tipo == 'escalar') {
campoVerificacao = '';
} else if (tipo == 'aprovar') {
campoVerificacao = 'btnAprovacao_';
} else {
campoVerificacao = 'btnRejeitar_';
}
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var tmpId = $(this).val();
if (!$('#'+campoVerificacao+tmpId).hasClass('disabled')) {
var preco = $('#valorNovo_'+tmpId).val();
var id_linha_encomenda = $('#valorNovo_'+tmpId).attr('data-linha-encomenda');
var datavigor = $('#dataVigor_'+tmpId).val();
var padrao = ($("#valorPadrao_"+tmpId).is(":checked")) ? 1 : 0;
var infolinha = tmpId+'@'+preco+'@'+datavigor+'@'+padrao+'@'+id_linha_encomenda;
if (ct>0) detalhes += '|';
detalhes += infolinha;
ct++;
}
});
detalhes = btoa(detalhes);
return detalhes;
}
function getArrayEncsFornSelecionadasPost(tipo) {
var ct=0;
var detalhes='';
$('input.selLinha:checkbox:checked').each(function(i, obj) {
var tmpId = $(this).val();
var qtt = $('#quantity_'+tmpId).val();
var infolinha = tmpId+'@'+qtt;
if (ct>0) detalhes += '|';
detalhes += infolinha;
ct++;
});
detalhes = btoa(detalhes);
return detalhes;
}
function rejeitarLinhaEncSelecionadas(){
var detalhes = getArrayEncsSelecionadasPost('rejeitar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Rejeitar"); return false; }
Swal2.fire({
title: "Rejeitar Linha(s) Encomenda(s)",
html: 'Tem a certeza que quer rejeitar esta(s) linha(s)?
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-linha-enc.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+"&status=Rejeitado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID132f2cd449dc96be34950d971df8f678",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasEncsSelecionadas('rejeitar');
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function aprovarLinhaEncSelecionadas(){
var detalhes = getArrayEncsSelecionadasPost('aprovar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Aprovar"); return false; }
Swal2.fire({
title: "Aprovar Linha(s) Encomenda(s)",
html: 'Tem a certeza que quer aprovar esta(s) linha(s)?',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
return $.ajax({
url: "/paginas/refresh/handle-linha-enc.php",
data: "&detalhes="+detalhes+"&status=Aprovado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDb640f7b3dea0406814f84682a82822c0",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasEncsSelecionadas('aprovar');
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function escalarLinhaEncSelecionadas(){
var detalhes = getArrayEncsSelecionadasPost('escalar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Escalar"); return false; }
Swal2.fire({
title: "Escalar Linha(s) Encomenda(s)",
html: 'Tem a certeza que quer escalar esta(s) linha(s)?
',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#1170e4",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_observacoes_escalar').removeClass("is-invalid");
var observacoes = document.getElementById('swall_observacoes_escalar').value;
if (observacoes == '') { $('#swall_observacoes_escalar').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-linha-enc.php",
data: "&detalhes="+detalhes+'&observacoes='+observacoes+"&status=Escalado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID6bab7235863245f7be55ef28733157bd",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
setTimeout(function(){
window.location.reload();
}, 250);
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function filtrarEncsFornAprovacao() {
limparSelLinhasEnc();
var filtros = '*';
var empresa = $('#filtro_empresa').val();
if (empresa!=0) {
filtros += '[data-empresa="'+empresa+'"]';
}
var armazem = $('#filtro_armazem').val();
if (armazem!=0) {
filtros += '[data-armazem*="'+armazem+'"]';
}
var fornecedor = $('#filtro_fornecedor').val();
if (fornecedor!=0) {
filtros += '[data-fornecedor="'+fornecedor+'"]';
}
var artigo = $('#filtro_artigo').val();
if (artigo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-artigo*="'+artigo+'"]';
}
var motivo = $('#filtro_motivo').val();
if (motivo!=0) {
$('.linhaAprovacaoArtigo').hide();
filtros += '[data-motivo*="'+motivo+'"]';
}
if (filtros != '*') {
$('.linhaAprovacaoCliente').hide();
$(filtros).show();
} else {
$('.linhaAprovacaoCliente').show();
}
if ($('.linhaAprovacaoCliente:visible').length == 0) {
$('.semResultados').show();
} else {
$('.semResultados').hide();
}
}
function handleQTForn(produtoid,minimo,multiplo,unit,qtOriginal,diasOriginal) {
if (!minimo) minimo = 1;
minimo = parseInt(minimo);
if (!multiplo) multiplo = 1;
multiplo = parseInt(multiplo);
var new_qty = parseInt($("#quantity_"+produtoid).val());
new_qty = Math.ceil(new_qty/multiplo)*multiplo;
if(new_qty < minimo){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_qty = minimo;
}
if(new_qty < multiplo){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_qty = multiplo;
}
$("#quantity_"+produtoid).val(new_qty.toFixed(2)+' '+unit);
var newDias = Math.ceil(new_qty*parseInt(diasOriginal)/parseInt(qtOriginal));
$("#days_"+produtoid).val(newDias);
}
function handleDaysForn(produtoid,minimo,multiplo,unit,qtOriginal,diasOriginal) {
if (!minimo) minimo = 1;
minimo = parseInt(minimo);
if (!multiplo) multiplo = 1;
multiplo = parseInt(multiplo);
var new_days = parseInt($("#days_"+produtoid).val());
if(new_days < 1){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_days = 1;
}
$("#days_"+produtoid).val(new_days);
var new_qty = Math.ceil(new_days*parseInt(qtOriginal)/parseInt(diasOriginal));
new_qty = Math.ceil(new_qty/multiplo)*multiplo;
$("#quantity_"+produtoid).val(new_qty.toFixed(2)+' '+unit);
handleQTForn(produtoid,minimo,multiplo,unit,qtOriginal,diasOriginal);
}
function loadEncsFornAprovacao() {
$('#encsFornAprovacaoContent').html('
A carregar...
');
$.ajax({
type: 'POST',
url: '/paginas/produtos/encomendas_fornecedor_aprovacoes_load.php',
data: '&a=1',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#encsFornAprovacaoContent').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function rejeitarLinhaEncFornSelecionadas(){
var detalhes = getArrayEncsFornSelecionadasPost('rejeitar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Rejeitar"); return false; }
Swal2.fire({
title: "Rejeitar Linha(s) Encomenda(s)",
html: 'Tem a certeza que quer rejeitar esta(s) linha(s)?
',
icon: "error",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_motivo_nao_aprovado').removeClass("is-invalid");
var motivo = document.getElementById('swall_motivo_nao_aprovado').value;
if (motivo == '') { $('#swall_motivo_nao_aprovado').addClass("is-invalid"); return false; }
return $.ajax({
url: "/paginas/refresh/handle-linha-enc-forn.php",
data: "&detalhes="+detalhes+'&motivo='+motivo+"&status=Rejeitado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDae0132b95c886aa6c8f85b1a6506abca",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasEncsFornSelecionadas('rejeitar');
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
function aprovarLinhaEncFornSelecionadas(){
var detalhes = getArrayEncsFornSelecionadasPost('aprovar');
if (!detalhes) { toastr.error("Não foram encontradas linhas para Aprovar"); return false; }
Swal2.fire({
title: "Aprovar Linha(s) Encomenda(s)",
html: 'Tem a certeza que quer aprovar esta(s) linha(s)?
',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
var motivo = document.getElementById('swall_observacoes_aprovar').value;
/*if (motivo == '') { $('#swall_observacoes_aprovar').addClass("is-invalid"); return false; }*/
return $.ajax({
url: "/paginas/refresh/handle-linha-enc-forn.php",
data: "&detalhes="+detalhes+'&observacoes='+motivo+"&status=Aprovado&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID8208b20479b67159f741db3c9d0aff43",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
if(result.value==1){
limparLinhasEncsFornSelecionadas('aprovar');
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
$(".qty").keypress(function (e) {
if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)) return false;
});
function changeqt(produtoid,operator,multiplo,unit,peso = 0) {
if (!multiplo) multiplo = 1;
multiplo = parseInt(multiplo);
peso = parseFloat(peso);
var qty = $(".quantity_"+produtoid).val();
if(operator=="+"){
var new_qty = parseInt(qty)+multiplo;
}else if(operator=="-"){
var new_qty = parseInt(qty)-multiplo;
}else{
var new_qty = parseInt($(".quantity_"+produtoid).val());
new_qty = Math.ceil(new_qty/multiplo)*multiplo;
}
if(new_qty < multiplo){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_qty = multiplo;
}
$(".quantity_"+produtoid).val(new_qty+' '+unit);
if (unit != 'KG' && peso>0) {
var kgs = new_qty / multiplo * peso;
$(".kgs_"+produtoid).val(kgs.toFixed(2));
}
}
function changekg(produtoid,operator,multiplo,unit,peso = 0,idCliente='',conversao=0,ischeckout = false,tmpid=false) {
if (!peso) peso = 1;
peso = parseFloat(peso);
multiplo = parseInt(multiplo);
var kgs = $(".kgs_"+produtoid).val();
var new_kgs = parseFloat($(".kgs_"+produtoid).val());
new_kgs = Math.ceil(new_kgs/peso)*peso;
if(new_kgs < peso){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_kgs = peso;
}
$(".kgs_"+produtoid).val(new_kgs.toFixed(2));
var qty = new_kgs / peso * multiplo;
if (ischeckout) {
var subpreco = $("#valorNovo_"+tmpid).val();
var subtotalLinha = parseInt(qty)/parseFloat(conversao)*parseFloat(subpreco);
$('#subtotalLinha'+tmpid).html(mostraMoeda(subtotalLinha));
$(".quantity_"+produtoid).val(qty.toFixed(0)+' '+unit).trigger('change');
} else {
$(".quantity_"+produtoid).val(qty.toFixed(0)+' '+unit);//.trigger('change');
}
if (idCliente != '') { calculaTotaisEnc(idCliente); }
}
function addcart(el,tmpid,produto,remove,oferta,id_cliente = '',tmpCliente='',tmpCart='',lote='',naocompra=0,urgencia=0){
if(produto.length){
var subpreco = $("#valorNovo_"+tmpid).val();
if (subpreco == 0 && oferta != 1) {
toastr.warning("O preço tem de ser superior a 0€");
return false;
}
var precoAnt = $("#valorNovo_"+tmpid).attr('data-preco');
var bloqueado = $("#valorNovo_"+tmpid).attr('data-bloqueado');
var aplicaMinEnc = $("#valorNovo_"+tmpid).attr('data-aplicaminenc') || '0';
var pminCoord = $("#valorNovo_"+tmpid).attr('data-pmincoord') || '0';
var novoPmin = $("#valorNovo_"+tmpid).attr('data-novopmin') || '0';
var dataNovoPmin = $("#valorNovo_"+tmpid).attr('data-datanovopmin') || '';
var valorInicial = $("#valorNovo_"+tmpid).attr('value') || '0';
var dataNovoPreco = ($("#dataVigor_"+tmpid).length) ? $("#dataVigor_"+tmpid).val() : '';
var entregaData = '';
if ($("#dp_"+tmpCliente).length) {
entregaData = $("#dp_"+tmpCliente).val();
} else if ($("#entregaDataAddCart").length) {
entregaData = $("#entregaDataAddCart").val();
}
var padrao = ($("#valorPadrao_"+tmpid).is(":checked")) ? 1 : 0;
/*if (bloqueado == 1 && padrao == 0) {
toastr.warning("Artigo com preço bloqueado! Tem de activar a opção de atualizar o padrão.");
return false;
}*/
var qty = parseInt($(".quantity_"+tmpid).val());
if (!qty) { qty = 1; }
if (remove > 0) {
toastr.warning("Produto removido do carrinho");
$('#linhaCart'+tmpCart).find('[data-bs-toggle="tooltip"]').each(function(){ var t = bootstrap.Tooltip.getInstance(this); if(t) t.dispose(); });
$('#linhaCart'+tmpCart).remove();
if (typeof revalidarCheckoutMinimo === 'function') { revalidarCheckoutMinimo(tmpCliente); }
if ($('*[data-cardcliente="'+tmpCliente+'"]').find('tr.trLinha').length == 0) {
$('*[data-cardcliente="'+tmpCliente+'"]').remove();
if ($('.linhaCheckoutCliente:visible').length == 0) {
$('.semResultados').show();
} else {
$('.semResultados').hide();
}
} else {
calculaTotaisEnc(tmpCliente);
}
}
if (naocompra == 1) {
Swal2.fire({
title: "Atenção! Este artigo está marcado como \"Não compra\"!",
html: 'Tem a certeza que quer continuar?',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
return $.ajax({
url: "https://comercial-macal.aplataforma.com/paginas/refresh/add-cart.php",
data: "&produto="+produto+"&oferta="+oferta+"&padrao="+padrao+"&precoant="+precoAnt+"&subpreco="+subpreco+"&data_novo_preco="+encodeURIComponent(dataNovoPreco)+"&entrega_data="+encodeURIComponent(entregaData)+"&qt="+qty+"&remove="+remove+"&id_cliente="+id_cliente+"&lote="+lote+"&urgencia="+urgencia+"&aplicaminenc="+aplicaMinEnc+"&pmincoord="+pminCoord+"&novo_pmin="+novoPmin+"&data_novo_pmin="+encodeURIComponent(dataNovoPmin)+"&valorinicial="+valorInicial+"&precobloqueado="+(bloqueado||'0')+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID78daa0e6425cbad86d1f2bb9ca2bd3d1",
type: "POST"
});
}
}).then(function(result) {
if (result.isConfirmed) {
var ajaxResult = result.value;
if (typeof ajaxResult === 'string' && ajaxResult.indexOf('-99_') === 0) {
var partesMin = ajaxResult.split('_');
Swal2.fire({ title: 'Preço abaixo do mínimo', html: 'Este novo preço está abaixo do preço mínimo'+(partesMin[1] ? ' ('+mostraMoeda(partesMin[1],'€',3)+')' : '')+'.
Não é possível adicionar à encomenda a este valor. É necessário gravar o padrão e aguardar aprovação. Só depois poderá encomendar a este preço.', icon: 'warning', confirmButtonColor: '#13bfa6', confirmButtonText: 'OK' });
return;
}
if(ajaxResult.indexOf('_') != -1){
var numBadges = ajaxResult.split('_');
if (numBadges[1]>0) {
$('#enc_cart_number').html(''+numBadges[1]+'');
} else {
$('#enc_cart_number').html('');
}
if ($('#botaoCheckoutPreco').length) {
var objectivo = $('#valorObjectivo').val();
var totalMaisObjectivo = parseFloat(objectivo);
if (parseFloat(numBadges[2])>0) {
totalMaisObjectivo += parseFloat(numBadges[2]);
$('#botaoCheckoutPreco').html(' '+mostraMoeda(numBadges[2])+' ('+numBadges[1]+')');
} else {
$('#botaoCheckoutPreco').html(' CHECKOUT');
}
$('#botaoObjectivoFalta').html('Objectivo: '+mostraMoeda(totalMaisObjectivo));
if (totalMaisObjectivo >= 0) {
$('#botaoObjectivoFalta').removeClass('btn-outline-danger').addClass('btn-outline-success');
} else {
$('#botaoObjectivoFalta').removeClass('btn-outline-success').addClass('btn-outline-danger');
}
}
if (remove > 0) {
if ($('#btnAddCartProd'+tmpid).length) {
$('#btnAddCartProd'+tmpid).removeClass("btn-success").addClass("btn-primary");
}
if (oferta == 1) {
$('.addCart'+produto.trim()).filter('.addCartOferta.btn-success').removeClass("btn-success").addClass("btn-primary");
} else if (oferta === '' || oferta === undefined) {
$('.addCart'+produto.trim()).filter('.btn-success').removeClass("btn-success").addClass("btn-primary");
} else {
$('.addCart'+produto.trim()).filter('.btn-success:not(.addCartOferta)').removeClass("btn-success").addClass("btn-primary");
}
} else {
$(el).removeClass("btn-primary").addClass("btn-success");
}
}else if(ajaxResult==-1){
toastr.warning("A quantidade tem de ser superior a 0 e inferior a 10 000");
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
} else {
$.ajax({
url: "https://comercial-macal.aplataforma.com/paginas/refresh/add-cart.php",
data: "&produto="+produto+"&oferta="+oferta+"&padrao="+padrao+"&precoant="+precoAnt+"&subpreco="+subpreco+"&data_novo_preco="+encodeURIComponent(dataNovoPreco)+"&entrega_data="+encodeURIComponent(entregaData)+"&qt="+qty+"&remove="+remove+"&id_cliente="+id_cliente+"&lote="+lote+"&urgencia="+urgencia+"&aplicaminenc="+aplicaMinEnc+"&pmincoord="+pminCoord+"&novo_pmin="+novoPmin+"&data_novo_pmin="+encodeURIComponent(dataNovoPmin)+"&valorinicial="+valorInicial+"&precobloqueado="+(bloqueado||'0')+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDe29feeac42771f4f2718e20c8d67f1cc",
type: "POST",
success:function(result){
if (typeof result === 'string' && result.indexOf('-99_') === 0) {
var partesMin = result.split('_');
Swal2.fire({ title: 'Preço abaixo do mínimo', html: 'Este novo preço está abaixo do preço mínimo'+(partesMin[1] ? ' ('+mostraMoeda(partesMin[1],'€',3)+')' : '')+'.
Não é possível adicionar à encomenda a este valor. É necessário gravar o padrão e aguardar aprovação. Só depois poderá encomendar a este preço.', icon: 'warning', confirmButtonColor: '#13bfa6', confirmButtonText: 'OK' });
return;
}
if(result.indexOf('_') != -1){
var numBadges = result.split('_');
if (numBadges[1]>0) {
$('#enc_cart_number').html(''+numBadges[1]+'');
} else {
$('#enc_cart_number').html('');
}
if ($('#botaoCheckoutPreco').length) {
var objectivo = $('#valorObjectivo').val();
var totalMaisObjectivo = parseFloat(objectivo);
if (parseFloat(numBadges[2])>0) {
totalMaisObjectivo += parseFloat(numBadges[2]);
$('#botaoCheckoutPreco').html(' '+mostraMoeda(numBadges[2])+' ('+numBadges[1]+')');
} else {
$('#botaoCheckoutPreco').html(' CHECKOUT');
}
$('#botaoObjectivoFalta').html('Objectivo: '+mostraMoeda(totalMaisObjectivo));
if (totalMaisObjectivo >= 0) {
$('#botaoObjectivoFalta').removeClass('btn-outline-danger').addClass('btn-outline-success');
} else {
$('#botaoObjectivoFalta').removeClass('btn-outline-success').addClass('btn-outline-danger');
}
}
if (remove > 0) {
if ($('#btnAddCartProd'+tmpid).length) {
$('#btnAddCartProd'+tmpid).removeClass("btn-success").addClass("btn-primary");
}
if (oferta == 1) {
$('.addCart'+produto.trim()).filter('.addCartOferta.btn-success').removeClass("btn-success").addClass("btn-primary");
} else if (oferta === '' || oferta === undefined) {
$('.addCart'+produto.trim()).filter('.btn-success').removeClass("btn-success").addClass("btn-primary");
} else {
$('.addCart'+produto.trim()).filter('.btn-success:not(.addCartOferta)').removeClass("btn-success").addClass("btn-primary");
}
} else {
$(el).removeClass("btn-primary").addClass("btn-success");
}
}else if(result==-1){
toastr.warning("A quantidade tem de ser superior a 0 e inferior a 10 000");
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
}
return false;
};
};
function handleInfoFav(cliente,artigo,status) {
if (cliente.length && artigo.length && status.length) {
$.ajax({
url: "/paginas/refresh/handle-favorito.php",
data: "&cliente="+cliente+"&artigo="+artigo+"&status="+status+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDa2a095cc81a168e3cd691ad1cd74a3f6",
type: "POST",
success:function(result){
if(result==1){
if (status == 'Favorito') {
$('.botaoInfo'+artigo).removeClass('btn-primary').removeClass('btn-danger').addClass('btn-success');
$('.iconInfo'+artigo).removeClass('fa fa-info').removeClass('fe fe-slash').addClass('fe fe-heart');
$('.favIcon'+artigo).removeClass('text-primary').addClass('text-success');
$('.naoCompraIcon'+artigo).removeClass('text-success').addClass('text-primary');
$('.checkFav'+artigo).show();
$('.checkNaoCompra'+artigo).hide();
$('.favIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Indefinido')");
$('.naoCompraIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Não Compra')");
} else if (status == 'Não Compra') {
$('.botaoInfo'+artigo).removeClass('btn-primary').removeClass('btn-success').addClass('btn-danger');
$('.iconInfo'+artigo).removeClass('fa fa-info').removeClass('fe fe-heart').addClass('fe fe-slash');
$('.naoCompraIcon'+artigo).removeClass('text-primary').addClass('text-success');
$('.favIcon'+artigo).removeClass('text-success').addClass('text-primary');
$('.checkNaoCompra'+artigo).show();
$('.checkFav'+artigo).hide();
$('.favIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Favorito')");
$('.naoCompraIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Indefinido')");
} else {
$('.botaoInfo'+artigo).removeClass('btn-success').removeClass('btn-danger').addClass('btn-primary');
$('.iconInfo'+artigo).removeClass('fe fe-heart').removeClass('fe fe-slash').addClass('fa fa-info');
$('.favIcon'+artigo+', .naoCompraIcon'+artigo).removeClass('text-success').addClass('text-primary');
$('.checkFav'+artigo+', .checkNaoCompra'+artigo).hide();
$('.favIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Favorito')");
$('.naoCompraIcon'+artigo).attr("onclick", "handleInfoFav('"+cliente+"','"+artigo+"','Não Compra')");
}
toastr.success("Operação realizada com sucesso!");
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
}
}
function changecart(tmpid,cartid,operator,multiplo,unit,peso = 0,conversao=0,idCliente = ''){
if (!multiplo) multiplo = 1;
multiplo = parseInt(multiplo);
peso = parseFloat(peso);
var qty = $(".quantity_"+cartid).val();
if(operator=="+"){
var new_qty = parseInt(qty)+multiplo;
}else if(operator=="-"){
var new_qty = parseInt(qty)-multiplo;
}else{
var new_qty = parseInt($(".quantity_"+cartid).val());
new_qty = Math.ceil(new_qty/multiplo)*multiplo;
}
if(new_qty==0){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
return false;
}/*else if(new_qty>9999){
toastr.warning("Quantidade máxima ultrapassada");
return false;
};*/
if(cartid>=1){
$('#qtLinha'+tmpid).val(new_qty+' '+unit);
if (unit != 'KG' && peso>0) {
var kgs = new_qty / multiplo * peso;
$(".kgs_"+cartid).val(kgs.toFixed(2));
}
var subpreco = $("#valorNovo_"+tmpid).val();
var padrao = ($("#valorPadrao_"+tmpid).is(":checked")) ? 1 : 0;
var externasManual = ($("#externasManual_"+tmpid).is(":checked")) ? 1 : 0;
var fornecedor = $("#fornecedor_"+tmpid).val();
var subtotalLinha = parseInt(new_qty)/parseFloat(conversao)*parseFloat(subpreco);
$('#subtotalLinha'+tmpid).html(mostraMoeda(subtotalLinha));
if (idCliente != '') { calculaTotaisEnc(idCliente); }
$.ajax({
url: "https://comercial-macal.aplataforma.com/paginas/refresh/change-cart.php",
data: "&cartid="+cartid+"&subpreco="+subpreco+"&padrao="+padrao+"&externasManual="+externasManual+"&fornecedor="+fornecedor+"&operator="+operator+"&qt="+new_qty+"&m="+multiplo+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDa61104db8d5521b235f83c24a92a50e7",
type: "POST",
success:function(result){
if(result>=1){
//toastr.success("Linha alterada com sucesso");
//location.reload();
}else if(result==0){
toastr.warning("Não foi possível alterar a linha");
}else if(result==-98){
toastr.warning("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
};
};
function calculaTotaisEnc(idCliente) {
var total = 0;
var subtotal = 0;
var ivas = [];
var strIvas = '';
$('.subtotalLinha'+idCliente).each(function(i, obj) {
var tmp = $(this).html();
var tmpValor = parseFloat(tmp.replace("€","").replace(" ","").replace(",","."));
subtotal = subtotal + tmpValor;
var tmpIva = parseFloat($(this).attr('data-iva'));
var calculoIva = tmpValor * (tmpIva * 0.01 + 1) - tmpValor;
if (!ivas[tmpIva]) { ivas[tmpIva] = 0; }
if(strIvas.indexOf(tmpIva) != -1){ } else {
if (strIvas != '') { strIvas += ','; }
strIvas += tmpIva;
}
ivas[tmpIva] = (parseFloat(ivas[tmpIva]) + parseFloat(calculoIva));
});
$('#subtotal'+idCliente).html(mostraMoeda(subtotal));
var arrayIvas = strIvas.split(',');
var totalIvas = 0;
$.each(arrayIvas, function(i,iva) {
$('#taxas'+iva+idCliente).html('+ '+mostraMoeda(ivas[iva]));
totalIvas += parseFloat(ivas[iva]);
});
total = subtotal + totalIvas;
$('#totalCartTxt'+idCliente).html(mostraMoeda(total));
if (total>750) {
$('#consumidorFinal'+idCliente).hide();
$('#consumidorFinal'+idCliente).prop("checked", false);
} else {
$('#consumidorFinal'+idCliente).show();
}
}
function changecartpadrao(tmpid,cartid){
if(cartid>=1){
var subpreco = $("#valorNovo_"+tmpid).val();
var data_vigor = $("#dataVigor_"+tmpid).val();
setTimeout(function(){
$.ajax({
url: "https://comercial-macal.aplataforma.com/paginas/refresh/change-cart-padrao.php",
data: "&cartid="+cartid+"&subpreco="+subpreco+"&data_vigor="+data_vigor+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID1301300903336a24cda2e1ead14fdc34",
type: "POST",
success:function(result){
if(result>=1){
location.reload();
}else if(result==0){
toastr.warning("Não foi possível alterar a linha");
}else if(result==-98){
toastr.warning("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
return false;
}, 100);
};
};
var modalQuantidadeArtigo;
// qttFat vem na unidade de faturação; o modal trabalha na unidade de encomenda (qtd_faturacao = qtd_encomenda / conversao)
function openModalQuantidade(tmpid, id_linha_encomenda, id_encomenda, qttFat, multiplos, kgs, peso, id_cliente, id_artigo, data_entrega) {
$('#modalQT_tmpID').val(tmpid);
$('#modalQT_id_linha_encomenda').val(id_linha_encomenda);
$('#modalQT_id_encomenda').val(id_encomenda);
$('#modalQT_qtt').val('').data('conversao', 0);
$('#modalQT_kgs').val('');
$('#alterarQuantidadeArtEnc button').prop('disabled', true);
modalQuantidadeArtigo = new bootstrap.Modal(document.getElementById('modalQuantidadeArtigo'), { backdrop: 'static', keyboard: false });
modalQuantidadeArtigo.show();
$.ajax({
type: 'POST',
url: '/paginas/refresh/get_conversao_linha_enc.php',
data: { id_cliente: id_cliente, id_artigo: id_artigo, data_entrega: data_entrega, t: 'MjAyNi0wOS0yNSAyMQ==', key: '0ce047d694c014e336b247b7b6bb2ada144c53a8' },
dataType: 'json',
success: function(data) {
if (!data || !data.conversao) { toastr.error("Não foi possivel concluir o seu pedido."); return; }
var conversao = parseFloat(data.conversao);
var unidade = data.unid_enc;
var qttEnc = Math.round(parseFloat(qttFat) * conversao);
$('#modalQT_qtt').val(qttEnc+' '+unidade).data('conversao', conversao);
$('#modalQT_qtt').addClass("quantity_"+tmpid);
$('#modalQT_qtt').unbind();
$('#modalQT_qtt').change(function() { changeqt(tmpid,'',multiplos,unidade,kgs); });
$('#modalQT_kgs').val((qttEnc * parseFloat(peso)).toFixed(2));
$('#modalQT_kgs').attr('step', kgs.replace(",","."));
$('#modalQT_kgs').addClass("kgs_"+tmpid);
$('#modalQT_kgs').unbind();
$('#modalQT_kgs').change(function() { changekg(tmpid,'',multiplos,unidade,kgs); });
$('#alterarQuantidadeArtEnc button').prop('disabled', false);
},
error: function() { toastr.error("Não foi possivel concluir o seu pedido."); }
});
}
$("#alterarQuantidadeArtEnc").submit(function(event) {
event.preventDefault();
var $this = $(this);
var tmpId = $(this).find("[name='tmpID']").val();
var conversao = parseFloat($('#modalQT_qtt').data('conversao'));
if (!conversao) { return false; }
// SP recebe a quantidade na unidade de faturação
var quantidade = Math.round(parseInt($('#modalQT_qtt').val()) / conversao * 1000) / 1000;
var serialize = $this.serialize();
savingQuantidade(tmpId,true);
$.ajax({
type: 'POST',
url: '/paginas/refresh/guarda_quantidade_encomenda.php',
data: serialize+'&quantidade='+quantidade,
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if(data==1){
toastr.success("Quantidade atualizada com sucesso!");
$('#textQt'+tmpId).html(mostraMoeda(quantidade,'',2));
modalQuantidadeArtigo.hide();
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else if(data=="-99"){
toastr.error("Não foi possivel concluir o seu pedido.");
}
savingQuantidade(tmpId,false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
savingQuantidade(tmpId,false);
}
});
return false;
});
function savingQuantidade(id,on = true) {
if (on) {
$("#alterarQuantidadeArtEnc_"+id+" input").attr("readonly", true);
$("#alterarQuantidadeArtEnc_"+id+" button").attr("readonly", true);
$("#alterarQuantidadeArtEnc_"+id+" select").attr("disabled", true);
$("#alterarQuantidadeArtEnc_"+id+" textarea").attr("readonly", true);
$("#alterarQuantidadeArtEnc_"+id+" button").addClass("btn-loading");
} else {
$("#alterarQuantidadeArtEnc_"+id+" input").attr("readonly", false);
$("#alterarQuantidadeArtEnc_"+id+" button").attr("readonly", false);
$("#alterarQuantidadeArtEnc_"+id+" select").attr("disabled", false);
$("#alterarQuantidadeArtEnc_"+id+" textarea").attr("readonly", false);
$("#alterarQuantidadeArtEnc_"+id+" button").removeClass("btn-loading");
}
}
var modalDataPreferencia;
function openModalDataPreferencia(id, idCliente, idEncomenda) {
var podeAprovar = true;
$('.btnAprovarEnc_'+id).each(function(i, obj) {
if ($(this).hasClass('disabled')) { podeAprovar = false; }
});
if (!podeAprovar) {
toastr.warning("Atenção: Não pode alterar a data de entrega");
return false;
}
modalDataPreferencia = new bootstrap.Modal(document.getElementById('modalDataPreferencia'+id), { backdrop: 'static', keyboard: false });
modalDataPreferencia.show();
if (idCliente && idEncomenda) {
$('#modalDataPreferenciaBody'+id).html('
';
}
function htmlTrocaProduto(d) {
var unidadeNova = escTxtTroca(d.novo.unidade);
var unidadeAntiga = escTxtTroca(d.antigo.unidade);
var html = '';
html += '
';
html += 'ARTIGO NOVO';
html += '
'+escTxtTroca(d.novo.design)+'
';
html += ''+escTxtTroca(d.novo.id_artigo)+' · '+unidadeNova+' · '+mostraMoeda(d.novo.kg_unidade,'',3)+' kg/'+unidadeNova+'';
html += '
';
html += '
';
html += '
';
html += 'SAI';
html += '
'+escTxtTroca(d.antigo.design)+'
';
html += ''+escTxtTroca(d.antigo.id_artigo)+' · '+mostraMoeda(d.antigo.kg_unidade,'',3)+' kg/'+unidadeAntiga+'';
html += '
QUANTIDADE'+mostraMoeda(d.antigo.qtt,'',2)+' '+unidadeAntiga+' · '+mostraMoeda(d.antigo.kg_total,'',2)+' kg
';
html += ''+escTxtTroca(d.novo.id_artigo)+' · Stock: '+mostraMoeda(d.novo.stock,'',2)+'';
html += '
';
html += 'QUANTIDADE';
html += '';
html += '';
html += '';
html += '';
html += '
';
html += 'Quantidade ajustada aos múltiplos do artigo novo. ('+mostraMoeda(d.novo.multiplo,'',2)+' '+unidadeNova+')';
html += '
';
html += '
';
html += '';
html += '
';
html += opcaoPrecoTrocaHtml('opcaoPrecoNegociado', 1, 'Preço negociado', (d.sugestao.preco_negociado > 0) ? '' : 'Este cliente não tem preço negociado para o artigo novo.', d.sugestao.preco_negociado, unidadeNova, false);
html += opcaoPrecoTrocaHtml('opcaoPrecoConvertido', 2, 'Preço convertido', 'Mantém o preço ao KG do artigo antigo.', d.sugestao.preco_convertido, unidadeNova, true);
html += opcaoPrecoTrocaHtml('opcaoPrecoAntigo', 3, 'Preço do artigo antigo', 'Tal como está na linha, sem converter.', d.sugestao.preco_antigo, unidadeNova, false);
html += '
4. Outro preço Escreva o valor que quiser.
';
html += '
';
html += '
';
html += '';
html += '
';
html += '';
html += '';
html += '
';
return html;
}
function voltarListaTroca() {
dadosTrocaProduto = null;
$('#modalSubsDetalhe').html('').hide();
$('#modalSubsContent').show();
}
function ajustarQttTroca(sentido) {
if (!dadosTrocaProduto) { return false; }
var multiplo = parseFloat(dadosTrocaProduto.dados.novo.multiplo);
var qtt = parseFloat($('#qttTrocaProduto').val());
if (!(qtt > 0)) { qtt = multiplo; }
$('#qttTrocaProduto').val(qtt + (sentido * multiplo));
normalizarQttTroca();
}
// A quantidade é sempre arredondada para cima ao múltiplo do artigo novo.
function normalizarQttTroca() {
if (!dadosTrocaProduto) { return false; }
var d = dadosTrocaProduto.dados;
var multiplo = parseFloat(d.novo.multiplo);
var qtt = parseFloat($('#qttTrocaProduto').val());
if (!(qtt > 0)) { qtt = multiplo; }
qtt = Math.round(Math.ceil(qtt / multiplo) * multiplo * 1000) / 1000;
$('#qttTrocaProduto').val(qtt);
$('#qttTrocaInfo').html(escTxtTroca(d.novo.unidade)+' · '+mostraMoeda(qtt * parseFloat(d.novo.kg_unidade),'',2)+' kg');
atualizarExplicacaoTroca();
}
function atualizarExplicacaoTroca() {
if (!dadosTrocaProduto) { return false; }
var d = dadosTrocaProduto.dados;
var qtt = parseFloat($('#qttTrocaProduto').val());
var texto = '';
if (d.antigo.kg_total > 0 && d.novo.kg_unidade > 0) {
texto += ' '+mostraMoeda(d.antigo.qtt,'',2)+' '+escTxtTroca(d.antigo.unidade)+' = '+mostraMoeda(d.antigo.kg_total,'',2)+' kg ÷ '+mostraMoeda(d.novo.kg_unidade,'',3)+' kg = '+mostraMoeda(d.antigo.kg_total / d.novo.kg_unidade,'',2)+' → '+mostraMoeda(qtt,'',2)+' '+escTxtTroca(d.novo.unidade)+'';
}
if (d.sugestao.preco_kg > 0 && d.novo.kg_unidade > 0) {
texto += ' '+mostraMoeda(d.antigo.preco,'€',3)+' ÷ '+mostraMoeda(d.antigo.kg_unidade,'',3)+' kg = '+mostraMoeda(d.sugestao.preco_kg,'€',3)+'/kg × '+mostraMoeda(d.novo.kg_unidade,'',3)+' kg = '+mostraMoeda(d.sugestao.preco_convertido,'€',3)+'/'+escTxtTroca(d.novo.unidade);
}
$('#explicacaoTroca').html(texto);
}
function escolherPrecoTroca(el, preco) {
if (!dadosTrocaProduto || !el) { return false; }
$('.opcaoPrecoTroca').removeClass('active');
$(el).addClass('active');
$('#outroPrecoTroca').val('');
dadosTrocaProduto.preco = parseFloat(preco);
avisoPrecoTroca();
}
function escolherOutroPrecoTroca() {
if (!dadosTrocaProduto) { return false; }
var preco = parseFloat($('#outroPrecoTroca').val());
$('.opcaoPrecoTroca').removeClass('active');
dadosTrocaProduto.preco = (preco > 0) ? preco : null;
avisoPrecoTroca();
}
function avisoPrecoTroca() {
if (!dadosTrocaProduto) { return false; }
var precoTT = parseFloat(dadosTrocaProduto.dados.novo.preco_tt);
var preco = dadosTrocaProduto.preco;
if (preco > 0 && precoTT > 0 && preco < precoTT) {
$('#avisoPrecoTroca').html(' Preço abaixo do TT do artigo novo. (TT: '+mostraMoeda(precoTT,'€',3)+')');
} else {
$('#avisoPrecoTroca').html('');
}
}
function confirmarTrocaProduto() {
if (!dadosTrocaProduto) { return false; }
var t = dadosTrocaProduto;
var qtt = parseFloat($('#qttTrocaProduto').val());
if (!(qtt > 0)) { toastr.warning("Não pode encomendar abaixo da quantidade mínima"); return false; }
if (!(t.preco > 0)) { toastr.warning("Escolha o preço antes de trocar o produto."); return false; }
$('#btnConfirmarTroca').addClass('btn-loading').prop('disabled', true);
$.ajax({
url: "/paginas/refresh/substituir-linha-enc.php",
type: "POST",
data: "&id_linha_encomenda="+t.id_linha_encomenda+"&id_encomenda="+t.id_encomenda+"&id_artigo="+t.id_artigo+"&data_entrega="+t.data_entrega+"&novo_preco_net="+t.preco+"&nova_qtt="+qtt+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID9f225ac990a63d79be43daa4825f30e1",
success: function(resposta) {
$('#btnConfirmarTroca').removeClass('btn-loading').prop('disabled', false);
if (resposta.indexOf('
') != -1) {
modalSubstituirArtigo.hide();
// Devolve a linha do artigo antigo (só comparação) + a linha real já com o artigo novo.
$('#trLinhaAnterior'+t.tmpId).remove();
$('#trLinha'+t.tmpId).replaceWith(resposta);
$('#trLinha'+t.tmpId+' [data-bs-toggle="tooltip"]').each(function(i, el) { new bootstrap.Tooltip(el); });
} else {
toastr.error("Ocorreu um erro executar a operação. Tente de novo");
}
},
error: function() {
$('#btnConfirmarTroca').removeClass('btn-loading').prop('disabled', false);
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
var tmpModalFaltasStock;
function mailFaltasStock(idCliente, emailCliente, tmpCliente) {
$('#fstock_mail_cliente_input').prop("checked", false);
$('#fstock_mail_cliente_id').val(idCliente);
var ids='';
var ct=0;
$('input.selLinhaCliente'+tmpCliente+':checkbox:checked').each(function(i, obj) {
var id = $(this).val();
if (ct>0) ids += ',';
ids += id;
ct++;
});
$('#fstock_mail_cliente_artigos').val(ids);
$('.tmpEmail').remove();
if (emailCliente != '') {
var arrayEmails = emailCliente.split(',');
$.each(arrayEmails, function(i,email) {
if (isValidEmailAddress(email)) {
var input = $('');
$('#fstock_lista_emails').append(input);
}
});
$('#fstock_mail_cliente_label').show();
$('#fstock_mail_cliente_span').html(emailCliente);
$('#fstock_mail_cliente_input').val(emailCliente);
} else {
$('#fstock_mail_cliente_label').hide();
$('#fstock_mail_cliente_span').html('');
$('#fstock_mail_cliente_input').val('');
}
tmpModalFaltasStock = new bootstrap.Modal(document.getElementById('modalMailFaltasStock'), { backdrop: 'static', keyboard: false });
tmpModalFaltasStock.show();
}
$("#enviarFaltasStock").submit(function(event) {
event.preventDefault();
var $this = $(this);
var serialize = $this.serialize();
sendingForm('enviarFaltasStock', true);
$.ajax({
type: 'POST',
url: '/paginas/mail/mail-faltasstock.php',
data: serialize,
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("E-mail enviado com sucesso");
tmpModalFaltasStock.hide();
$("#enviarFaltasStock")[0].reset();
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else if(data=="-99"){
toastr.error("Não foi possivel concluir o seu pedido.");
}
sendingForm('enviarFaltasStock', false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
sendingForm('enviarFaltasStock', false);
}
});
return false;
});
var tmpModalMailPadroes;
$("#importar_csv_padroes").submit(function(e){
e.preventDefault();
$('#importarPrecosPadroes').addClass("btn-loading");
var form = $('#importar_csv_padroes')[0];
var data = new FormData(form);
$.ajax({
type: 'POST',
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
url: 'https://comercial-macal.aplataforma.com/paginas/refresh/importar-csv-padroes.php',
data:data,
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.href = "https://comercial-macal.aplataforma.com/pt/"; }, 500);
} else if(data=="-3"){
toastr.warning("O ficheiro importado não é válido!");
}else if(data=="-2"){
toastr.warning("Extensão inválida");
}else{
$('#importar_csv_padroes').trigger("reset");
var resposta = jQuery.parseJSON(data);
var texto = "";
$.each(resposta.log, function(i,info) {
texto += info+" ";
});
if (resposta.sucesso>0 && resposta.erros==0) {
$("#close_modal_importar").trigger("click");
Swal2.fire({
title: "Todas as linhas foram importadas com sucesso.",
text: "",
icon: "success",
showCancelButton: false,
confirmButtonText: "Fechar"
});
} else if (resposta.sucesso>0 && resposta.erros>0) {
Swal2.fire({
title: resposta.sucesso+" linhas importadas com sucesso e "+resposta.erros+" falhadas!",
html: texto,
icon: "error",
showCancelButton: false,
confirmButtonText: "Fechar"
});
} else if (resposta.sucesso==0 && resposta.erros>0) {
Swal2.fire({
title: ""+resposta.erros+" linhas falharam durante a importação!",
html: texto,
icon: "error",
showCancelButton: false,
confirmButtonText: "Fechar"
});
}
}
$('#importarPrecosPadroes').removeClass("btn-loading");
},
error: function() {
toastr.error("Não foi possivel concluir o seu pedido.");
$('#importarPrecosPadroes').removeClass("btn-loading");
}
});
return false;
});
function abrirModalImportarProposta(idCliente) {
$('#importar_proposta_id_cliente').val(idCliente);
$('#importar_proposta').html('');
Fancybox.show([{
src: '#modalImportarProposta',
type: 'inline'
}]);
$.ajax({
type: 'POST',
url: '/paginas/refresh/listar-propostas-cliente.php',
data: '&id_cliente='+idCliente,
dataType: 'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
var opts = '';
if (data && data.length > 0) {
for (var i = 0; i < data.length; i++) {
opts += '';
}
} else {
opts += '';
}
$('#importar_proposta').html(opts);
},
error: function() {
$('#importar_proposta').html('');
}
});
}
$("#importar_proposta_padroes").submit(function(event) {
event.preventDefault();
var $this = $(this);
var serialize = $this.serialize();
$('#importarPropostaPadroes').prop('disabled', true).addClass("btn-loading");
$.ajax({
type: 'POST',
url: '/paginas/refresh/importar-proposta-padroes.php',
data: serialize,
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("Proposta importada com sucesso");
Fancybox.close();
$("#importar_proposta_padroes")[0].reset();
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Não foi possivel concluir o seu pedido.");
}
$('#importarPropostaPadroes').prop('disabled', false).removeClass("btn-loading");
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
$('#importarPropostaPadroes').prop('disabled', false).removeClass("btn-loading");
}
});
return false;
});
function modalMailPadroes(idCliente, emailCliente) {
$('#mailP_mail_cliente_input').prop("checked", false);
$('#mailP_mail_cliente_id').val(idCliente);
$('#mailP_anexo').val('').trigger('change');
$('.tmpEmail').remove();
if (emailCliente != '') {
var arrayEmails = emailCliente.split(',');
$.each(arrayEmails, function(i,email) {
if (isValidEmailAddress(email)) {
var input = $('');
$('#mailP_lista_emails').append(input);
}
});
$('#mailP_mail_cliente_label').show();
$('#mailP_mail_cliente_span').html(emailCliente);
$('#mailP_mail_cliente_input').val(emailCliente);
} else {
$('#mailP_mail_cliente_label').hide();
$('#mailP_mail_cliente_span').html('');
$('#mailP_mail_cliente_input').val('');
}
tmpModalMailPadroes = Fancybox.show([{
src: '#modalMailPadroes',
type: 'inline'
}]);
}
$("#enviarMailPadroes").submit(function(event) {
event.preventDefault();
var $this = $(this);
var serialize = $this.serialize();
sendingForm('enviarMailPadroes', true);
$.ajax({
type: 'POST',
url: '/paginas/mail/mail-padroes.php',
data: serialize,
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("E-mail enviado com sucesso");
Fancybox.close();
$("#enviarMailPadroes")[0].reset();
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else if(data=="-99"){
toastr.error("Não foi possivel concluir o seu pedido.");
}
sendingForm('enviarMailPadroes', false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
sendingForm('enviarMailPadroes', false);
}
});
return false;
});
var tmpModalEncEstabelecimentos;
function encomendarParaEstabelecimentos(artigo, nestle, tmpId) {
var net = $('#valorNovo_'+tmpId).val();
$('#modalEncEstabelecimentosLoading').show();
$('#modalEncEstabelecimentosContent').html('');
tmpModalEncEstabelecimentos = new bootstrap.Modal(document.getElementById('modalEncEstabelecimentos'), { backdrop: 'static', keyboard: false });
tmpModalEncEstabelecimentos.show();
$.ajax({
type: 'POST',
url: '/paginas/refresh/get-enc-estabelecimentos.php',
data: '&artigo='+artigo+'&nestle='+nestle+'&net='+net,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#modalEncEstabelecimentosLoading').hide();
$('#modalEncEstabelecimentosContent').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
var tmpModalLotesEscoar;
function lotesEscoar(artigo, peso, multiplos, unid_enc, preco_bloqueado, bloqueado_encomendas, tmpId) {
var net = $('#valorNovo_'+tmpId).val();
$('#modalLotesEscoarLoading').show();
$('#modalLotesEscoarContent').html('');
tmpModalLotesEscoar = new bootstrap.Modal(document.getElementById('modalLotesEscoar'), { backdrop: 'static', keyboard: false });
tmpModalLotesEscoar.show();
$.ajax({
type: 'POST',
url: '/paginas/refresh/get-lotes-escoar.php',
data: '&artigo='+artigo+'&peso='+peso+'&multiplos='+multiplos+'&unid_enc='+unid_enc+'&preco_bloqueado='+preco_bloqueado+'&bloqueado_encomendas='+bloqueado_encomendas+'&net='+net,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#modalLotesEscoarLoading').hide();
$('#modalLotesEscoarContent').html(data);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function isCanvasTransparent(id) {
var canvas1 = document.getElementById(id);
// true if all pixels Alpha equals to zero
var ctx = canvas1.getContext("2d");
var result;
var imageData = ctx.getImageData(0, 0, canvas1.offsetWidth, canvas1.offsetHeight);
for (var i = 0; i < imageData.data.length; i += 4)
if (imageData.data[i + 3] !== 0) return false;
return true;
}
function saveImgcanvas(image64,folder,name,print = true) {
var dataURL = image64;
var output=0;
if(dataURL && folder && name){
$.ajax({
type: 'POST',
url: 'https://comercial-macal.aplataforma.com/includes/inserir_image64.php',
async: true,
cache: true,
data: {image: dataURL,folder:folder,name:name},
success: function(resp) {
if (print) {
if(resp==1){
toastr.success('Imagem guardada com sucesso!');
}else if(resp==-1){
toastr.warning('Dados inválidos. Tente novamente!');
}else if(resp==-2){
toastr.warning('Directório inserido não existe!');
};
}
return resp;
}
}).done(function(resp){var output = resp; });
}else{
if (print) { toastr.warning("Ocorreu um erro ao gravar a imagem!"); }
var output = 0;
};
};
function mostra_parcial(id,estado){
if(estado==0){
$('.parcial_'+id).show();
$('#sobe_'+id).hide();
$('#baixa_'+id).show();
} else if(estado==1){
$('.parcial_'+id).hide();
$('#sobe_'+id).show();
$('#baixa_'+id).hide();
}
}
function mostra_varios_estabs(id,estado,idCliente,dataVisita,idArtigo,cor){
if(estado==0){
$('.varios_'+id).show();
$('#sobe_'+id).hide();
$('#baixa_'+id).show();
if ($('#varios_'+id).find('.loader-img').length) {
var filtro_valores = $('#filtropc_valores').val();
var mostra_atual = $('#buttonColAtual').hasClass('activo') ? 1 : 0;
$.ajax({
type: 'POST',
url: '/paginas/produtos/padroes-cliente-variosestabs-load.php',
data: '&idCliente='+idCliente+'&dataVisita='+dataVisita+'&idArtigo='+idArtigo+'&cor='+cor+'&filtro_valores='+filtro_valores+'&mostra_atual='+mostra_atual+'&id='+id,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#varios_'+id).after(data);
$('#varios_'+id).remove();
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
} else if(estado==1){
$('.varios_'+id).hide();
$('#sobe_'+id).show();
$('#baixa_'+id).hide();
}
}
function recalculaMargemPrevista() {
// Padrões-Cliente (mapa de visitas): nova fórmula F = A + Σ(Z*D), G = (F-B)/F.
// Só usa esta lógica se NÃO houver inputs ocultos da lógica antiga (produtos_load.php).
if ($('input.contaMargem2').length === 0 && window.padroesMargemDados && window.padroesMargemDados.artigos) {
var d = window.padroesMargemDados;
var sumE = 0, sumG = 0;
d.artigos.forEach(function(a) {
var X = parseFloat(a.preco_net) || 0;
var Y;
if ($('#valorNovo_'+a.tmpid).length) {
Y = parseFloat($('#valorNovo_'+a.tmpid).val()) || 0;
} else {
Y = parseFloat(a.net_atual) || 0;
}
var Z = Y - X;
sumE += Z * (parseFloat(a.qtd_estab) || 0);
sumG += Z * (parseFloat(a.qtd_grupo) || 0);
});
var Fe = d.A_estab + sumE;
var Fg = d.A_grupo + sumG;
var ge = (Fe > 0) ? ((Fe - d.B_estab) / Fe) * 100 : 0;
var gg = (Fg > 0) ? ((Fg - d.B_grupo) / Fg) * 100 : 0;
$('#campoMargemPrevista').html(ge.toFixed(2));
$('#campoGrupoMargemPrevista').html(gg.toFixed(2));
var margemObj = parseFloat($('#campoMargemObjetivo').text());
$('#campoGrupoMargemPrevista').closest('.btn').removeClass('btn-info btn-success btn-danger').addClass(gg >= margemObj ? 'btn-success' : 'btn-danger');
return;
}
// Fallback (produtos_load.php): lógica antiga via inputs ocultos contaMargem2
var margem1 = 0;
var margem2 = 0;
$('input.contaMargem2').each(function(i, obj) {
margem2 += parseFloat($(this).val());
var tmpID = $(this).attr('data-tmpid');
var vendasArtigo = parseFloat($(this).attr('data-vendas-artigo'));
var precoNetArtigo = parseFloat($(this).attr('data-preco-net-artigo'));
var netAtual = 0;
if ($('#valorNovo_'+tmpID).length) {
netAtual = parseFloat($('#valorNovo_'+tmpID).val());
} else {
netAtual = parseFloat($(this).attr('data-net-atual'));
}
margem1 += (precoNetArtigo>0) ? (vendasArtigo * netAtual / precoNetArtigo) : 0;
});
var margemPrevista = (margem1 > 0) ? (margem1.toFixed(2) - margem2.toFixed(2)) / margem1.toFixed(2) * 100 : 0;
$('#campoMargemPrevista').html(margemPrevista.toFixed(2));
recalculaMargemPrevistaGrupo();
}
function recalculaMargemPrevistaGrupo() {
var margem1 = 0;
var margem2 = 0;
$('input.contaMargemGrupo2').each(function(i, obj) {
margem2 += parseFloat($(this).val());
var tmpID = $(this).attr('data-tmpid');
var vendasArtigo = parseFloat($(this).attr('data-vendas-artigo'));
var precoNetArtigo = parseFloat($(this).attr('data-preco-net-artigo'));
var netAtual = 0;
if ($('#valorNovo_'+tmpID).length) {
netAtual = parseFloat($('#valorNovo_'+tmpID).val());
} else {
netAtual = parseFloat($(this).attr('data-net-atual'));
}
margem1 += (precoNetArtigo>0) ? (vendasArtigo * netAtual / precoNetArtigo) : 0;
});
var margemPrevista = (margem1 > 0) ? (margem1.toFixed(2) - margem2.toFixed(2)) / margem1.toFixed(2) * 100 : 0;
$('#campoGrupoMargemPrevista').html(margemPrevista.toFixed(2));
var margemObj = parseFloat($('#campoMargemObjetivo').text());
$('#campoGrupoMargemPrevista').closest('.btn').removeClass('btn-info btn-success btn-danger').addClass(margemPrevista >= margemObj ? 'btn-success' : 'btn-danger');
}
function fotoMaQualidade(artigo) {
Swal2.fire({
title: "Foto Errada / Má Qualidade",
html: '',
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#e82646",
confirmButtonText: 'Confirmar',
cancelButtonText: 'Cancelar',
showLoaderOnConfirm: true,
allowOutsideClick: function() { return !Swal2.isLoading(); },
preConfirm: function() {
$('#swall_observacoes_qualidade').removeClass("is-invalid");
var observacoes = document.getElementById('swall_observacoes_qualidade').value;
if (observacoes == '') { $('#swall_observacoes_qualidade').addClass("is-invalid"); return false; }
return $.ajax({
type: 'POST',
url: '/paginas/refresh/reportar-problema-foto.php',
data: '&artigo='+artigo+'&observacoes='+observacoes,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
}
});
}
}).then(function(result) {
if (result.isConfirmed) {
var data = result.value;
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("Problema reportado com sucesso");
}else if(data=="-1"){
toastr.warning("Esta imagem já foi reportada");
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Não foi possivel concluir o seu pedido.");
}
}
});
}
function problemaTratado(artigo, id) {
$.ajax({
type: 'POST',
url: '/paginas/refresh/reportar-problema-foto.php',
data: '&tratado=1&id='+id+'&artigo='+artigo,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("Problema concluído com sucesso");
setTimeout(function(){ window.location.reload(); }, 500);
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Não foi possivel concluir o seu pedido.");
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function openModoCliente(id) {
location.href = "https://comercial-macal.aplataforma.com/pt//"+id;
}
$("#gravarPreferenciasAnalise").submit(function(event) {
event.preventDefault();
var $this = $(this);
var serialize = $this.serialize();
var tabs = $('#analise_tab').val();
var niveis = $('#analise_niveis_permissoes').val();
var utilizadores = $('#analise_utilizadores').val();
var utilizadores_neg = $('#analise_utilizadores_neg').val();
sendingForm('gravarAnalise', true);
$.ajax({
type: 'POST',
url: '/paginas/analises/gravar-preferencias-analise.php',
data: serialize+'&tabs='+tabs+'&niveis='+niveis+'&utilizadores='+utilizadores+'&utilizadores_neg='+utilizadores_neg,
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("Análise gravada com sucesso");
setTimeout(function(){
window.location.reload();
}, 500);
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Não foi possivel concluir o seu pedido.");
}
sendingForm('gravarAnalise', false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
sendingForm('gravarAnalise', false);
}
});
return false;
});
$("#gravarAnalise").submit(function(event) {
event.preventDefault();
var $this = $(this);
var serialize = $this.serialize();
var analise_query = $('#edit_analise_query').val();
var tipos = $("select[name='campo_tipo\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var nomes = $("input[name='campo_nome\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var varsUtilizador = $("select[name='campo_utilizador\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var varsClientes = $("select[name='campo_cliente\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var valores = $("input[name='campo_valor\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var campos = tipos+'|'+nomes+'|'+valores+'|'+varsUtilizador+'|'+varsClientes;
var posicoes = $("select[name='campo_posicao\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var sumarios = $("select[name='campo_sumario\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var formatos = $("select[name='campo_formato\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var colunas = $("input[name='campo_coluna\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var ordenacao = $("select[name='campo_ordenacao\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var ordemCampo = $("input[name='campo_ordemcampo\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var expandido = $("select[name='campo_expandido\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var filtros = $("input[name='campo_filtros\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var totals = $("select[name='campo_totals\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var formulas = $("input[name='campo_formula\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var camposPivot = posicoes+'|'+sumarios+'|'+formatos+'|'+colunas+'|'+ordenacao+'|'+ordemCampo+'|'+expandido+'|'+filtros+'|'+totals+'|'+formulas;
var camposCampos = $("input[name='campo_campo\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var alinhamentos = $("select[name='campo_alinhamento\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var coresFundo = $("select[name='campo_corfundo\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var coresTexto = $("select[name='campo_cortexto\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var formatoTexto = $("select[name='campo_formatoTexto\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
var camposFormatacao = camposCampos+'|'+alinhamentos+'|'+coresFundo+'|'+coresTexto+'|'+formatoTexto;
sendingForm('gravarAnalise', true);
$.ajax({
type: 'POST',
url: '/paginas/analises/gravar-analise.php',
data: serialize+'&analise_query='+base64_encode(analise_query)+'&analise_campos='+utf8ToBase64(campos)+'&analise_camposPivot='+utf8ToBase64(camposPivot)+'&analise_camposFormatacao='+utf8ToBase64(camposFormatacao),
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if(data==1){
toastr.success("Análise gravada com sucesso");
setTimeout(function(){
window.location.reload();
}, 500);
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else{
toastr.error("Não foi possivel concluir o seu pedido.");
}
sendingForm('gravarAnalise', false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
sendingForm('gravarAnalise', false);
}
});
return false;
});
var tmpModalExecAnalise;
function executarAnalise(idAnalise) {
$('#footerExecAnaliseGlobal').hide();
$('#modalExecLoadingGlobal').show();
$('#modalExecContentGlobal').html('');
$('#larguraExecutarAnaliseGlobal').addClass('maxW600');
$('#idAnaliseGlobal').val(idAnalise);
tmpModalExecAnalise = new bootstrap.Modal(document.getElementById('modalExecutarAnaliseGlobal'), { backdrop: 'static', keyboard: false, focus: false });
tmpModalExecAnalise.show();
$.ajax({
type: 'POST',
url: '/paginas/analises/executar-analise.php',
data: '&id='+idAnalise,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (data=="-1") {
tmpModalExecAnalise.hide();
} else {
$('#modalExecLoadingGlobal').hide();
$('#modalExecContentGlobal').html(data);
if (data.indexOf('Nº Resultados:') != -1) {
$('#larguraExecutarAnaliseGlobal').removeClass('maxW600');
$('#footerExecAnaliseGlobal').hide();
} else if (data.indexOf('semResultados') == -1) {
$('#footerExecAnaliseGlobal').show();
} else {
$('#footerExecAnaliseGlobal').hide();
}
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
$(".executarAnalise").submit(function(event) {
event.preventDefault();
var $this = $(this);
var idAnalise = $(this).find("[name='analise_id']").val();
var tab = $(this).find("[name='analise_tab']").val();
$("input.checkboxAnalise:checkbox").not(':checked').each(function(i, obj) { $(this).val(0); });
$("input.checkboxAnalise:checkbox:checked").each(function(i, obj) { $(this).val(1); });
var variaveis = $("*[name='campo_"+idAnalise+"\\[\\]']").map(function(){return utf8ToBase64($(this).val());}).get();
executandoAnalise('Global',true);
$.ajax({
type: 'POST',
url: '/paginas/analises/executar-analise.php',
data: '&exec=1&id='+idAnalise+'&tab='+tab+'&variaveis='+variaveis,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else {
$('#modalExecContentGlobal').html(data);
$('#larguraExecutarAnaliseGlobal').removeClass('maxW600');
$('#footerExecAnaliseGlobal').hide();
executandoAnalise('Global',false);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
executandoAnalise('Global',false);
}
});
});
function executandoAnalise(id,on = true) {
if (on) {
$('#modalExecLoading'+id).show();
$('#modalExecContent'+id).hide();
$("#executarAnalise"+id+" input").attr("readonly", true);
$("#executarAnalise"+id+" button").attr("readonly", true);
$("#executarAnalise"+id+" select").attr("disabled", true);
$("#executarAnalise"+id+" textarea").attr("readonly", true);
$("#executarAnalise"+id+" button").addClass("btn-loading");
} else {
$('#modalExecLoading'+id).hide();
$('#modalExecContent'+id).show();
$("#executarAnalise"+id+" input").attr("readonly", false);
$("#executarAnalise"+id+" button").attr("readonly", false);
$("#executarAnalise"+id+" select").attr("disabled", false);
$("#executarAnalise"+id+" textarea").attr("readonly", false);
$("#executarAnalise"+id+" button").removeClass("btn-loading");
}
}
var tmpModalExecUrgencias;
function executarUrgencias() {
$('#modalUrgenciasLoadingGlobal').show();
$('#modalUrgenciasContentGlobal').html('');
tmpModalExecUrgencias = new bootstrap.Modal(document.getElementById('modalUrgencias'), { backdrop: 'static', keyboard: false });
tmpModalExecUrgencias.show();
$.ajax({
type: 'POST',
url: '/paginas/analises/urgencias.php',
data: '&1=1',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (data=="-1") {
tmpModalExecUrgencias.hide();
} else {
$('#modalUrgenciasLoadingGlobal').hide();
$('#modalUrgenciasContentGlobal').html(data);
loadToolTips();
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
var tmpModalEditarDadosCliente;
function editarDadosClienteModal(idCliente) {
$('#modalEditarDadosClienteLoadingGlobal').show();
$('#modalEditarDadosClienteContentGlobal').html('');
tmpModalEditarDadosCliente = new bootstrap.Modal(document.getElementById('modalEditarDadosCliente'), { backdrop: 'static', keyboard: false });
tmpModalEditarDadosCliente.show();
$.ajax({
type: 'POST',
url: '/paginas/editar-cliente.php',
data: '&idCliente='+idCliente,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (data=="-1") {
tmpModalEditarDadosCliente.hide();
} else {
$('#modalEditarDadosClienteLoadingGlobal').hide();
$('#modalEditarDadosClienteContentGlobal').html(data);
loadToolTips();
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
var tmpModalCheckoutCliente;
function checkoutClienteModal(idCliente,reloadPage = false) {
$('#modalCheckoutClienteLoadingGlobal').show();
$('#modalCheckoutClienteContentGlobal').html('');
if (!reloadPage) {
tmpModalCheckoutCliente = Fancybox.show([{
src: '#modalCheckoutCliente',
type: 'inline'
}], {
mainClass: 'fancybox-checkout-fullscreen'
});
}
$.ajax({
type: 'POST',
url: '/paginas/checkout-encomendas.php',
data: '&idCliente='+idCliente,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.reload(); }, 500);
} else if (data=="-1") {
Fancybox.close();
} else {
$('#modalCheckoutClienteLoadingGlobal').hide();
$('#modalCheckoutClienteContentGlobal').html(data);
loadToolTips();
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function handleTipoIncidencia(el) {
$("#motivoReentrega, #motivoDevolucaoTotal").val("").trigger("change");
$("#divMotivoReentrega, #divMotivoDevolucaoTotal, #divMotivoDevolucaoParcial, #divFotoEstabelecimento, #divDocumentoAssinado").hide();
$("#motivoReentrega, #motivoDevolucaoTotal, #fotoEstabelecimento, #fileatt1").attr("required", false);
if ($(el).val() == 0 && $(el).val() != '') {
$("#divTipoIncidencia, #divMotivoReentrega, #divFotoEstabelecimento, #divJustificacaoAdicional").hide();
$("#tipoIncidencia, #motivoReentrega, #fotoEstabelecimento").attr("required", false);
$("#motivoReentrega, #motivoDevolucaoTotal, #fotoEstabelecimento").val("").trigger("change");
$("#divDocumentoAssinado").show();
$("#fileatt1").attr("required", true);
} else if ($(el).val() == 1) {
$("#divMotivoReentrega, #divJustificacaoAdicional").show();
$("#motivoReentrega").attr("required", true);
} else if ($(el).val() == 2) {
$("#divMotivoDevolucaoTotal, #divJustificacaoAdicional").show();
$("#motivoDevolucaoTotal").attr("required", true);
$("#divDocumentoAssinado").show();
$("#fileatt1").attr("required", true);
} else if ($(el).val() == 3) {
$("#divMotivoDevolucaoParcial, #divJustificacaoAdicional").show();
$("#divDocumentoAssinado").show();
$("#fileatt1").attr("required", true);
} else {
$("#divTipoIncidencia, #divMotivoReentrega, #divFotoEstabelecimento").hide();
$("#tipoIncidencia, #motivoReentrega, #fotoEstabelecimento").attr("required", false);
$("#motivoReentrega, #motivoDevolucaoTotal, #fotoEstabelecimento").val("").trigger("change");
$("#divDocumentoAssinado").hide();
$("#fileatt1").attr("required", false);
}
}
function handleMotivoReentrega(el) {
if ($(el).val() == 1) {
$("#divFotoEstabelecimento").show();
$("#fotoEstabelecimento").attr("required", true);
} else {
$("#divFotoEstabelecimento").hide();
$("#fotoEstabelecimento").attr("required", false);
}
}
function handleMotivoPago(el) {
if ($(el).val() == 1) {
$("#divMotivoPago").hide();
$("#motivoPago").val("").trigger("change");
$("#motivoPago").attr("required", false);
} else {
$("#divMotivoPago").show();
$("#motivoPago").focus();
$("#motivoPago").attr("required", true);
}
}
function handleQTParcial(el) {
var tmdId = $(el).attr('data-id');
var valor = $(el).val();
if (valor > 0) {
$("#motivoParcial"+tmdId).attr("required", true);
} else {
$("#motivoParcial"+tmdId).attr("required", false);
}
}
function handleRecolhaGuia(el,idDoc,tipo,fromModal,originalDoc) {
$("#divMotivoNaoRecolha_"+idDoc).hide();
if ($(el).val() == 1) {
initGeolocationAnexarDocumento(idDoc,tipo,fromModal,originalDoc);
} else {
$("#divMotivoNaoRecolha_"+idDoc).show();
}
}
function confirmarNaoRecolha(idDoc,originalDoc) {
var valor = $('#motivoNaoRecolha_'+idDoc).val();
if (valor == '') {
toastr.error("Deve indicar o motivo da não recolha!");
return false;
}
var latitude = $("#tarefa_latitude").val();
var longitude = $("#tarefa_longitude").val();
$.ajax({
type: 'POST',
url: '/paginas/refresh/anexar-documento-assinado.php',
data: 'tipodocumento=BO&id_faturacab='+idDoc+'&latitude='+latitude+'&longitude='+longitude+'&motivoNaoRecolha='+valor,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNi0wOS0yNSAyMQ==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID1841506db4f76caa28594dde7e70ee44';
},
success:function(data){
if (data=="-99") {
toastr.error("A sua sessão de login terminou!");
setTimeout(function(){ window.location.href = "https://comercial-macal.aplataforma.com/pt/"; }, 500);
} else if(data==1 || data==2) {
toastr.success("Informação submetida com sucesso!");
initGeolocationAnexarDocumento(originalDoc,'ft',true,'');
} else if(data==3) {
toastr.success("Informação submetida com sucesso!");
var docsIgnorar = $('#todosDocsIgnorar').val();
if (docsIgnorar != '') { docsIgnorar += ','; }
docsIgnorar += idDoc;
initGeolocationAnexarDocumento(originalDoc,'ft',true,'',docsIgnorar);
} else if(data=="-98") {
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
} else {
toastr.error("Não foi possivel concluir o seu pedido.");
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
var tmpModalAnexarDocumento;
function initGeolocationAnexarDocumento(idDoc,tipo='ft',fromModal=false,originalDoc=false,docIgnorar='') {
if (fromModal) {
//tmpModalAnexarDocumento.hide();
$('#original_doc').val(originalDoc);
}
$("#button_anexar_documento button").attr("disabled", true);
$("#modalUploadDocumentoLoading").show();
$("#anexarDocumentoAssinado").html('');
if (fromModal) {
obterDocumentoAssinar(idDoc,tipo,docIgnorar);
} else {
tmpModalAnexarDocumento = new bootstrap.Modal(document.getElementById('modalUploadDocumento'), { backdrop: 'static', keyboard: false });
tmpModalAnexarDocumento.show();
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
(position) => {
$("#tarefa_latitude").val(position.coords.latitude);
$("#tarefa_longitude").val(position.coords.longitude);
obterDocumentoAssinar(idDoc,tipo,docIgnorar);
},
(error) => {
toastr.error('Não foi possível obter a sua geolocalização: '+error.code);
$("#modalUploadDocumentoLoading").hide();
$('#anexarDocumentoAssinado').html('
Não foi possível obter a sua geolocalização. Certifique-se que tem a localização ativa no seu browser e boa cobertura GPS.