$(document).ready(function () {
if($.fn.dataTable != undefined)
{
$.extend($.fn.dataTable.defaults,
{
"language":
{
"sProcessing": "",
"sLengthMenu": "",
"sZeroRecords": "",
"sEmptyTable": "Sin datos",
"sInfo": "",
"sInfoEmpty": "",
"sInfoFiltered": "()",
"sSearchPlaceholder": "",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
},
}
});
}
});
function preparaLugar(pais, provincia, poblacion, idInputPais,idInputProvincia, idInputLocalidad, idInputCCAA, ccaa)
{
if(pais > 0)
{
if (pais == 28 && idInputCCAA)
actualizaCCAA(idInputCCAA, idInputProvincia, idInputPais, ccaa, false);
if (ccaa || !idInputCCAA)
actualizaProvincias(idInputLocalidad, idInputProvincia, idInputCCAA, idInputPais, ccaa, provincia, undefined, undefined, undefined, undefined, undefined, undefined, false, ccaa);
}
$('#'+idInputPais).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
if ($('#'+idInputPais).val() == 28 && idInputCCAA)
actualizaCCAA(idInputCCAA, idInputProvincia, idInputPais, undefined, true);
else
actualizaProvincias(idInputLocalidad, idInputProvincia, idInputCCAA, idInputPais, ccaa, provincia, undefined, undefined, undefined, undefined, undefined, undefined, true);
});
if(provincia > 0 && idInputLocalidad)
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1);
}
if (idInputCCAA)
{
$('#' + idInputCCAA).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue)
{
if (isSelected === null)
return;
actualizaProvincias(idInputLocalidad, idInputProvincia, idInputCCAA, idInputPais, ccaa, provincia, undefined, undefined, undefined, undefined, undefined, undefined, true);
});
}
$('#'+idInputProvincia).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
if (isSelected === null)
return;
if (idInputLocalidad)
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});
/*
$("body").on("change", "#"+idInputProvincia, function()
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});*/
}
function actualizaCCAA(idCampoCCAA, idCampoRegion, idCampoPais, idCcaa, actualizarProvincia)
{
const forceIdPais = $("#" + idCampoPais).val();
const textoLoading = "Cargando...";
var data = {idPais: forceIdPais};
const elementProvincia = $("#" + idCampoRegion);
const elementCCAA = $("#" + idCampoCCAA);
elementCCAA.empty();
elementCCAA.append("");
elementCCAA.selectpicker("refresh");
elementCCAA.selectpicker('val', 0);
if (actualizarProvincia)
{
elementProvincia.empty();
elementProvincia.append("");
elementProvincia.selectpicker("refresh");
elementProvincia.selectpicker('val', 0);
}
var returned = $.ajax(
{
url: "ajax/Ubicacion.listadoComunidades.php?CSRF=" + CSRF,
type: "POST",
dataType: "json",
data: data,
error: function (XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function (data)
{
elementCCAA.empty();
elementCCAA.append("");
for (var index in data)
{
elementCCAA.append("");
}
if (data.length == 0)
{
elementCCAA.prop("disabled", true);
}
else
{
elementCCAA.prop("disabled", false);
}
elementCCAA.selectpicker("refresh");
if (idCcaa != undefined && idCcaa != "")
{
elementCCAA.val(idCcaa);
}
else
{
elementCCAA.val(0);
}
elementCCAA.selectpicker("refresh");
if (actualizarProvincia)
{
elementProvincia.empty();
elementProvincia.append("");
elementProvincia.val(0);
elementProvincia.selectpicker("refresh");
}
if (data.length == 0 && actualizarProvincia)
actualizaProvincias(undefined, idCampoRegion, idCampoCCAA, idCampoPais, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, false);
}
});
}
function actualizaProvincias(idCampoLocalidad, idCampoRegion, idInputCCAA, idCampoPais, idCCAAPreEstablecida, idRegionPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading, actualizarLocalidad, idCCAA = undefined)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
//textoSelect = "Provincia";
textoSelect = "";
}
var textoSelectLoc = "Población";
//var textoSelectLoc = "";
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
if (idCCAA == undefined)
idCCAA = $("#" + idInputCCAA).val() || 0;
var data = {
idPais: forceIdPais,
idCCAA: idCCAA,
};
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
$("#"+idCampoRegion).selectpicker("refresh");
$("#"+idCampoRegion).selectpicker('val', 0);
if (actualizarLocalidad) {
$("#" + idCampoLocalidad).empty();
$("#" + idCampoLocalidad).append("");
$("#" + idCampoLocalidad).selectpicker("refresh");
$("#" + idCampoLocalidad).selectpicker('val', 0);
}
var returned = $.ajax(
{
url: "ajax/Ubicacion.listadoRegiones.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
for(var index in data)
{
$("#"+idCampoRegion).append( "" );
}
$("#" + idCampoRegion).selectpicker("refresh");
if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="")
{
$("#"+idCampoRegion).val(idRegionPreEstablecida);
}
else
{
$("#"+idCampoRegion).val(0);
}
$("#"+idCampoRegion).selectpicker("refresh");
if (actualizarLocalidad) {
$("#" + idCampoLocalidad).empty();
$("#" + idCampoLocalidad).append("");
$("#" + idCampoLocalidad).val(0);
$("#" + idCampoLocalidad).selectpicker("refresh");
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
//textoSelect = "Población";
textoSelect = "";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais,
idRegion: forceIdRegion
};
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
$("#"+idCampoLocalidad).selectpicker("refresh");
$("#"+idCampoLocalidad).selectpicker('val', 0);
var returned = $.ajax(
{
url: "ajax/Ubicacion.listadoCiudades.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
for(var index in data)
{
$("#"+idCampoLocalidad).append( "" );
}
$("#"+idCampoLocalidad).selectpicker("refresh");
if(idLocalidadPreEstablecida!=undefined)
{
$("#"+idCampoLocalidad).val(idLocalidadPreEstablecida);
}
else
{
$("#"+idCampoLocalidad).val(0);
}
$("#"+idCampoLocalidad).selectpicker("refresh");
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
/*
ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]);
ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]);
ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close"
ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]);
*/
var ClassBlockUI =
{
restaurarElemento: function()
{
var data = $("body").data('blockUIEstandar.history');
if (data)
{
data.el.style.display = data.display;
data.el.style.position = data.position;
if (data.parent)
data.parent.appendChild(data.el);
$("body").removeData('blockUIEstandar.history');
$("#"+data.generatedId).remove();
}
},
abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento)
{
if(restaurarElemento || restaurarElemento == undefined)
{
ClassBlockUI.restaurarElemento();
}
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;}
//var blockUIId="blockUI_"+new Date().getTime();
var blockUIId="blockUI_"+contenedorIDAMostrar;
extraClass = extraClass == undefined ? "" : extraClass; //modal-lg
var object = $("#"+contenedorIDAMostrar);
var node = object[0];
var data = {};
$("body").data('blockUIEstandar.history', data);
data.el = node;
data.parent = node.parentNode;
data.display = node.style.display;
data.position = node.style.position;
data.generatedId = blockUIId;
data.object = object;
if (data.parent)
data.parent.removeChild(node);
var header = headerText != undefined ? headerText : "";
var message = ''+
'
'+
' '+
'
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-body").append(node);
//modal.find(".modal-dialog").addClass("jackInTheBox");
modal.on('hidden.bs.modal', function () {
ClassBlockUI.restaurarElemento();
})
var myModal = new bootstrap.Modal($(modal)[0], {
keyboard: false
})
myModal.show();
if(accionCerrar==undefined) //boton cerrar tiene accion por defecto
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
});
}
else if(accionCerrar==false) //oculta el boton cerrar
{
$("#"+blockUIId+" .btnCerrarModalEquis").hide();
}
else //boton cerrar con accion especial
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar);
}
return modal;
},
abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title)
{
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
var blockUIId="blockUI_"+new Date().getTime();
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg
title = title == null || title == undefined ? "Aviso" : title;
if(isAlertOrButtons==undefined) isAlertOrButtons=false;
if(onClose==undefined) onClose=false;
var botonera = "";
var botoneraEspecial = false;
if(isAlertOrButtons === false)
{
botonera = "";
}
else if (isAlertOrButtons === true)
{
botonera = "Aceptar
";
}
else
{
botoneraEspecial = true;
botonera = "";
for(var index in isAlertOrButtons)
{
botonera += " "+isAlertOrButtons[index]["text"]+" ";
}
botonera += "
";
}
var message = '';
message += '';
message += ' ';
message += '
';
$("body").append(message);
var modal = $("#"+blockUIId);
//modal.find(".modal-dialog").addClass("zoomInDown");
modal.on('hidden.bs.modal', function () {
modal.remove();
})
var myModal = new bootstrap.Modal($(modal)[0], {
keyboard: false
});
myModal.show();
//Acciones de los botones especiales
if(botoneraEspecial)
{
for(var index in isAlertOrButtons)
{
if(isAlertOrButtons[index]["action"] == "close")
{
isAlertOrButtons[index]["action"] = function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
};
}
$("#"+blockUIId+" ."+index).unbind("click").click(isAlertOrButtons[index]["action"]);
}
}
var fnOnClose;
if(onClose==false)
{
fnOnClose = function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
};
}
else if (typeof onClose === "function")
{
fnOnClose = function(){onClose()};
}
else if (onClose == "location")
{
fnOnClose = function(){window.location.reload()};
}
else if (onClose == "back")
{
fnOnClose = function(){history.go(-1);};
}
else
{
if(onClose.indexOf("/") !=0 && onClose.indexOf("http") !=0)
{
onClose = "/"+onClose;
}
fnOnClose = function(){window.location = onClose};
}
$("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").click(fnOnClose);
return modal;
},
abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar, extraClass, title)
{
accionCancelar = accionCancelar == undefined ? "close" : accionCancelar;
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass;
var buttons =
{
"btnAceptarBUI_CONFIRM":
{
"text": textoAceptar,
"action": accionAceptar
},
"btnCancelarBUI_CONFIRM":
{
"text": textoCancelar,
"action": accionCancelar
}
};
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, extraClass, title);
},
abrirBlockUIEsperePorFavor: function(mensaje)
{
if(mensaje == undefined){ mensaje = " Espere por favor... "; };
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere");
}
};
const CREAR_EXPORTADO_4B_CON_IMPORTADOS = false;
class Usuario
{
static initCambiarContrasena()
{
$("body").on("click", ".btnGuardarContrasena", function (e)
{
e.preventDefault();
const opciones_validacion_password =
{
showLabels: false,
rules:
{
formContrasenaNueva2:
{
equalTo: "#formContrasenaNueva",
minlength: 6
},
formContrasenaNueva: {minlength: 6}
}
};
Utils.sendStandardAjax("frmModificarContrasena", "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion_password, successCallback: null, resetFormOnSuccess: true});
});
}
static initNuevaPass()
{
$(document).ready(function()
{
$(".btnEnviarNuevoPass").click(Usuario.guardaClaveOlvidoPass);
$("#password2").pressEnter(Usuario.guardaClaveOlvidoPass);
$("#form_email_olvido").pressEnter(Usuario.enviarOlvido);
$(".btnEnviarEmailOlvidoPass").click(Usuario.enviarOlvido);
});
}
static guardaClaveOlvidoPass()
{
var opciones_validacion=
{
showLabels: false,
rules: {
passwordOlvido:
{
required: true,
minlength: 6
},
password2: {equalTo: "#passwordOlvido"}
}
};
Utils.sendStandardAjax("form_olvido", "ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.sunreuse.eu/es/residuos-aparatos-electricos.html"});
}
static enviarOlvido()
{
Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true});
}
static initAdhesionPaso1(pais, provincia, localidad, paisNotificacion, provinciaNotificacion, localidadNotificacion, paisRepresentante, provinciaRepresentante, localidadRepresentante, paisPersonaContacto, provinciaPersonaContacto, localidadPersonaContacto, ccaa, ccaaNotificacion, paisIntermediario, ccaaIntermediario, provinciaIntermediario)
{
$(document).ready(function()
{
$("#frmAdhesion1CopiarDireccion").trigger("change");
preparaLugar(pais, provincia, localidad, "frmAdhesion1Pais", "frmAdhesion1ProvinciaId", undefined, "frmAdhesion1CCAAId", ccaa);
preparaLugar(paisNotificacion, provinciaNotificacion, localidadNotificacion, "frmAdhesion1NotificacionPais", "frmAdhesion1NotificacionProvinciaId", undefined, "frmAdhesion1NotificacionCCAAId", ccaaNotificacion);
preparaLugar(paisIntermediario, provinciaIntermediario, undefined, "frmAdhesion1IntermediarioPais", "frmAdhesion1IntermediarioProvinciaId", undefined, "frmAdhesion1IntermediarioCCAAId", ccaaIntermediario);
//preparaLugar(paisRepresentante, provinciaRepresentante, localidadRepresentante, "frmAdhesion1RepresentantePais", "frmAdhesion1RepresentanteProvincia", "frmAdhesion1RepresentantePoblacion");
//preparaLugar(paisPersonaContacto, provinciaPersonaContacto, localidadPersonaContacto, "frmAdhesion1ContactoRepresentantePais", "frmAdhesion1ContactoRepresentanteProvincia", "frmAdhesion1ContactoRepresentantePoblacion");
$('#frmAdhesion1Pais').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
if ($(this).val() == 28)
{
$(".datos-representante, .fg-provincia-txt, .fg-ccaa-txt").addClass("d-none");
$(".fg-provincia-select, .fg-ccaa-select").removeClass("d-none");
}
else
{
$(".datos-representante, .fg-provincia-txt, .fg-ccaa-txt").removeClass("d-none");
$(".fg-provincia-select, .fg-ccaa-select").addClass("d-none");
}
});
$('#frmAdhesion1NotificacionPais').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
if ($(this).val() == 28)
{
$(".fg-not-provincia-txt, .fg-not-ccaa-txt").addClass("d-none");
$(".fg-not-provincia-select, .fg-not-ccaa-select").removeClass("d-none");
}
else
{
$(".fg-not-provincia-txt, .fg-not-ccaa-txt").removeClass("d-none");
$(".fg-not-provincia-select, .fg-not-ccaa-select").addClass("d-none");
}
});
$('#frmAdhesion1IntermediarioPais').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
if ($(this).val() == 28)
{
$(".fg-int-provincia-txt, .fg-int-ccaa-txt").addClass("d-none");
$(".fg-int-provincia-select, .fg-int-ccaa-select").removeClass("d-none");
}
else
{
$(".fg-int-provincia-txt, .fg-int-ccaa-txt").removeClass("d-none");
$(".fg-int-provincia-select, .fg-int-ccaa-select").addClass("d-none");
}
});
});
$("#frmAdhesion").on("change", "#frmAdhesion1CopiarDireccion", function(e)
{
if ($(this).is(":checked"))
{
$(".group-notificacion").addClass("d-none");
//$("#frmAdhesion1NotificacionPais").html($("#frmAdhesion1Pais").html());
//$("#frmAdhesion1NotificacionProvincia").html($("#frmAdhesion1Provincia").html());
//$("#frmAdhesion1NotificacionPoblacion").html($("#frmAdhesion1Poblacion").html());
//$("#frmAdhesion1NotificacionPais .bs-title-option").remove();
$("#frmAdhesion1NotificacionProvincia .bs-title-option").remove();
$("#frmAdhesion1NotificacionPoblacion .bs-title-option").remove();
$("#frmAdhesion1NotificacionPais").val($("#frmAdhesion1Pais").val());
$("#frmAdhesion1NotificacionProvincia").val($("#frmAdhesion1Provincia").val());
$("#frmAdhesion1NotificacionPoblacion").val($("#frmAdhesion1Poblacion").val());
$("#frmAdhesion1NotificacionPais").selectpicker('refresh');
//$("#frmAdhesion1NotificacionProvincia").selectpicker('refresh');
//$("#frmAdhesion1NotificacionPoblacion").selectpicker('refresh');
}
else
{
$(".group-notificacion").removeClass("d-none");
}
});
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF="+CSRF, {successCallback: "data-location", resetFormOnSuccess: true});
});
}
static initAdhesionPaso2(actividades)
{
Usuario.actividades = actividades;
$("body").on("change", "input[name='frmAdhesion2Criterio']", function(e)
{
$("input[name='frmAdhesion2Criterio']").removeClass("error");
});
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
let extraErrores = "";
if ($("input[name='frmAdhesion2Criterio']:checked").length == 0)
{
$("input[name='frmAdhesion2Criterio']").addClass("error");
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe seleccionar el criterio de estimación anual";
}
if (Usuario.actividades.filter(Boolean).length == 0)
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe añadir al menos 1 actividad";
}
let prepareFormData = function()
{
const formData = new FormData($("#frmAdhesion")[0]);
$.each(Usuario.actividades.filter(Boolean), function(i, e)
{
formData.append('actividades[]', JSON.stringify(e));
});
return formData;
};
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF=" + CSRF, {
successCallback: "data-location",
extraErroresForm: extraErrores,
//opcionesValidacion: {showLabels: false, rules: {'frmAdhesion2TipoVenta[]': {required: true, minlength: 1}}},
prepareFormData: prepareFormData
});
});
$("body").on("click", "#btn-anadir-actividad", function(e)
{
e.preventDefault();
ClassBlockUI.abrirBlockUIEstandar("bloqueNuevaActividad", undefined, "Añadir Producto", "modal630");
});
$("body").on("click", ".actividad-producto-eliminar", function(e)
{
e.preventDefault();
const element = $(this);
const id = element.attr("data-id");
const categoria = element.parents(".actividad");
const subcategoria = element.parents(".actividad-categoria-datos");
const origen = $(this).parents(".actividad-producto-datos").attr("data-origen")*1;
const idProducto = $(this).parents(".actividad-producto").attr("data-id")*1;
eliminarProducto(element, id, categoria, subcategoria);
if (origen == 3)
{
const importado = Usuario.actividades.find((element) => element.idProducto == idProducto && element.idOrigen == 6);
if (importado != undefined)
eliminarProducto(element, importado.id, categoria, subcategoria);
}
});
function eliminarProducto(element, id, categoria, subcategoria)
{
const index = Usuario.actividades.findIndex(x => x != undefined && x.id == id);
if (index >= 0) {
Usuario.actividades.splice(index, 1);
let elementProducto = element.parents(".actividad-producto");
element.parents(".actividad-producto-datos").remove();
if (elementProducto.find(".actividad-producto-datos") .length == 0)
{
elementProducto.remove();
}
if (subcategoria.find(".actividad-producto").length == 0)
{
subcategoria.remove();
if (categoria.find(".actividad-categoria-datos").length == 0)
{
categoria.remove();
}
}
}
}
}
static initAdhesionPaso3(paises)
{
Usuario.paises = paises;
$("body").on("change", "#frmAdhesion2WEEE", function(e)
{
if ($(this).is(":checked"))
$("#frmAdhesion2TipoDocumento, #frmAdhesion2NumDocumento, #frmAdhesion2Nombre").prop("disabled", true);
else
$("#frmAdhesion2TipoDocumento, #frmAdhesion2NumDocumento, #frmAdhesion2Nombre").prop("disabled", false);
$("#frmAdhesion2TipoDocumento").selectpicker("refresh");
});
$("body").on("change", "input[name='frmAdhesion2TipoVenta[]']", function(e)
{
$("input[name='frmAdhesion2TipoVenta[]']").removeClass("error");
const inpHogar = $("#frmAdhesion2TipoVenta2");
const inpNoHogar = $("#frmAdhesion2TipoVenta3");
if (inpHogar.is(":checked") || inpNoHogar.is(":checked"))
{
$(".bloque-pais").removeClass("pais-oculto");
}
else
{
$(".bloque-pais").addClass("pais-oculto");
}
});
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
let extraErrores = "";
if ($("input[name='frmAdhesion2TipoVenta[]']:checked").length == 0)
{
$("input[name='frmAdhesion2TipoVenta[]']").addClass("error");
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe seleccionar el tipo de venta";
}
const inpHogar = $("#frmAdhesion2TipoVenta2");
const inpNoHogar = $("#frmAdhesion2TipoVenta3");
if ((inpHogar.is(":checked") || inpNoHogar.is(":checked")) && Usuario.paises.filter(Boolean).length == 0)
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe añadir al menos 1 país de venta";
}
let prepareFormData = function()
{
const formData = new FormData($("#frmAdhesion")[0]);
$.each(Usuario.paises.filter(Boolean), function(i, e)
{
formData.append('paises[]', JSON.stringify(e));
});
return formData;
};
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF=" + CSRF, {
successCallback: "data-location",
extraErroresForm: extraErrores,
//opcionesValidacion: {showLabels: false, rules: {'frmAdhesion2TipoVenta[]': {required: true, minlength: 1}}},
prepareFormData: prepareFormData
});
});
$("body").on("click", ".icon-eliminar-pais", function(e)
{
e.preventDefault();
const id = $(this).attr("data-id");
const index = Usuario.paises.findIndex(x => x != undefined && x.id == id);
if (index >= 0) {
Usuario.paises.splice(index, 1);
const itemPais = $(this).parents('.item-pais');
if (itemPais.length > 0) itemPais.remove();
else
tablatablaPaises.row( $(this).parents('tr') ).remove().draw();
}
});
$("#frmAdhesion").on("click", "#btn-anadir-pais", function(e)
{
e.preventDefault();
let extraErrores = "";
const pais = $("#frmAdhesion2PaisDest").val();
const tipoDoc = $("#frmAdhesion2TipoDocumento").val();
const numDocumento = $("#frmAdhesion2NumDocumento").val().trim();
const nombre = $("#frmAdhesion2Nombre").val().trim();
const weee = $("#frmAdhesion2WEEE").is(":checked");
if (pais == 0 || pais == "")
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Selecciona un país";
}
if (!weee && (tipoDoc == 0 || tipoDoc == ""))
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Selecciona un tipo";
}
if (!weee && numDocumento == "")
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe escribir el número de documento";
}
if (!weee && nombre == "")
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe introducir un nombre válido";
}
if (extraErrores != "")
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+extraErrores, true, undefined, "");
return;
}
let id = 0;
const paisTxt = $("#frmAdhesion2PaisDest option:selected").text();
const representante = weee ? "-" : "("+tipoDoc+": "+numDocumento+") "+nombre;
$.each(Usuario.paises, function(i, e)
{
id = Math.max(id, e.id);
});
id++;
Usuario.paises.push({id: id, pais: pais, paisTxt: paisTxt, tipoDoc: tipoDoc, numDoc: numDocumento, nombre: nombre, cumpleWEEE: weee ? 0 : 1});
$("#frmAdhesion2PaisDest").selectpicker('val', 0);
$("#frmAdhesion2TipoDocumento").selectpicker('val', 0);
$("#frmAdhesion2NumDocumento, #frmAdhesion2Nombre").val("");
tablatablaPaises.row.add([
"",
paisTxt,
representante,
] ).draw( false );
});
}
static initNuevaActividad(categorias, subcategorias)
{
Usuario.categorias = categorias;
Usuario.subcategorias = subcategorias;
$(document).ready(function()
{
$('#frmActividadCategoria').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
const categoria = $(this).val();
const elementSubcategoria = $("#frmActividadSubcategoria");
const elementProductos = $("#frmActividadProducto");
elementSubcategoria.empty();
if (Usuario.subcategorias[categoria] != undefined && Object.keys(Usuario.subcategorias[categoria]).length > 0)
{
elementSubcategoria.prop("disabled", false);
elementSubcategoria.append( "");
$.each(Usuario.subcategorias[categoria], function (i, e)
{
elementSubcategoria.append( "" );
});
elementProductos.val("").data("item", null);
/*elementProductos.empty();
elementProductos.append( "");
elementProductos.selectpicker("refresh");*/
}
else
{
elementSubcategoria.prop("disabled", true);
elementSubcategoria.append( "");
//cargarProductos(categoria);
}
elementSubcategoria.val("");
elementSubcategoria.selectpicker("refresh");
});
$('#frmActividadSubcategoria').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
const subcategoria = $(this).val();
$("#frmActividadProducto").val("").data("item", null);
//cargarProductos(subcategoria);
});
$("#frmActividadProducto").autocomplete({
//source: "ajax/Productos.buscar.php",
source: function(request, response)
{
let categoria = $('#frmActividadCategoria').val();
let subcategoria = $('#frmActividadSubcategoria').val();
$.ajax({
url: "ajax/ProductosCategoria.buscar.php",
data: {
CSRF: CSRF,
term: request.term,
categoria: categoria,
subcategoria: subcategoria,
},
type: "GET", // This will depend on how you set up your web service
dataType: "json",
success: function (data) {
response( data );
}
});
},
minLength: 3,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
//$("#rangosPrecios").addClass("d-none");
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).data("item", null);
$(event.target).val("");
return;
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item);
$("#frmActividadIdProducto").val(ui.item.id);
}
});
});
function cargarProductos(idCategoria)
{
const elementProductos = $("#frmActividadProducto");
elementProductos.empty();
elementProductos.append( "");
elementProductos.selectpicker("refresh");
elementProductos.val("");
elementProductos.selectpicker("refresh");
var returned = $.ajax(
{
url: "ajax/Productos.cargar.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : {
idCategoria: idCategoria
},
success: function(data)
{
elementProductos.empty();
elementProductos.append( "");
$.each(data["productos"], function(i, e)
{
elementProductos.append( "" );
});
elementProductos.selectpicker("refresh");
}
});
}
$("body").on("click", "#frmActividadAnadir", function(e)
{
e.preventDefault();
let opciones_validacion = {showLabels: false};
const validacion = $("#frmActividad").validate(opciones_validacion);
if ($(this).hasClass("contacto"))
{
var successCallback = function (data, textStatus, XMLHttpRequest) {
if (data["error_number"] < 0) {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
} else {
$(".modal").modal("hide");
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
$("#frmActividad")[0].reset();
validacion.resetForm();
}
};
Utils.sendStandardAjax("frmActividad", "ajax/Actividad.contacto.php", {
successCallback: successCallback
});
}
else
{
var extraErrores = "";
const itemP = $("#frmActividadProducto").data("item");
if (itemP == undefined || itemP == null || itemP.id == undefined && $("#frmActividadProducto").val() != "")
{
extraErrores += "Selecciona el producto";
}
if (!$("#frmActividad").valid() || extraErrores != "") {
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
" + validacion.invalidMessages("
")+extraErrores, true, undefined, "");
return;
}
const categoria = $("#frmActividadCategoria").val();
const categoriaTxt = $("#frmActividadCategoria option:selected").text();
const subcategoria = $("#frmActividadSubcategoria").val();
const subcategoriaTxt = $("#frmActividadSubcategoria option:selected").text();
//const producto = $("#frmActividadProducto").val();
//const productoTxt = $("#frmActividadProducto option:selected").text();
const producto = itemP.id;
const productoTxt = itemP.label;
const origen = $("#frmActividadOrigen").val()*1;
const origenTxt = $("#frmActividadOrigen option:selected").text();
const unidades = $("#frmActividadUnidades").val();
const kilos = $("#frmActividadKilos").val();
const marcas = $("#frmActividadMarcas").val();
let id = 0;
$.each(Usuario.actividades, function (i, e) {
id = Math.max(id, e.id);
});
id++;
Usuario.actividades.push({
id: id,
idCategoria: categoria,
idSubcategoria: subcategoria,
idProducto: producto,
idOrigen: origen,
unidades: unidades,
kilos: kilos,
marcas: marcas
});
if (origen == 3)
{
//id++;
Usuario.actividades.push({
id: id+1,
idCategoria: categoria,
idSubcategoria: subcategoria,
idProducto: producto,
idOrigen: 6,
unidades: 0,
kilos: 0,
marcas: marcas
});
}
if ($(".actividad[data-id='" + categoria + "']").length == 0) {
$("#actividades").append("");
}
if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "']").length == 0) {
$(".actividad[data-id='" + categoria + "']").append("");
}
if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "'] .actividad-productos").length == 0) {
$(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "']").append("");
}
if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "'] .actividad-productos .actividad-producto[data-id='" + producto + "']").length == 0) {
$(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "'] .actividad-productos").append("");
}
const elemProductos = $(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + subcategoria + "'] .actividad-productos .actividad-producto[data-id='" + producto + "']");
let marcasTxt = "";
if ($(".gestinaBody").length > 0) {
marcasTxt += "
Marca/s: "+marcas;
}
let html = 'Origen: ' + origenTxt + marcasTxt +'
Unidades: ' + unidades + '
Kilos: ' + kilos + '
';
if (origen == 3 && CREAR_EXPORTADO_4B_CON_IMPORTADOS)
{
html += 'Origen: 4b. Exportados de Origen 3' + marcasTxt +'
Unidades: ' + 0 + '
Kilos: ' + 0 + '
';
elemProductos.append(""+html+"
");
}
else
{
elemProductos.append(html);
}
$("#frmActividad")[0].reset();
$("#frmActividad .selectpicker").selectpicker('val', "");
$(".modal").modal("hide");
$(".actividad-producto-eliminar:not(.tooltipstered)").tooltipster({
animation: 'grow',
interactive: true,
position: 'bottom'
});
}
});
}
static initAdhesionPaso4()
{
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF="+CSRF, {successCallback: "data-location", resetFormOnSuccess: true});
});
}
static initAdhesionPaso5()
{
$(document).ready(function()
{
$("#frmAdhesion4CopiarResponsable:checked").trigger("change");
$("#frmAdhesion4CopiarContacto:checked").trigger("change");
$("#frmAdhesion4CopiarContabilidad:checked").trigger("change");
});
$("#frmAdhesion").on("change", "#frmAdhesion4CopiarResponsable, #frmAdhesion4CopiarContacto, #frmAdhesion4CopiarContabilidad", function(e)
{
const group = $(this).attr("data-group");
if ($(this).is(":checked"))
{
$(".form-group-"+group.toLowerCase()).addClass("d-none");
}
else
{
$(".form-group-"+group.toLowerCase()).removeClass("d-none");
}
$.each($(".form-group-representante"), function (i, e)
{
const input = $(e).find("input");
let id = input.attr("id");
$("#"+id.replace("Representante", group)).val(input.val());
});
});
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF="+CSRF, {successCallback: "data-location", resetFormOnSuccess: true});
});
}
static initAdhesionPaso6()
{
$("#btns-adhesion").on("click", "#btn-siguiente", function(e)
{
e.preventDefault();
let extraErrores = "";
/*if (!$("#frmAdhesion5NoAEEMercado").is(":checked") && !$("#frmAdhesion5NoAEEProductor").is(":checked") && !$("#frmAdhesion5AEEDeclarado").is(":checked"))
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "";
}*/
/*if (!$("#frmAdhesion5Comunicacion").is(":checked"))
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe aceptar que, con mi adhesión al SCRAP SUNREUSE ASSOCIATION, la entidad a la que represento realizará una Comunicación Complementaria en la que quedaran regularizadas mis Comunicaciones Trimestrales de los AEE puestos en el mercado nacional hasta la fecha y la aplicación de la Tasa RAEE sobre estos. ";
}*/
if (!$("#politica").is(":checked")) {
extraErrores = $("#politica").attr("title");
}
Utils.sendStandardAjax("frmAdhesion", "ajax/Usuarios.adhesion.php?CSRF=" + CSRF, {
successCallback: "data-location",
resetFormOnSuccess: true,
extraErroresForm: extraErrores
});
});
}
static tableCallback()
{
$('.icon-tabla:not(.tooltipstered)').tooltipster({
position: ['bottom'],
theme: ['tooltipster-noir', 'tooltipster-noir-customized']
});
}
static initTrimestres(productosA, importeMinimoTrimestre)
{
function countDecimals(value) {
let text = value.toString()
// verify if number 0.000005 is represented as "5e-6"
if (text.indexOf('e-') > -1) {
let [base, trail] = text.split('e-');
let deg = parseInt(trail, 10);
return deg;
}
// count decimals for number in representation like "0.123456"
if (Math.floor(value) !== value) {
return value.toString().split(".")[1].length || 0;
}
return 0;
}
const productos = productosA;
const origenesGratis = [4];
Usuario.productos = productosA;
$(document).ready(function()
{
onChangeRange();
$(".input-unidades-kilos:not([readonly])").trigger("keyup");
$('#anyo').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
window.location = "https://www.sunreuse.eu/es/usuario/trimestres.html?anyo="+$(this).val();
});
});
function onChangeRange(element)
{
let elements = element == undefined ? $('select.input-rango-peso') : element;
elements.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
const elementProducto = $(this).parents(".actividad-producto-datos");
actualizaPrecioProducto(elementProducto);
const idOrigen = elementProducto.attr("data-origen")*1;
if (idOrigen == 3 && CREAR_EXPORTADO_4B_CON_IMPORTADOS)
{
const elementProductoExportado = elementProducto.parents(".actividad-producto-importados").find(" .actividad-producto-datos[data-origen='6']");
const selectExportado = elementProductoExportado.find("select.input-rango-peso");
selectExportado.val($(this).val());
selectExportado.selectpicker("refresh");
actualizaPrecioProducto(elementProductoExportado);
}
});
}
$("body").on("click", ".btn-anadir-actividad", function(e)
{
e.preventDefault();
ClassBlockUI.abrirBlockUIEstandar("bloqueNuevaActividad", undefined, "Añadir Producto", "modal630");
$("#frmActividadAnadir").addClass("contacto");
});
$("body").on("click", ".eliminar-producto-trimestre", function ()
{
const itemTrimestre = $(this).parents(".item-trimestre");
const sonImportados = $(this).parents(".actividad-producto-importados");
if (sonImportados.length > 0)
{
sonImportados.remove();
}
else
{
$(this).parents(".actividad-producto-datos").remove();
}
itemTrimestre.find(".input-kilos").eq(0).trigger("keyup");
itemTrimestre.find(".input-unidades").eq(0).trigger("keyup");
});
$("body").on("keyup", ".input-unidades-kilos", function ()
{
//const trimestre = $(this).parents(".item-trimestre").attr("data-trimestre");
const elementProducto = $(this).parents(".actividad-producto-datos");
$(this).removeClass("error");
actualizaPrecioProducto(elementProducto);
});
$("#trimestres").on("click", ".btn-descargar-pdf, .btn-descargar-csv", function(e)
{
const btnClick = $(this);
const url = "descargar-trimestre.php?anyo="+btnClick.attr("data-anyo")+"&trimestre="+btnClick.attr("data-trimestre")+"&tipo="+btnClick.attr("data-tipo");
if (btnClick.attr("data-editable") == 1)
{
if (btnClick.attr("data-guardado") == 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder descargar el %1% antes debe guardar los datos.".replace("%1%", btnClick.attr("data-tipo")), true, undefined, "modal681");
return;
}
const btnEnviar = $(this).parents(".item-trimestre").find(".btn-enviar-datos-trimestre");
ClassBlockUI.abrirBlockUIConfirm("Para poder descargar el documento %1% hay que guardar primero los datos. Si ya están guardados puede darle a descargar, si no están guardados y pulsa descargar se verá un documento sin actualizar. Tenga en cuenta que si Envia Datos fuera del periodo de edición ya no podrá volver a modificar el trimestre.".replace("%1%", btnClick.attr("data-tipo")), "Enviar Datos", function (){$(".modal").modal("hide"); btnEnviar.trigger("click")}, "Descargar", function (){
$(".modal").modal("hide");
window.location = url;
}, "modal681");
return;
}
window.location = url;
});
$("#trimestres").on("click", ".btn-enviar-datos-trimestre", function(e)
{
e.preventDefault();
const trimestre = $(this).parents(".item-trimestre");
let extraErrores = "";
let actividades = [];
let hayErrorUdKilos = false;
$.each(trimestre.find(".actividad-producto-datos"), function (i, e)
{
let unidades = $(e).find(".input-unidades").val().replace(",", ".");
let kilos = $(e).find(".input-kilos").val().replace(",", ".");
if (unidades == 0 && kilos > 0)
{
hayErrorUdKilos = true;
$(e).find(".input-unidades").addClass("error");
}
if (kilos == 0 && unidades > 0)
{
hayErrorUdKilos = true;
$(e).find(".input-kilos").addClass("error");
}
});
if (hayErrorUdKilos)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir las unidades/kilos marcados de color rojo", true, undefined);
return;
}
let hayError = false;
$.each(trimestre.find(".actividad-producto-datos"), function (i, e)
{
let unidades = $(e).find(".input-unidades").val().replace(",", ".");
let kilos = $(e).find(".input-kilos").val().replace(",", ".");
let idProducto = $(e).parents(".actividad-producto").attr("data-id");
let idOrigen = $(e).find(".input-origen").attr("data-id");
let idRangoValor = $(e).find("select.input-rango-peso").val();
let kilosPorItemActual = unidades> 0 ? kilos/unidades : 0;
let rangoValor = $(e).find("select.input-rango-peso");
let valorRangoValor = rangoValor.selectpicker('val');
let rangoMax = rangoValor.find("[value="+valorRangoValor+"]").attr("data-rangoMax");
let rangoMin = rangoValor.find("[value="+valorRangoValor+"]").attr("data-rangoMin");
rangoValor.removeClass("error");
//Comprobamos si esta o no fuera de rango (solo si hay peso, es decir ha puesto unidades y kilos totales)
if(kilosPorItemActual> 0)
{
if((kilosPorItemActual*1000 > rangoMax || kilosPorItemActual*1000 < rangoMin) && idOrigen*1 != 6)
{
let nombreProducto = $(e).closest(".actividad-producto").find(".actividad-producto-nombre").text();
rangoValor.addClass("error");
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje("El rango que has elegido para el producto %1% no se correponde con los datos introducidos en Unidades (%2%) y Kilos Totales (%3%) puesto que el Peso Medio del Aparato sale a %4% Kg/Ud".replace("%1%", nombreProducto).replace("%2%", unidades).replace("%3%", kilos).replace("%4%", kilosPorItemActual.toFixed(2)), true, undefined);
return false;
}
}
if (isNaN(unidades) || unidades < 0 || unidades == "")
{
$(e).find(".input-unidades").addClass("error");
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir las unidades", true, undefined);
return false;
}
if (isNaN(kilos) || kilos < 0 || kilos == "")
{
hayError = true;
$(e).find(".input-kilos").addClass("error");
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir los kilos", true, undefined);
return false;
}
if (idOrigen*1 == 6)
{
const importados = $(e).closest(".actividad-producto").find(".actividad-producto-datos[data-origen='"+3+"']");
if (importados.length == 0) //No deberia pasar
{
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error inesperado", true, undefined);
return false;
}
else
{
const unidadesImportado = importados.find(".input-unidades").val().replace(",", ".")*1;
const kilosImportado = importados.find(".input-kilos").val().replace(",", ".")*1;
if (unidades*1 > unidadesImportado || kilos*1 > kilosImportado)
{
let nombreProducto = $(e).closest(".actividad-producto").find(".actividad-producto-nombre").text();
ClassBlockUI.abrirBlockUIEstandarMensaje("Las unidades/kilos de 4b. Exportados de Origen 3 para el producto %1% no pueden ser mayor que las de 3. Importados".replace("%1%", nombreProducto), true, undefined);
hayError = true;
if (unidades*1 > unidadesImportado)
$(e).find(".input-unidades").addClass("error");
else
$(e).find(".input-kilos").addClass("error");
return false;
}
}
}
if (unidades == 0 && kilos > 0)
{
hayError = true;
$(e).find(".input-unidades").addClass("error");
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir las unidades", true, undefined);
return false;
}
if (kilos == 0 && unidades > 0)
{
hayError = true;
$(e).find(".input-kilos").addClass("error");
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir los kilos", true, undefined);
return false;
}
if (actividades.find(element => element.id == idProducto && element.idOrigen == idOrigen && element.idRangoValor == idRangoValor) != undefined)
{
hayError = true;
ClassBlockUI.abrirBlockUIEstandarMensaje("No puedes tener repetidos los rangos de peso por origen", true, undefined);
return false;
}
actividades.push({
id: idProducto,
idOrigen: idOrigen,
idRangoValor: idRangoValor,
unidades: unidades,
kilos: kilos
});
});
if (hayError)
return;
if (actividades.filter(Boolean).length == 0)
{
extraErrores += extraErrores == "" ? "" : "
";
extraErrores += "Debe añadir al menos 1 actividad";
}
let prepareFormData = function()
{
const formData = new FormData();
$.each(actividades.filter(Boolean), function(i, e)
{
formData.append('actividades[]', JSON.stringify(e));
});
return formData;
};
let extraAjax = "";
if ($("#anyo").length > 0)
{
extraAjax += "&anyo="+$("#anyo").val();
}
Utils.sendStandardAjax("XXXX", "ajax/Trimestre.guardar.php?CSRF=" + CSRF+"&trimestre="+trimestre.attr("data-trimestre")+extraAjax, {
successCallback: "data-location",
extraErroresForm: extraErrores,
prepareFormData: prepareFormData
});
});
$("body").on("click", ".btn-anadir-produco-trimestre", function(e)
{
e.preventDefault();
$("#nuevoOrigenProducto").val($(this).attr("data-producto"));
$("#nuevoOrigenTrimestre").val($(this).attr("data-trimestre"));
$("#nuevoOrigen").val('').selectpicker("refresh");
ClassBlockUI.abrirBlockUIEstandar("bloqueNuevoOrigen", undefined, "Añadir", "modal356");
});
$("body").on("click", ".btn-nuevo-origen", function(e)
{
e.preventDefault();
const idOrigen = $("#nuevoOrigen").val()*1;
const idProducto = $("#nuevoOrigenProducto").val()*1;
const idTrimestre = $("#nuevoOrigenTrimestre").val()*1;
if (productos[idProducto] == undefined)
return;
/*if($("#trimestre_"+idTrimestre).find(".actividad-producto[data-id='"+idProducto+"']").find(".input-origen[data-id='"+idOrigen+"']").length > 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("No puedes añadir un origen si ya existe", true, undefined);
return;
}*/
if (idOrigen > 0)
{
const producto = productos[idProducto];
const elementProductos = $("#trimestre_"+idTrimestre).find(".actividad-producto[data-id='"+idProducto+"']").find(".actividad-origenes-producto");
const ocultarRangos = producto["rangos"].length == 1 && producto["rangos"][0] != undefined ? true : false;
let htmlNuevo = anadirProductoOrigen(producto, idOrigen, ocultarRangos);
if (idOrigen == 3 && CREAR_EXPORTADO_4B_CON_IMPORTADOS)
{
htmlNuevo += anadirProductoOrigen(producto, 6, ocultarRangos);
elementProductos.prepend(""+htmlNuevo+"
");
}
else
{
elementProductos.append(htmlNuevo);
}
elementProductos.find("select").selectpicker('refresh');
$.each(elementProductos.find(".actividad-producto-datos"), function(i, e)
{
actualizaPrecioProducto($(e));
});
onChangeRange(elementProductos.find("select"));
$(".modal").modal("hide");
}
});
function anadirProductoOrigen(producto, idOrigen, ocultarRangos)
{
const disabledRango = idOrigen == 6 ? "disabled" : "";
const multiplicadorPrecio = idOrigen == 6 ? -1 : 1;
const origenTxt = idOrigen == 6 ? "4b. Exportados de Origen 3" : $("#nuevoOrigen option:selected").text();
let htmlNuevo = '';
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
'; //FIN COL RANGO
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
';
const unidadKilo = producto["tipo"] == 1 ? "€/Unidad" : "€/Kg";
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '';
htmlNuevo += '';
htmlNuevo += '
';
htmlNuevo += '
';
if (idOrigen != 6)
{
htmlNuevo += '
';
}
htmlNuevo += '
';
htmlNuevo += '
';
htmlNuevo += '
';
return htmlNuevo;
}
//function actualizaPrecioProducto(idTrimestre, idProducto)
function actualizaPrecioProducto(eProd)
{
let tipo = eProd.parents(".actividad-producto").attr("data-tipo");
const cantidad = eProd.find(".input-unidades-kilos[data-tipo='"+tipo+"']").val().replace(",", ".");
if (isNaN(cantidad))
{
return;
}
const option = eProd.find("select.input-rango-peso option:selected");
if (option.length > 0)
{
let precio = option.attr("data-precio")*1;
let origen = eProd.find(".input-origen").attr("data-id");
if (origenesGratis.find(element => element == origen) >= 0)
{
precio = 0;
}
let decimals = countDecimals(precio) == 3 ? 3 : 2;
eProd.find(".input-importe-total").val(Utils.number_format((precio*cantidad), {numberOfDecimals: decimals, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}));
eProd.find(".input-importe-unidad").val(Utils.number_format(precio, {numberOfDecimals: decimals, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}));
}
const trimestre = eProd.parents(".item-trimestre");
const idTrimestre = trimestre.attr("data-trimestre");
let kilosTotal = 0;
let cantidadTotal = 0;
let importeTotal = 0;
$.each(trimestre.find(".actividad-producto-datos"), function(i, e)
{
const origen = $(e).attr("data-origen")*1;
let kilosItemActual = parseFloat($(e).find(".input-kilos").val().replace(",", ".")*1);
let cantidadItemActual = parseFloat($(e).find(".input-unidades").val().replace(",", ".")*1);
let importeItemActual = parseFloat($(e).find(".input-importe-total").val().replaceAll(".", "").replace(",", ".")*1);
let kilosPorItemActual = cantidadItemActual> 0 ? kilosItemActual/cantidadItemActual : 0;
let rangoValor = $(e).find("select.input-rango-peso");
let valorRangoValor = rangoValor.selectpicker('val');
let rangoMax = rangoValor.find("[value="+valorRangoValor+"]").attr("data-rangoMax");
let rangoMin = rangoValor.find("[value="+valorRangoValor+"]").attr("data-rangoMin");
rangoValor.removeClass("error");
//Comprobamos si esta o no fuera de rango (solo si hay peso, es decir ha puesto unidades y kilos totales)
if(kilosPorItemActual> 0 && origen != 6)
{
if(kilosPorItemActual*1000 > rangoMax || kilosPorItemActual*1000 < rangoMin)
{
rangoValor.addClass("error");
}
}
if (origen == 6)
{
kilosTotal -= kilosItemActual;
cantidadTotal -= cantidadItemActual;
}
else
{
kilosTotal += kilosItemActual;
cantidadTotal += cantidadItemActual;
}
importeTotal += importeItemActual;
});
if (importeTotal < importeMinimoTrimestre)
{
importeTotal = importeMinimoTrimestre;
}
$("#total-kilos-"+idTrimestre).val(Utils.number_format(kilosTotal, {numberOfDecimals: 4, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}).replace(",0000", ""));
$("#total-unidades-"+idTrimestre).val(Utils.number_format(cantidadTotal, {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}).replace(",00", ""));
$("#total-importe-"+idTrimestre).val(Utils.number_format(importeTotal, {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}));
/*const trimestre = $(".item-trimestre[data-trimestre='"+idTrimestre+"']");
if (trimestre.length > 0)
{
$.each(trimestre.find(".actividad-producto"), function (i, eProd)
{
eProd = $(eProd);
console.log(eProd);
let tipo = eProd.attr("data-tipo");
const cantidad = eProd.find(".input-unidades-kilos[data-tipo='"+tipo+"']").val();
if (isNaN(cantidad))
{
return;
}
const option = eProd.find(".input-rango-peso option:selected");
if (option.length > 0)
{
const precio = option.attr("data-precio");
eProd.find(".input-importe-total").val(Utils.number_format((precio*cantidad), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}));
eProd.find(".input-importe-unidad").val(Utils.number_format(precio, {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}));
}
});
}*/
}
}
static initFacturas()
{
$(document).ready(function()
{
$('#facturaAnyo').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected === null)
return;
window.location = "https://www.sunreuse.eu/es/usuario/facturas.html?anyo="+$(this).val();
});
});
}
static initDenuncias()
{
$(document).ready(function()
{
$("#denuncia-archivos").on("change", function() {
if ($("#denuncia-archivos")[0].files.length > 4) {
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe seleccionar un máximo de 4 archivos", true);
$("#denuncia-archivos").val("");
}
});
$("#btn-enviar-denuncia").click(function ()
{
Utils.sendStandardAjax("frm-denuncia", "ajax/Usuarios.enviarDenuncia.php?CSRF=" + CSRF, {
resetFormOnSuccess: true,
});
});
});
}
}