';
} 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');
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=MjAyNi0wNi0xMyAyMA==&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=MjAyNi0wNi0xMyAyMA==&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=MjAyNi0wNi0xMyAyMA==&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');
$('#save_cliente_padrao').show();
} else if (precoAtual == newPrice) {
$('#valorNovo_'+tmdId).removeClass('bg-secondary');
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');
$('#save_cliente_padrao').show();
} else if (precoAtual == newPrice) {
$('#valorNovo_'+tmdId).removeClass('bg-secondary');
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('bg-secondary')) {
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=MjAyNi0wNi0xMyAyMA==&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=MjAyNi0wNi0xMyAyMA==&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: '13/06/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=MjAyNi0wNi0xMyAyMA==&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=MjAyNi0wNi0xMyAyMA==&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=MjAyNi0wNi0xMyAyMA==&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=ID07b6784f34a36c56806dc33356fec543",
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=MjAyNi0wNi0xMyAyMA==&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=IDe8c9db43e376e470cb63b378c97cd1a5",
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=ID6ce32f775cfe2aa35e37a0f67c08f9b1",
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=ID38bcbdf77b691bf337cafd7af19d0192",
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=ID3a6e6d5432e175a60b942a8aacee7936",
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=ID229e61fd40b02eb54e29acd43b5d1837",
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=ID5fa8663bab5359b2245e74d6d75dd853",
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=ID60f1958d70d72cc8b80553835c1b0404",
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=ID5b880618a52f4f8cc8c8be92a020b20f",
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=ID550c787efc7a3d7de5765ce5e74927ae",
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=MjAyNi0wNi0xMyAyMA==&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=ID63eaa0abd5cf22435775eaf44a31fb20",
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=ID320f92eb021ce65ad55a4c3e4531b9bb",
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=IDcb8e6cc5751803feb8b0d3c705148dc9",
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=MjAyNi0wNi0xMyAyMA==&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=ID3d17da12d95836d727468266e26a0beb",
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=ID6712da8da3539503be1f5c15ee38d4ab",
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 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.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+"&valorinicial="+valorInicial+"&precobloqueado="+(bloqueado||'0')+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID909b3db246f96ccc4b0919906d64d13f",
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.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+"&valorinicial="+valorInicial+"&precobloqueado="+(bloqueado||'0')+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDea47571526646524adfa6e98c143cd33",
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=ID7755ad0b33be8614f098144d857a39f5",
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.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=ID539c43bb6f0c134cb324745537543f97",
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.aplataforma.com/paginas/refresh/change-cart-padrao.php",
data: "&cartid="+cartid+"&subpreco="+subpreco+"&data_vigor="+data_vigor+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=IDa7b60ff4ad9c625095dc57b779f99dc8",
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;
function openModalQuantidade(tmpid, id_linha_encomenda, id_encomenda, qtt, multiplos, unidade, kgs, kgsAtual) {
$('#modalQT_tmpID').val(tmpid);
$('#modalQT_id_linha_encomenda').val(id_linha_encomenda);
$('#modalQT_id_encomenda').val(id_encomenda);
$('#modalQT_qtt').val(qtt);
$('#modalQT_qtt').addClass("quantity_"+tmpid);
$('#modalQT_qtt').unbind();
$('#modalQT_qtt').change(function() { changeqt(tmpid,'',multiplos,unidade,kgs); });
$('#modalQT_kgs').val(kgsAtual);
$('#modalQT_kgs').attr('step', kgs.replace(",","."));
$('#modalQT_kgs').addClass("kgs_"+tmpid);
$('#modalQT_kgs').unbind();
$('#modalQT_kgs').change(function() { changekg(tmpid,'',multiplos,unidade,kgs); });
modalQuantidadeArtigo = new bootstrap.Modal(document.getElementById('modalQuantidadeArtigo'), { backdrop: 'static', keyboard: false });
modalQuantidadeArtigo.show();
}
$("#alterarQuantidadeArtEnc").submit(function(event) {
event.preventDefault();
var $this = $(this);
var tmpId = $(this).find("[name='tmpID']").val();
var quantidade = parseInt($('#modalQT_qtt').val());
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=MjAyNi0wNi0xMyAyMA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if(data==1){
toastr.success("Quantidade atualizada com sucesso!");
$('#textQt'+tmpId).html(mostraMoeda(quantidade,'',2));
$('#modalQuantidadeArtigo'+tmpId).modal('toggle');
}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('