$(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(); } } }); } function normalizeItemValues(val) { // null, undefined, "" → lo tratamos como null if (val === null || val === undefined || val === '') return null; // si es número en string, lo convertimos a número if (!isNaN(val)) return Number(val); // devolvemos tal cual para otros casos return val; } function existsProductOnItem(items, obj) { return items.some(it => normalizeItemValues(it.idCategoria) === normalizeItemValues(obj.idCategoria) && normalizeItemValues(it.idUso)=== normalizeItemValues(obj.idUso) && normalizeItemValues(it.idProducto) === normalizeItemValues(obj.idProducto) && normalizeItemValues(it.idOrigen) === normalizeItemValues(obj.idOrigen) ); } /* 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 += ''; $("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 = "
Loading ... 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.sunrepack.eu/es/re-package.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) { $(".fg-provincia-txt, .fg-ccaa-txt").addClass("d-none"); $(".fg-provincia-select, .fg-ccaa-select").removeClass("d-none"); } else { $(".fg-provincia-txt, .fg-ccaa-txt").removeClass("d-none"); $(".fg-provincia-select, .fg-ccaa-select").addClass("d-none"); } }); $("#frmAdhesion1TengoIntermediario").change(function() { const checked = $(this).is(":checked"); $(".group-intermediario").toggleClass("d-none", !checked); }); $('#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, actividadesScrap) { Usuario.actividades = actividades; Usuario.actividadesScrap = actividadesScrap; $("body").on("change", "input[name='frmAdhesion2OtroScrap']", function(e) { const value = $("input[name='frmAdhesion2OtroScrap']:checked").val() * 1; $("#container-otro-scrap").toggleClass("d-none", value != 1); }); $('#frmAdhesion2SectorId').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { const sector = $(this).val() * 1; $(".container-otro-sector").toggleClass("d-none", sector != -9999); }); $("#btns-adhesion").on("click", "#btn-siguiente", function(e) { e.preventDefault(); let extraErrores = ""; if (Usuario.actividades.filter(Boolean).length == 0) { extraErrores += extraErrores == "" ? "" : "
"; extraErrores += "Debe añadir al menos 1 actividad"; } const valueOtroScrap = $("input[name='frmAdhesion2OtroScrap']:checked").val() * 1; if (valueOtroScrap == 1 && Usuario.actividadesScrap.filter(Boolean).length == 0) { extraErrores += extraErrores == "" ? "" : "
"; extraErrores += "Debe añadir al menos 1 actividad de otro SCRAP"; } let prepareFormData = function() { const formData = new FormData($("#frmAdhesion")[0]); $.each(Usuario.actividades.filter(Boolean), function(i, e) { formData.append('actividades[]', JSON.stringify(e)); }); $.each(Usuario.actividadesScrap.filter(Boolean), function(i, e) { formData.append('actividadesScrap[]', 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", "#btn-anadir-otro-scrap", function(e) { e.preventDefault(); ClassBlockUI.abrirBlockUIEstandar("bloqueNuevaActividadScrap", undefined, "Añadir SCRAP", "modal480"); }); $("body").on("click", ".actividad-scrap-eliminar", function(e) { e.preventDefault(); const elementTr = $(this).parents("tr"); const id = elementTr.attr("data-id"); const index = Usuario.actividadesScrap.findIndex(x => x != undefined && x.id == id); if (index >= 0) { elementTr.remove(); Usuario.actividadesScrap.splice(index, 1); } }); $("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(tipologias) { Usuario.tipologias = tipologias; const elementCategoria = $("#frmActividadCategoria"); const elementUso = $("#frmActividadUso"); const elementTipologia = $("#frmActividadTipologia"); $(document).ready(function() { elementCategoria.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { if (isSelected === null) return; onChangeCategoriaUso(); }); elementUso.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { if (isSelected === null) return; onChangeCategoriaUso(); }); function onChangeCategoriaUso() { const categoria = elementCategoria.val(); const uso = elementUso.val(); const tipologias = Usuario.tipologias[categoria][uso]; elementTipologia.empty(); if (tipologias == undefined) { elementTipologia.prop("disabled", true); elementTipologia.append( ""); } else { elementTipologia.prop("disabled", false); elementTipologia.append( ""); tipologias.forEach(function(element) { elementTipologia.append( ""); }); } elementTipologia.val(""); elementTipologia.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 = ""; 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 = elementCategoria.val(); const categoriaTxt = elementCategoria.find("option:selected").text(); const uso = elementUso.val(); const usoTxt = elementUso.find("option:selected").text(); const tipologia = elementTipologia.val(); const tipologiaTxt = elementTipologia.find("option:selected").text(); const materiales = $("#frmActividadMateriales").val(); let materialesTxt = $("#frmActividadMateriales").parent().find(".filter-option-inner-inner").text(); if (materialesTxt == "") { materialesTxt = $("#frmActividadMateriales option:selected").map(function() { return $(this).text(); }).get().join(", "); } 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++; const newProduct = { id: id, idCategoria: categoria, idUso: uso, idProducto: tipologia, idsMateriales: materiales.join(","), idOrigen: origen, unidades: unidades, kilos: kilos, marcas: marcas }; //Comprobamos que no exista ya una idCategoria/idUso/idProducto/idOrigen repetido. if(existsProductOnItem(Usuario.actividades, newProduct)) { ClassBlockUI.abrirBlockUIEstandarMensaje("Error. No es posible añadir esta combinación de Producto/Origen porque ya existe en su ficha de adhesion. Debe borrar primero el producto antes de poder volver a añadirlo.", true, undefined, ""); return; } Usuario.actividades.push(newProduct); if (origen == 3) { //id++; Usuario.actividades.push({ id: id+1, idCategoria: categoria, idUso: uso, idProducto: tipologia, idsMateriales: materiales.join(","), idOrigen: 6, unidades: 0, kilos: 0, marcas: marcas }); } if ($(".actividad[data-id='" + categoria + "']").length == 0) { $("#actividades").append("
" + categoriaTxt + "
"); } if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "']").length == 0) { $(".actividad[data-id='" + categoria + "']").append("
" + usoTxt + "
"); } if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "'] .actividad-productos").length == 0) { $(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "']").append("
"); } if ($(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "'] .actividad-productos .actividad-producto[data-id='" + tipologia + "']").length == 0) { $(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "'] .actividad-productos").append("
" + tipologiaTxt + "
"); } const elemProductos = $(".actividad[data-id='" + categoria + "'] .actividad-categoria-datos[data-id='" + uso + "'] .actividad-productos .actividad-producto[data-id='" + tipologia + "']"); let marcasTxt = ""; if ($(".gestinaBody").length > 0) marcasTxt += "
Marca/s: "+marcas; let html = '
' + '
' + 'Origen: ' + origenTxt + marcasTxt + '
Materiales: '+materialesTxt+'
' + '
' + '
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', ""); $("#frmActividadMateriales").val(0); $("#frmActividadMateriales").selectpicker("refresh"); $(".modal").modal("hide"); $(".actividad-producto-eliminar:not(.tooltipstered)").tooltipster({ animation: 'grow', interactive: true, position: 'bottom' }); } }); } static initNuevaActividadScrap(tipologias) { Usuario.tipologiasScrap = tipologias; const elementCategoria = $("#frmActividadScrapCategoria"); const elementUso = $("#frmActividadScrapUso"); const elementTipologia = $("#frmActividadScrapTipologia"); $(document).ready(function() { elementCategoria.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { if (isSelected === null) return; onChangeCategoriaUso(); }); elementUso.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { if (isSelected === null) return; onChangeCategoriaUso(); }); function onChangeCategoriaUso() { const categoria = elementCategoria.val(); const uso = elementUso.val(); const tipologias = Usuario.tipologias[categoria][uso]; elementTipologia.empty(); if (tipologias == undefined) { elementTipologia.prop("disabled", true); elementTipologia.append( ""); } else { elementTipologia.prop("disabled", false); elementTipologia.append( ""); tipologias.forEach(function(element) { elementTipologia.append( ""); }); } elementTipologia.val(""); elementTipologia.selectpicker("refresh"); } }); $("body").on("click", "#frmActividadScrapAnadir", function(e) { e.preventDefault(); let opciones_validacion = {showLabels: false}; const validacion = $("#frmActividadScrap").validate(opciones_validacion); var extraErrores = ""; if (!$("#frmActividadScrap").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 scrap = $("#frmActividadScrapEmpresa").val(); const scrapTxt = $("#frmActividadScrapEmpresa").find("option:selected").text(); const categoria = elementCategoria.val(); const categoriaTxt = elementCategoria.find("option:selected").text(); const uso = elementUso.val(); const usoTxt = elementUso.find("option:selected").text(); const tipologia = elementTipologia.val(); const tipologiaTxt = elementTipologia.find("option:selected").text(); let id = 0; $.each(Usuario.actividadesScrap, function (i, e) { id = Math.max(id, e.id); }); id++; const newProduct = { id: id, idEmpresa: scrap, idCategoria: categoria, idUso: uso, idProducto: tipologia, }; //Comprobamos que no exista const existe = Usuario.actividadesScrap.some(it => normalizeItemValues(it.idCategoria) === normalizeItemValues(newProduct.idCategoria) && normalizeItemValues(it.idUso)=== normalizeItemValues(newProduct.idUso) && normalizeItemValues(it.idProducto) === normalizeItemValues(newProduct.idProducto) && normalizeItemValues(it.idEmpresa) === normalizeItemValues(newProduct.idEmpresa) ); if(existe) { ClassBlockUI.abrirBlockUIEstandarMensaje("Error. No es posible añadir esta combinación porque ya existe en su ficha de adhesion. Debe borrar primero el producto antes de poder volver a añadirlo.", true, undefined, ""); return; } Usuario.actividadesScrap.push(newProduct); $("#frmActividadScrap")[0].reset(); $("#frmActividadScrap .selectpicker").selectpicker('val', ""); $(".modal").modal("hide"); const eliminar = '
'; $("#tabla-scrap tbody").append("" + ""+scrapTxt+"" + ""+categoriaTxt+"" + ""+usoTxt+"" + ""+tipologiaTxt+"" + ""+eliminar+"" + ""); $(".actividad-scrap-eliminar:not(.tooltipstered)").tooltipster({ animation: 'grow', interactive: true, position: 'bottom' }); }); } static initAdhesionPaso3() { $("#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 initAdhesionPaso4() { $(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 initAdhesionPaso5() { $("body").on("change", "input[name='frmAdhesion5TipoPep'], select#tipoPEP", function(e) { const tipo = $(this).val()*1; const checked = tipo == 1; $("#tipo-pep-elaborado").toggleClass("d-none", !checked); }); $("#btns-adhesion").on("click", "#btn-siguiente", function(e) { e.preventDefault(); let extraErrores = ""; if ($("input[name='frmAdhesion5TipoPep']:checked").length == 0) { ClassBlockUI.abrirBlockUIEstandarMensaje("Debe seleccionar alguna opción sobre el PEP", true); return; } if ($("input[name='frmAdhesion5TipoPep']:checked").val() == 1) { let erroresPep = ""; $.each($("#tabla-pep tbody tr"), function (i, e) { if ($(e).find("input[type='radio']:checked").length == 0) { erroresPep += $(e).find("td:nth-child(1)").text()+"
"; } }); if (erroresPep != "") { ClassBlockUI.abrirBlockUIEstandarMensaje("Elija una opción para:
"+erroresPep, true); return; } } if (!$("#frmAdhesion5NiIdeaSDDR").is(":checked")) { let erroresSDDR = ""; $.each($("#tabla-sddr tbody tr"), function (i, e) { if ($(e).find("input[type='radio']:checked").length == 0) { erroresSDDR += $(e).find("td:nth-child(1)").text()+"
"; } }); if (erroresSDDR != "") { ClassBlockUI.abrirBlockUIEstandarMensaje("Elija una opción para:
"+erroresSDDR, true); return; } } /*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 sunrepack 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() { $(".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.sunrepack.eu/es/usuario/trimestres.html?anyo="+$(this).val(); }); }); $("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, .input-porc-reciclado, .input-vida-util, .input-ciclos", function () { $(this).removeClass("error"); }); $("body").on("keyup", ".input-unidades-kilos", function () { const elementProducto = $(this).parents(".actividad-producto-datos"); 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 hayError = false; $.each(trimestre.find(".actividad-producto-datos"), function (i, e) { let unidades = $(e).find(".input-unidades").val().replace(",", "."); let vidaUtil = $(e).find(".input-vida-util").val().replace(",", "."); let ciclos = $(e).find(".input-ciclos").val().replace(",", "."); let kilos = $(e).find(".total-kilos-producto").val().replace(",", "."); let idProducto = $(e).parents(".actividad-producto").attr("data-id"); let idOrigen = $(e).attr("data-origen"); 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 (kilos > 0 || unidades > 0) { if (isNaN(vidaUtil) || vidaUtil < 0 || vidaUtil == "") { $(e).find(".input-vida-util").addClass("error"); hayError = true; ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir los años de vida útil", true, undefined); return false; } if (isNaN(ciclos) || ciclos < 0 || ciclos == "") { $(e).find(".input-ciclos").addClass("error"); hayError = true; ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir n.º ciclos/años media", true, undefined); return false; } } /*if (idOrigen*1 == ) { const importados = $(e).closest(".actividad-producto").find(".actividad-producto-datos[data-origen='"++"']"); if (importados.length == 0) //No deberia pasar { hayError = true; ClassBlockUI.abrirBlockUIEstandarMensaje("", 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("".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("", true, undefined); return false; }*/ if (kilos == 0 && unidades > 0) { hayError = true; $(e).find(".total-kilos-producto").addClass("error"); ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir los kilos", true, undefined); return false; } let materiales = []; $.each($(e).find(".actividad-producto-materiales .item-material"), function (i, e){ const materialId = $(e).attr("data-id"); const peso = $(e).find(".input-peso-material").val().replace(",", "."); const porcReciclado = $(e).find(".input-porc-reciclado").val().replace(",", "."); if (peso > 0 && porcReciclado == "") { $(e).find(".input-porc-reciclado").addClass("error"); ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir el % de reciclado", true, undefined); hayError = true; return; } materiales.push({id: materialId, peso: peso, porcReciclado: porcReciclado}); }); actividades.push({ id: idProducto, materiales: materiales, idOrigen: idOrigen, unidades: unidades, vidaUtil: vidaUtil, ciclos: ciclos }); }); 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; const materiales = $("#nuevoMateriales").val(); if (productos[idProducto] == undefined) return; if (materiales.length == 0) { ClassBlockUI.abrirBlockUIEstandarMensaje("Selecciona los materiales", true, undefined); return; } if($("#trimestre_"+idTrimestre).find(".actividad-producto[data-id='"+idProducto+"'] .actividad-producto-datos[data-origen='"+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"); let htmlNuevo = anadirProductoOrigen(producto, idOrigen, materiales); if (idOrigen == 3 && CREAR_EXPORTADO_4B_CON_IMPORTADOS) { htmlNuevo += anadirProductoOrigen(producto, 6, materiales); elementProductos.prepend("
"+htmlNuevo+"
"); } else { elementProductos.append(htmlNuevo); } elementProductos.find("select").selectpicker('refresh'); $.each(elementProductos.find(".actividad-producto-datos"), function(i, e) { actualizaPrecioProducto($(e)); }); $(".modal").modal("hide"); } }); function anadirProductoOrigen(producto, idOrigen, materiales) { const multiplicadorPrecio = idOrigen == 6 ? -1 : 1; const origenTxt = idOrigen == 6 ? "4b. Exportados de Origen 3" : $("#nuevoOrigen option:selected").text(); let htmlNuevo = '
'; htmlNuevo += `
Origen: ${origenTxt}
`; htmlNuevo += '
Materiales:
'; htmlNuevo += `
`; materiales.forEach(materialId => { const material = producto["materiales"][materialId]; if (material == undefined) return; const precioUnidad = Utils.number_format(material.precioUd, {numberOfDecimals: 4, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}).replace(",00000", ""); const precioKg = Utils.number_format(material.precioKg, {numberOfDecimals: 4, decimalSeparator: ',', thousandSeparator: '.', symbol: ''}).replace(",00000", ""); htmlNuevo += `
`; }); htmlNuevo += `
`; htmlNuevo += `
`; htmlNuevo += `
`; htmlNuevo += `
`; htmlNuevo += `
`; htmlNuevo += `
`; htmlNuevo += '
'; //cierra .actividad-producto-materiales 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); 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; $(".error").removeClass("error"); $.each(trimestre.find(".actividad-producto-datos"), function(i, e) { const origen = $(e).attr("data-origen")*1; let totalMaterialesPeso = 0; let totalMateriales = 0; let cantidadItemActual = parseFloat($(e).find(".input-unidades").val().replace(",", ".")*1); if (origen == 6) cantidadTotal -= cantidadItemActual; else cantidadTotal += cantidadItemActual; $.each($(e).find(".item-material"), function(iM, eM) { const precioKg = parseFloat($(eM).find(".input-importe-kg").val().replace(",", ".")*1); const precioUnidad = parseFloat($(eM).find(".input-importe-unidad").val().replace(",", ".")*1); const peso = parseFloat($(eM).find(".input-peso-material").val().replace(",", ".")*1 || 0); const totalPeso = peso*precioKg; const totalUnidades = cantidadItemActual*precioUnidad; const total = totalPeso + totalUnidades; if (origen == 6) { kilosTotal -= peso; totalMaterialesPeso -= peso; } else { kilosTotal += peso; totalMaterialesPeso += peso; } importeTotal += total; totalMateriales += total; $(eM).find(".total-material").val(Utils.number_format(total, {numberOfDecimals: 4, decimalSeparator: ',', thousandSeparator: '.', symbol: ''})); }); $(e).find(".input-importe-total").val(Utils.number_format(totalMateriales, {numberOfDecimals: 4, decimalSeparator: ',', thousandSeparator: '.', symbol: ''})); $(e).find(".total-kilos-producto").removeClass("error"); $(e).find(".total-kilos-producto").val(Utils.number_format(totalMaterialesPeso, {numberOfDecimals: 3, decimalSeparator: ',', thousandSeparator: '.', symbol: ''})); }); if (importeTotal < importeMinimoTrimestre && idTrimestre == 9999) importeTotal = importeMinimoTrimestre; if (idTrimestre == 9999) { const totalOtros = Math.abs($("#total-otros-trimestres-"+idTrimestre).val().replace(",", ".")*1 || 0); importeTotal -= totalOtros; } $("#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: ''})); } } static initFacturas() { $(document).ready(function() { $('#facturaAnyo').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { if (isSelected === null) return; window.location = "https://www.sunrepack.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, }); }); }); } }