class Web { body = null; static init() { $(document).ready(function() { Web.body = $("body"); Web.body.on("click", ".btn-abre-bloque", function(e) { e.preventDefault(); Web.abreBloque($(this).attr("data-bloque")); }); Web.body.on("click", ".cerrar-bloque", function(e) { e.preventDefault(); Web.cerrarBloque($(this).parents(".bloque-flotante").attr("id")); }); }); } static refrescaTabla(idTabla) { $(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); $(".inputIconLupa, .inputMostrar, #filtros").removeClass("d-none"); $(".form-control").removeClass().addClass("form-control-b"); var numItems = 0; if (idTabla) { let tabla = eval("tabla"+idTabla); if (typeof tabla != "undefined") { numItems = tabla.page.info().recordsDisplay; } else if ($.fn.dataTable.isDataTable( '#'+idTabla )) { tabla = $('#'+idTabla).DataTable(); numItems = tabla.page.info().recordsDisplay; } let itemsMostrando = $("#"+idTabla+"_length select").length > 0 ? $("#"+idTabla+"_length select").val() : 10; if (numItems > itemsMostrando) { $("#"+idTabla+"_wrapper .pagination-footer").removeClass("opacity-0"); } else { $("#"+idTabla+"_wrapper .pagination-footer").addClass("opacity-0"); } //Formato movil const numColumnaMv = 1; const numColumnas = tabla.columns()[0].length; if ($("#"+idTabla).hasClass("tablaMovil")) { const w = $(window).outerWidth(); if (w <= 767) //Ocultar { for(let i = 0; i < numColumnas; i++) { tabla.column(i).visible((numColumnaMv == i ? true : false)); } } else //Mostrar { for(let i = 0; i < numColumnas; i++) { const $th = $(tabla.column(i).header()); // referencia al const txt = $th.text(); const hasNoVisDefault = $th.hasClass("noVisDefault"); // Si el texto es 'oculto', o es la columna de MV, o tiene clase noVisDefault → ocultar let visible = !(txt === "oculto" || numColumnaMv === i); if (visible) { visible = tabla.column(i).visible(); } tabla.column(i).visible(visible); } } } } } static notify(msg, error = false) { const type = error ? "danger" : "success"; console.log(type); $.notify({ message: msg, }, { type: type, placement: { from: "bottom", align: "right" }, delay: 2000 }); } static abreBloque(bloque) { $(".overlay").addClass("active"); $("#"+bloque).addClass("open"); } static cerrarBloque(bloque) { $(".overlay").removeClass("active"); $("#"+bloque).removeClass("open"); } static initMapa(MarkerClusterer, locations, idEmpresa, puedeSeleccionarPuntos = false){ Web.gmLocations = locations; Web.gmMap = null; Web.gmIW = null; Web.gmMarkers = null; Web.gmMarkerCluster = null; Web.gmMarkersById = {}; Web.gmSelectedMarkers = new Set(); $(document).ready(function () { initMap(MarkerClusterer); Web.body.on("click", "#cambiar-fecha-seleccionados", function(e) { Web.modalActuacionMuestra = ClassBlockUI.abrirBlockUIEstandar("bloqueCambiarFechaMapa", null, "Asignar fecha", "modal700"); $("#frm-proyecto-muestras-mapa").validate().resetForm(); $("#muestreadores-seleccionados").html(""); let texto = "Se va a asignar la fecha a las muestras de los puntos seleccionados, si la muestra ya estaba muestreada la no se le aplicará ningún cambio."; texto += "

"+Web.gmSelectedMarkers.size + " punto/s seleccionados."; $("#bloqueCambiarFechaMapa .textoSeccion").html(texto); $("#frm-proyecto-muestras-mapa-idsPuntos").val(Array.from(Web.gmSelectedMarkers).join(",")); }); const source = function(request, response) { let idsIgnore = []; $.each($(".item-muestreador"), function (i, e) { idsIgnore.push($(e).attr("data-id")); }) $.ajax({ url: "ajax/EmpresasMuestreadores.buscar.php?CSRF=" + CSRF, dataType: "json", data: { term : request.term, idEmpresaMuestreo : idEmpresa, idsIgnorar: idsIgnore.join(",") }, success: response }); }; Web.body.on("click", ".item-muestreador i", function(e) { $(this).parent().remove(); }); Web.nombre_AM_GM = Utils.preparaAutoCompleteBuscar(undefined, "frm-proyecto-muestras-mapa-muestreador", undefined, function(item){ if (item === undefined) return; const buscar = $("#frm-proyecto-muestras-mapa-muestreador"); if((item?.id ?? 0) < 0){ item.id = 0; item.value = ""; Web.nombre_AM_GM.change(undefined, {"ui":{"item":{id:0, value:""}}}); } $("#"+frm+"-idMuestreador").val(item?.id ?? 0); //buscar.val(item?.value ?? ""); buscar.val(""); buscar.prop("readonly",false); buscar.removeClass("readonly"); setTimeout(function(){ buscar.val(""); buscar.blur(); }, 10); if (item?.value) { const muestreadores = "
"+item.value+"
"; $("#muestreadores-seleccionados").append(muestreadores); } }, function (buscar) {}, "Web.idEmpresaMuestreo", source, {"showNoResults": false, "minLength":0}); Web.body.on("click", "#frm-proyecto-muestras-mapa-btnGuardarMuestras", function(e) { e.preventDefault(); let idsMuestreadores = []; $.each($(".item-muestreador"), function (i, e) { idsMuestreadores.push($(e).attr("data-id")); }); if (idsMuestreadores.length === 0) { ClassBlockUI.abrirBlockUIEstandarMensaje("Debe seleccionar al menos un muestreador", true); return; } $("#frm-proyecto-muestras-mapa-idsMuestreadores").val(","+idsMuestreadores.join(",")+","); const esperePorFavor = Utils.sendStandardAjax("frm-proyecto-muestras-mapa", "ajax/ProyectosPuntosMapa.cambiarFechaSeleccionados.php?",{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"] >= 0){ Web.notify(data["error_message"], data["error_number"]<0); $(".modal").modal("hide"); updateFechaSelectedMarkers(data["fecha"]); resetSelectedMarkers(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); $("#restablecer-seleccionados").click(resetSelectedMarkers); $("#buscador-mapa").pressEnter(function(){ const txt = $("#buscador-mapa").val(); if (txt.length <= 0) return; const punto = Web.gmLocations.find(p => p.codPuntoMuestreo === txt); if (punto == undefined) { Web.notify("No se han encontrado resultados", true); return; } const position = { lat: parseFloat(punto.lat), lng: parseFloat(punto.lng) }; Web.gmMap.panTo(position); Web.gmMap.setZoom(16); const marker = Web.gmMarkersByPoint[txt]; let htmlWindow = getHTMLInfoWindow(punto); Web.gmIW.setContent(htmlWindow); Web.gmIW.open(Web.gmMap, marker); }); const elementBuscarProyecto = $("#frm-buscar-proyecto"); Web.AC_proyectoMapa = Utils.preparaAutoCompleteBuscar(undefined, "frm-buscar-proyecto", undefined, function(item){ elementBuscarProyecto.data("id", item?.id ?? 0); //buscar.val(""); elementBuscarProyecto.prop("readonly",false); elementBuscarProyecto.removeClass("readonly"); if ((item?.id ?? 0) > 0) { setTimeout(function(){ //buscar.val(""); elementBuscarProyecto.blur(); }, 10); } filtrarMarkersPorProyecto(item?.id); }, function (buscar) { buscar.val(""); buscar.trigger("focus"); filtrarMarkersPorProyecto(undefined); }, "Web.idProyectoBuscar", "ajax/Mapa.buscarProyectos.php?CSRF="+CSRF, {"showNoResults": false, "minLength": 0}); }); function filtrarMarkersPorProyecto(idProyecto) { if (!Web.gmMarkers || Web.gmMarkers.length === 0) return; // Limpiar el cluster actual if (Web.gmMarkerCluster) { Web.gmMarkerCluster.clearMarkers(); } // Filtrar markers que pertenecen al proyecto const markersFiltrados = Web.gmMarkers.filter(m => !idProyecto || m.idProyecto == idProyecto ); // Crear nuevo cluster con los markers filtrados Web.gmMarkerCluster = new MarkerClusterer({ markers: markersFiltrados, map: Web.gmMap }); // Ajustar bounds if (markersFiltrados.length > 0) { const bounds = new google.maps.LatLngBounds(); markersFiltrados.forEach(marker => bounds.extend(marker.getPosition())); Web.gmMap.fitBounds(bounds); } } const defaultIcon = { url: "https://maps.google.com/mapfiles/ms/icons/red-dot.png" }; const selectedIcon = { url: "https://maps.google.com/mapfiles/ms/icons/blue-dot.png" }; async function initMap(MarkerClusterer) { // Request needed libraries. /*const { Map, InfoWindow } = await google.maps.importLibrary("maps"); const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary( "marker", );*/ const firstKey = Object.keys(Web.gmLocations)[0]; // "1" (como string) var lat = parseFloat(Web.gmLocations[firstKey] !== undefined ? Web.gmLocations[firstKey].lat : 0); var lng = parseFloat(Web.gmLocations[firstKey] !== undefined ? Web.gmLocations[firstKey].lng : 0); Web.gmMap = new google.maps.Map(document.getElementById("mapaPuntosMuestreo"), { zoom: 6, center: {lat: lat, lng: lng}, streetViewControl: false, mapId: "google_map" }); Web.gmIW = new google.maps.InfoWindow({ content: "", disableAutoPan: true, }); Web.gmMarkers = []; Web.gmMarkersById = {}; Web.gmMarkersByPoint = []; Object.entries(Web.gmLocations).forEach(function([key, value], i) { const position = {lat: parseFloat(value.lat), lng: parseFloat(value.lng)}; /* const label = "A"; //Solo 1 caracter const pinGlyph = new google.maps.marker.PinElement({ //glyph: label, glyphColor: "white" }); /*const marker = new google.maps.marker.AdvancedMarkerElement({ position, content: pinGlyph.element });*/ const marker = new google.maps.Marker({ position, icon: Web.gmSelectedMarkers.has(value.idPunto) ? selectedIcon : defaultIcon, map: Web.gmMap }); marker.idProyecto = value.idProyecto; marker.value = value; marker.addListener("click", (e) => { if (puedeSeleccionarPuntos && (e.domEvent.ctrlKey || e.domEvent.metaKey)) { const markerId = value.idPunto; if (Web.gmSelectedMarkers.has(markerId)) { // Desmarcar Web.gmSelectedMarkers.delete(markerId); marker.setIcon(defaultIcon); } else { // Marcar Web.gmSelectedMarkers.add(markerId); marker.setIcon(selectedIcon); } updateSelectedPointsText(); } else { let htmlWindow = getHTMLInfoWindow(marker.value); Web.gmIW.setContent(htmlWindow); Web.gmIW.open(Web.gmMap, marker); } }); Web.gmMarkersById[value.idPunto] = marker; Web.gmMarkers.push(marker); }); // Add a marker clusterer to manage the markers. Web.gmMarkerCluster = new MarkerClusterer({ markers: Web.gmMarkers, map: Web.gmMap }); } function updateFechaSelectedMarkers(nuevaFecha) { Web.gmSelectedMarkers.forEach(idPunto => { const marker = Web.gmMarkersById[idPunto]; if (!marker) return; // Actualizamos el objeto value asociado al marker marker.value.fecha = nuevaFecha; // Si el InfoWindow de ese marker está abierto, actualizarlo if (Web.gmIW.anchor === marker) { const nuevoHTML = getHTMLInfoWindow(marker.value); Web.gmIW.setContent(nuevoHTML); } }); } function resetSelectedMarkers() { Web.gmSelectedMarkers.forEach(idPunto => { const marker = Web.gmMarkersById[idPunto]; if (marker) { marker.setIcon(defaultIcon); } }); Web.gmSelectedMarkers.clear(); updateSelectedPointsText(); } function updateSelectedPointsText() { const el = document.getElementById("puntos-seleccionados-mapa"); const total = Web.gmSelectedMarkers.size; if (total === 0) { el.innerText = "0 seleccionados"; $(".container-seleccionados-mapa").addClass("d-none"); return; } $(".container-seleccionados-mapa").removeClass("d-none"); el.innerText = `Seleccionados: ${total}`; } function getHTMLInfoWindow(value) { let htmlWindow = "
"+value["proyecto"]+"
"; htmlWindow += "
"; htmlWindow += "
Calendario"+value["fecha"]+"
"; htmlWindow += "
Cristal"+value["muestreosRealizados"]+"
"; htmlWindow += "Location"+value["codPuntoMuestreo"]+""; htmlWindow += "
"; return htmlWindow; } } static initBloquearDesbloquearUsuarios(tabla) { $(document).ready(function () { Web.body.on("click", "#" + tabla + " .bloquear-desbloquear", function (e) { e.preventDefault(); const id = $(this).attr("data-id") * 1; const nuevoEstado = $(this).attr("data-accion") * 1; const nombre = $(this).attr("data-nombre"); const txt = nuevoEstado === -1 ? "Va a bloquear al usuario %1%, el usuario perderá el acceso al panel, ¿Desea continuar?" : "Va a desbloquear al usuario %1%, el usuario volverá a tener acceso al panel, ¿Desea continuar?"; ClassBlockUI.abrirBlockUIConfirm(txt.replace("%1%", nombre), "Continuar", function () { $(".modal").modal("hide"); Utils.sendStandardAjax(undefined, "ajax/Usuarios.bloquearDesbloquear.php?id=" + id+"&accion="+nuevoEstado, { "successCallback": function (data) { $(".modal").modal("hide"); if (data["error_number"] > 0) { Web.notify(data["error_message"], false); if (tabla) $("#" + tabla).DataTable().ajax.reload(); } else { Web.notify(data["error_message"], true); } } }); }, "Cancelar"); }); }); } static initListadoProyectos(urlAjax, tabla) { $(document).ready(function() { $(".btnNuevoProyecto").click(function(){ window.location = "gestionar-proyecto.html"; }); $(".btnExportar").click(function(){ window.location = "exportar/exportar-proyectos.php?buscar="+$("#tablaProyectos_wrapper .dt-search input").val(); }); Web.body.on("click", "#" + tabla + " .eliminar-proyecto", function (e) { e.preventDefault(); const id = $(this).attr("data-id") * 1; const nombre = $(this).attr("data-nombre"); const txt = "Va a eliminar el proyecto %1%, ¿Desea continuar?"; ClassBlockUI.abrirBlockUIConfirm(txt.replace("%1%", nombre), "Continuar", function () { $(".modal").modal("hide"); Utils.sendStandardAjax(undefined, "ajax/Proyectos.eliminar.php?id=" + id, { "successCallback": function (data) { $(".modal").modal("hide"); if (data["error_number"] > 0) { Web.notify(data["error_message"], false); if (tabla) $("#" + tabla).DataTable().ajax.reload(); } else { Web.notify(data["error_message"], true); } } }); }, "Cancelar"); }); }); } static initListadoMuestreos() { $(document).ready(function() { $(".btnExportar").click(function(){ window.location = "exportar/exportar-muestreos.php?buscar="+$("#tablaMuestreos_wrapper .dt-search input").val(); }); }); } static iniGestionarProyecto(idItem, nombre, idTecnico, nombreTecnico, idProyecto) { Web.idCliente = 0; $(document).ready(function() { const frmSocios = "frm-proyecto-socio"; Web.body.on("click", ".btn-editar-socio, .btn-agregar-socio", function(e){ const id = $(this).attr("data-id"); const porcentaje = $(this).attr("data-porcentaje"); const idSocio = $(this).attr("data-idsocio"); $("#"+frmSocios+"-idProyectoEmpresa").val(id); $("#"+frmSocios+"-idProyecto").val(idProyecto); $("#"+frmSocios+"-archivo_precios").val(""); let titulo = ""; if (id > 0) { $("#"+frmSocios+"-idEmpresa").val(idSocio); $("#"+frmSocios+"-porcentaje").val(porcentaje); titulo = "Editar socio"; } else { $("#"+frmSocios+"-porcentaje").val(""); titulo = "Añadir socio"; } ClassBlockUI.abrirBlockUIEstandar("bloqueProyectoSocios", undefined, titulo, "modal500"); }); Web.body.on("click", "#"+frmSocios+"-btnGuardarSocio", function(e){ Utils.sendStandardAjax(frmSocios, "ajax/ProyectosEmpresas.guardar.php", { "successCallback": function (data){ if(data["error_number"]>=0) { $(".modal").modal("hide"); $("#tablaSocios").DataTable().ajax.reload(); Web.notify(data["error_message"], false); } else ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } }); }); Web.body.on("click", ".btn-eliminar-socio", function (e) { e.preventDefault(); const id = $(this).attr("data-id") * 1; const nombre = $(this).attr("data-socio"); const txt = "Va a eliminar al socio %1% del proyecto, ¿Desea continuar?"; ClassBlockUI.abrirBlockUIConfirm(txt.replace("%1%", nombre), "Continuar", function () { $(".modal").modal("hide"); Utils.sendStandardAjax(undefined, "ajax/ProyectosEmpresas.eliminar.php?id=" + id, { "successCallback": function (data) { $(".modal").modal("hide"); Web.notify(data["error_message"], data["error_number"] < 0); if (data["error_number"] > 0) { $("#tablaSocios").DataTable().ajax.reload(); } } }); }, "Cancelar"); }); const frm = "frm-proyecto"; $("#"+frm+"-archivo").change(function () { $("#"+frm+"-numAnalisisContratados, #"+frm+"-numPuntosMuestreoContratados").prop("readonly", true).val("").removeClass("required"); }); Web.nombre_AC_GP = Utils.preparaAutoCompleteBuscar(undefined, frm+"-cliente", undefined, function(item){ $("#"+frm+"-idCliente").val(Web.idCliente); }, function (buscar) { const modal = ClassBlockUI.abrirBlockUIConfirm( "¿Deseas deselecionar el cliente del proyecto para elegir otro?", "Aceptar", function () { Web.nombre_AC_GP.change(undefined, {"ui":{"item":{}}}); modal.modal("hide"); }, "Cancelar", ) }, "Web.idCliente", "ajax/Clientes.buscar.php?CSRF="+CSRF, {"showNoResults": false, "minLength": 0}); if(idItem){ Web.nombre_AC_GP.select(undefined, {item:{id: idItem, value:nombre}}); } Web.tecnico_AC_GP = Utils.preparaAutoCompleteBuscar(undefined, frm+"-tecnico", undefined, function(item){ $("#"+frm+"-idTecnico").val(item?.id ?? 0); }, function (buscar) { const modal = ClassBlockUI.abrirBlockUIConfirm( "¿Deseas deselecionar al técnico para elegir otro?", "Aceptar", function () { Web.tecnico_AC_GP.change(undefined, {"ui":{"item":{}}}); modal.modal("hide"); }, "Cancelar", ) }, "Web.idTecnico", "ajax/Tecnicos.buscar.php?CSRF="+CSRF, {"showNoResults": false, "minLength": 0}); if(idTecnico){ Web.tecnico_AC_GP.select(undefined, {item:{id: idTecnico, value:nombreTecnico}}); } $(".btnGuardarProyecto").click(function(){ Utils.sendStandardAjax(frm, "ajax/Proyectos.guardar.php", {"successCallback": "data-location"}); }); $(".btnCancelar").click(function(){ window.location = "proyectos.html"; }); }); } static iniGestionarProyectoPuntos(idItem, tabla) { $(document).ready(function() { const frm = "frm-proyecto-puntos"; $(".btnExportarProyecto").click(function(){ //window.location = "exportar/exportar-puntos-muestreo.php?proyecto="+idItem+"&buscar="+$("#"+tabla+"_wrapper .dt-search input").val(); window.location = "exportar/exportar-proyecto.php?id="+idItem; }); $(".btnAbreExportarProyecto").click(function(){ ClassBlockUI.abrirBlockUIEstandar("bloqueExportarProyecto", undefined, "Exportar", "modal500"); }); $("input[name='tipo-exportar']").change(function(){ const tipo = $("input[name='tipo-exportar']:checked").val() * 1; if (tipo === 4 || tipo === 3) $("#fecha-exportar").removeClass("d-none"); else $("#fecha-exportar").addClass("d-none"); }); $("#btn-exportar-bloque").click(function(){ const tipo = $("input[name='tipo-exportar']:checked").val() * 1; const mes = $("#exportar-mes").val(); const anyo = $("#exportar-anyo").val(); let url = ""; if (tipo === 1) url = "exportar/exportar-proyecto.php?id="+idItem; else if (tipo === 2) url = "exportar/exportar-precio-acumulado.php?id="+idItem; else if (tipo === 3) url = "exportar/exportar-parametro.php?id="+idItem+"&mes="+mes+"&anyo="+anyo; else if (tipo === 4) url = "exportar/exportar-ejecutados-fecha.php?id="+idItem+"&mes="+mes+"&anyo="+anyo; else if (tipo === 5) url = "exportar/exportar-contabilidad.php?id="+idItem; const modalEspere = ClassBlockUI.abrirBlockUIEsperePorFavor(); const newWindow = window.open(url); const timer = setInterval(function() { if (newWindow.closed) { clearInterval(timer); modalEspere.modal("hide"); } }, 500); }); $(".btnVolverListado").click(function(){ window.location = "proyectos.html"; }); $(".btnNuevoPunto").click(function(){ Web.abrirFormularioPuntoMuestro(frm, {"gpp_idProyecto": idItem}, false) }); $("#frm-proyecto-btn-editar").click(function(){ window.location = "gestionar-proyecto.html?id="+idItem; }); Web.body.on("click", ".btn-editar-punto", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/ProyectosPuntos.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { Web.abrirFormularioPuntoMuestro(frm, data["item"], true, data["valores"]); } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", "#"+frm+"-btnGuardarPuntoMuestreo", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/ProyectosPuntos.guardar.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalPuntoMuestreo.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static abrirFormularioPuntoMuestro(frm, item, nuevoEditar, valores = {}){ Web.modalPuntoMuestreo = ClassBlockUI.abrirBlockUIEstandar("bloquePuntoMuestreo", null, (nuevoEditar ? "Editar Punto de Muestreo" : "Nuevo Punto de Muestreo"), "modal700"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idProyectoPunto").val(item["gpp_idProyectoPunto"]); $("#"+frm+"-idProyecto").val(item["gpp_idProyecto"]); $("#"+frm+"-codPuntoMuestreo").val(item["gpp_codPuntoMuestreo"]); $("#"+frm+"-nombrePuntoMuestreo").val(item["gpp_nombrePuntoMuestreo"]); $("#"+frm+"-utmx").val(item["gpp_utmx"]); $("#"+frm+"-utmy").val(item["gpp_utmy"]); $("#"+frm+"-huso").val(item["gpp_huso"]); $("#"+frm+"-observaciones").val(item["gpp_observaciones"]); $.each(valores, function(key, value){ $("#"+frm+"-ec-"+key).val(value); }); } static iniGestionarProyectoPuntosMuestas(idItem, tabla, desdeCalendario = false) { $(document).ready(function() { const frm = "frm-proyecto-muestra"; $(".btnExportarProyecto").click(function(){ window.location = "exportar/exportar-muestras.php?punto="+idItem+"&buscar="+$("#"+tabla+"_wrapper .dt-search input").val(); }); $(".btnVolverListado").click(function(){ history.back() }); $(".btnNuevaMuestra").click(function(){ Web.abrirFormularioMuestras(frm, {"gppm_idProyectoPunto": idItem}, false) }); Web.body.on("click", ".item-muestreador i", function(e) { $(this).parent().remove(); }); Web.body.on("click", ".btn-actuacion-muestra", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const newdate = $(this).attr("data-newdate"); const [dia, mes, anyo] = newdate.split("/"); const item = { id: id, dia: dia, mes: mes, anyo: anyo } $("#frm-actuacion-muestra-idPunto").val(idItem); Web.abrirFormularioActuacion("frm-actuacion-muestra", item) }); Web.body.on("click", ".btn-actuacion-nueva-muestra", function(e) { e.preventDefault(); const item = { id: 0, dia: "", mes: "", anyo: "" } $("#frm-actuacion-muestra-idPunto").val(idItem); Web.abrirFormularioActuacion("frm-actuacion-muestra", item) }); Web.body.on("click", "#frm-actuacion-muestra-btnGuardarMuestras", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax("frm-actuacion-muestra", "ajax/ActuacionMuestra.enviar.php",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalActuacionMuestra.modal("hide"); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); Web.body.on("click", ".btn-editar-muestra", function(e) { e.preventDefault(); if (desdeCalendario) $(".btnCalendarButtonClose").trigger("click"); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/ProyectosMuestrasPuntos.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { Web.abrirFormularioMuestras(frm, data["item"], true) } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", "#"+frm+"-btnGuardarMuestras", function(e) { e.preventDefault(); let idsMuestreadores = []; $.each($(".item-muestreador"), function (i, e) { idsMuestreadores.push($(e).attr("data-id")); }); if (idsMuestreadores.length > 0) $("#"+frm+"-idsMuestreadores").val(","+idsMuestreadores.join(",")+","); else $("#"+frm+"-idsMuestreadores").val(""); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/ProyectosMuestrasPuntos.guardar.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalPuntoMuestreo.modal("hide"); if (tabla) $("#"+tabla).DataTable().ajax.reload(); if (desdeCalendario) Web.fullCalendar.refetchEvents(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static abrirFormularioActuacion(frm, item){ const titulo = item.id > 0 ? "Solicitar cambio de fecha" : "Solicitud nueva muestra"; Web.modalActuacionMuestra = ClassBlockUI.abrirBlockUIEstandar("bloqueActuacionMuestra", null, titulo, "modal600"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idProyectoPuntoMuestra").val(item.id); $("#"+frm+"-fechaPrevistaDia").val(item.dia); $("#"+frm+"-fechaPrevistaMes").val(item.mes); $("#"+frm+"-fechaPrevistaAno").val(item.anyo); } static abrirFormularioMuestras(frm, item, nuevoEditar){ Web.modalPuntoMuestreo = ClassBlockUI.abrirBlockUIEstandar("bloqueMuestra", null, (nuevoEditar ? "Editar Muestra" : "Nueva Muestra"), "modal700"); var isoDate = ""; if(item["gppm_fechaReal"]){ const date = new Date(Number(item["gppm_fechaReal"])*1000); isoDate = date.getFullYear() + "-" + String(date.getMonth() + 1).padStart(2, "0") + "-" + String(date.getDate()).padStart(2, "0") + "T" + String(date.getHours()).padStart(2, "0") + ":" + String(date.getMinutes()).padStart(2, "0"); } $("#"+frm).validate().resetForm(); $("#"+frm+"-idProyectoPuntoMuestra").val(item["gppm_idProyectoPuntoMuestra"]); $("#"+frm+"-idProyecto").val(item["gppm_idProyecto"]); $("#"+frm+"-idProyectoPunto").val(item["gppm_idProyectoPunto"]); $("#"+frm+"-fechaPrevistaDia").val(item["gppm_fechaPrevistaDia"]); $("#"+frm+"-fechaPrevistaMes").val(item["gppm_fechaPrevistaMes"]); $("#"+frm+"-fechaPrevistaAno").val(item["gppm_fechaPrevistaAno"]); $("#"+frm+"-fechaReal").val(isoDate); $("#"+frm+"-observaciones").val(item["gppm_observaciones"]); $("#"+frm+"-tipo").val(item["gppm_tipo"]); $("#"+frm+"-control").val(item["gppm_control"]); let muestreadores = ""; $.each(item["muestreadores"], function (i, e) { muestreadores += "
"+e.nombre+"
"; }); $("#muestreadores-seleccionados").html(muestreadores); //EMPRESA MUESTREADORA //Preparar el campo if(Web.nombre_AEM_GM===undefined){ Web.nombre_AEM_GM = Utils.preparaAutoCompleteBuscar(undefined, frm+"-empresaMuestreo", undefined, function(item){ $("#"+frm+"-idEmpresaMuestreo").val(item?.id ?? 0); $("#"+frm+"-empresaMuestreo").val(item?.value ?? ""); }, function (buscar) { const modal = ClassBlockUI.abrirBlockUIConfirm( "¿Deseas deseleccionar el socio de muestreo para elegir otra?", "Aceptar", function () { modal.modal("hide"); $("#muestreadores-seleccionados").html(""); Web.nombre_AEM_GM.change(undefined, {"ui":{"item":{id:0, value:""}}}); }, "Cancelar", ) }, "Web.idEmpresaMuestreo", "ajax/Empresas.buscar.php?CSRF="+CSRF, {"showNoResults": false, "minLength":0}); } //Asignar valor por defecto if(item["gppm_idEmpresaMuestreo"]){ Web.nombre_AEM_GM.select(undefined, {item:{id: item["gppm_idEmpresaMuestreo"], value:item["empresa"]}}); } else { Web.nombre_AEM_GM.change(undefined, {"ui":{"item":{id:0, value:""}}}); } //MUESTREADOR //Preparar el campo if(Web.nombre_AM_GM===undefined){ const source = function(request, response) { let idsIgnore = []; $.each($(".item-muestreador"), function (i, e) { idsIgnore.push($(e).attr("data-id")); }) $.ajax({ url: "ajax/EmpresasMuestreadores.buscar.php?CSRF=" + CSRF, dataType: "json", data: { term : request.term, idEmpresaMuestreo : $("#"+frm+"-idEmpresaMuestreo").val(), idsIgnorar: idsIgnore.join(",") }, success: response }); }; Web.nombre_AM_GM = Utils.preparaAutoCompleteBuscar(undefined, frm+"-muestreador", undefined, function(item){ if (item === undefined) return; const buscar = $("#"+frm+"-muestreador"); if((item?.id ?? 0) < 0){ item.id = 0; item.value = ""; Web.nombre_AM_GM.change(undefined, {"ui":{"item":{id:0, value:""}}}); } $("#"+frm+"-idMuestreador").val(item?.id ?? 0); //buscar.val(item?.value ?? ""); buscar.val(""); buscar.prop("readonly",false); buscar.removeClass("readonly"); setTimeout(function(){ buscar.val(""); buscar.blur(); }, 10); if (item?.value) { const muestreadores = "
"+item.value+"
"; $("#muestreadores-seleccionados").append(muestreadores); } }, function (buscar) { /*const modal = ClassBlockUI.abrirBlockUIConfirm( "", "", function () { modal.modal("hide"); Web.nombre_AM_GM.change(undefined, {"ui":{"item":{id:0, value:""}}}); }, "", )*/ }, "Web.idEmpresaMuestreo", source, {"showNoResults": false, "minLength":0}); } if ($("#"+frm+"-tecnico").length > 0) { const idTecnico = item["idTecnico"]; const nombreTecnico = item["nombreTecnico"]; Web.tecnico_AC_GP = Utils.preparaAutoCompleteBuscar(undefined, frm+"-tecnico", undefined, function(item){ $("#"+frm+"-idTecnico").val(item?.id ?? 0); $("#"+frm+"-tecnico").val(item?.value ?? ""); }, function (buscar) { const modal = ClassBlockUI.abrirBlockUIConfirm( "¿Deseas deselecionar al técnico para elegir otro?", "Aceptar", function () { Web.tecnico_AC_GP.change(undefined, {"ui":{"item":{}}}); modal.modal("hide"); }, "Cancelar", ) }, "Web.idTecnico", "ajax/Tecnicos.buscar.php?CSRF="+CSRF, {"showNoResults": false, "minLength": 0}); if(idTecnico){ Web.tecnico_AC_GP.select(undefined, {item:{id: idTecnico, value:nombreTecnico}}); } else { Web.tecnico_AC_GP.change(undefined, {"ui":{"item":{id:0, value:""}}}); } } //Asignar valor por defecto /*if(item["gppm_idMuestreador"]){ Web.nombre_AM_GM.select(undefined, {item:{id: item["gppm_idMuestreador"], value:item["gem_nombre"]}}); }*/ } static initGestionarMuestras(idItem, tabla) { $(document).ready(function() { const frm = "frm-muestra-analisis"; $(".btnVolverListado").click(function(){ history.back() }); $(".btnNuevoAnalisis").click(function(){ Web.abrirFormularioAnalisis(frm, {"idAnalisis": -1, "idMuestra": idItem, "tipo": "", "fecha": ""}, false) }); Web.body.on("click", ".btn-eliminar-analisis", function (e) { e.preventDefault(); const id = $(this).attr("data-id") * 1; const txt = "Va a eliminar un análisis del proyecto, ¿Desea continuar?"; ClassBlockUI.abrirBlockUIConfirm(txt, "Continuar", function () { $(".modal").modal("hide"); Utils.sendStandardAjax(undefined, "ajax/ProyectosMuestrasAnalisis.eliminar.php?id=" + id, { "successCallback": function (data) { $(".modal").modal("hide"); Web.notify(data["error_message"], data["error_number"] < 0); if (data["error_number"] > 0) { $("#"+tabla).DataTable().ajax.reload(); } } }); }, "Cancelar"); }); Web.body.on("click", ".btn-editar-analisis", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const tipo = $(this).attr("data-tipo"); const fecha = $(this).attr("data-fecha"); Web.abrirFormularioAnalisis(frm, {"idAnalisis": id, "idMuestra": idItem, "tipo": tipo, "fecha": fecha}, true); }); Web.body.on("click", "#"+frm+"-btnGuardarAnalisis", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/MuestrasAnalisis.guardar.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalModificarAnalisis.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static abrirFormularioAnalisis(frm, item){ const titulo = item.id > 0 ? "Editar análisis" : "Nuevo análisis"; Web.modalModificarAnalisis = ClassBlockUI.abrirBlockUIEstandar("bloqueMuestrasAnalisis", null, titulo, "modal600"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idAnalisis").val(item.idAnalisis); $("#"+frm+"-idMuestra").val(item.idMuestra); $("#"+frm+"-idTipo").val(item.tipo); $("#"+frm+"-fechaEjecutado").val(item.fecha); } static initListadoEmpresas(urlAjax) { $(document).ready(function() { $(".btnNuevaEmpresa").click(function(){ window.location = "empresas-gestionar.html"; }); $(".btnExportar").click(function(){ window.location = "exportar/exportar-empresas.php?buscar="+$("#tablaEmpresas_wrapper .dt-search input").val(); }); }); } static initListadoTiposAnalisis(tabla, idItem, idSocio) { $(document).ready(function() { const frm = "frm-tipo-analisis"; $(".btnNuevoTipo").click(function(){ Web.abrirFormularioTiposAnalisis(frm, { gta_idProyecto: idItem, }, false); }); $("#frm-proyecto-btn-editar").click(function(){ window.location = "gestionar-proyecto.html?id="+idItem; }); Web.body.on("click", ".btn-editar-analisis", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/TipoAnalisis.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { Web.abrirFormularioTiposAnalisis(frm, data["item"], true); } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", ".btn-eliminar-tipo-analisis", function(e) { e.preventDefault(); const id = $(this).attr("data-id") * 1; const codigo = $(this).attr("data-codigo"); const txt = "Va a eliminar el tipo de análisis %1%, ¿Desea continuar?"; ClassBlockUI.abrirBlockUIConfirm(txt.replace("%1%", codigo), "Continuar", function () { $(".modal").modal("hide"); Utils.sendStandardAjax(undefined, "ajax/TipoAnalisis.eliminar.php?id=" + id, { "successCallback": function (data) { $(".modal").modal("hide"); if (data["error_number"] > 0) { Web.notify(data["error_message"], false); if (tabla) $("#" + tabla).DataTable().ajax.reload(); } else { Web.notify(data["error_message"], true); } } }); }, "Cancelar"); }); Web.body.on("click", "#"+frm+"-btnGuardarTipoAnalisis", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/TipoAnalisis.guardar.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalTipoAnalisis.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static abrirFormularioTiposAnalisis(frm, item, nuevoEditar){ Web.modalTipoAnalisis = ClassBlockUI.abrirBlockUIEstandar("bloqueTipoAnalisis", null, (nuevoEditar ? "Editar tipo de análisis" : "Nuevo tipo de análisis"), "modal700"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idProyecto").val(item["gta_idProyecto"]); $("#"+frm+"-idTipoAnalisis").val(item["gta_idTipoAnalisis"]); $("#"+frm+"-control").val(item["gta_control"]); $("#"+frm+"-nombre").val(item["gta_nombre"]); $("#"+frm+"-codigo").val(item["gta_codigo"]); $("#"+frm+"-precioCliente").val(item["gta_precioCliente"]); $(".inp-precio-empresa").val(""); $.each(item["arrayEmpresas"], function (i, e) { $("#"+frm+"-precioEmpresa"+i).val(e); }); } static iniEditarEmpresa(idItem) { $(document).ready(function() { $(".btnGuardarEmpresa").click(function(){ Utils.sendStandardAjax("frm-empresa", "ajax/Empresas.guardar.php", {"successCallback": "data-location"}); }); $(".btnCancelar").click(function(){ window.location = "empresas-detalle.html?id="+idItem; }); if (idItem <= 0) { $(".divFor_frm-empresa-currentPassword").addClass("d-none"); } }); } static initDetalleEmpresa(idItem, tabla) { $(document).ready(function() { const frm = "frm-empresa-muestreadores"; $(".nav-item-empresas-detalle").addClass("menu-seleccionado"); $(".btnExportarEmpresa").click(function(){ window.location = "exportar/exportar-muestreadores.php?id="+idItem+"&buscar="+$("#tablaMuestreadores_wrapper .dt-search input").val(); }); $(".btnVolverListado").click(function(){ window.location = "empresas.html"; }); $(".btnNuevoMuestreador").click(function(){ Web.abrirFormularioMuestreador(frm, {"gu_idPadre": idItem}, false) }); $("#frm-empresa-btn-editar").click(function(){ window.location = "empresas-gestionar.html?id="+idItem; }); Web.body.on("click", ".btn-editar-muestreador", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/EmpresasMuestreadores.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { Web.abrirFormularioMuestreador(frm, data["item"], true) } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", "#"+frm+"-btnGuardarMuestreador", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/EmpresasMuestreadores.guardar.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); Web.modalMuestreador.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); $(document).on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function (e) { const tab = $(this).attr('href'); if (tab === "#tab-muestreadores") { $(".btns-tecnicos, .btnNuevoTecnico").addClass("d-none"); $(".btns-muestreadores, .btnNuevoMuestreador:not(.oculto)").removeClass("d-none"); } else if (tab === "#tab-tecnicos") { $(".btns-tecnicos, .btnNuevoTecnico:not(.oculto)").removeClass("d-none"); $(".btns-muestreadores, .btnNuevoMuestreador").addClass("d-none"); } else if (tab === "#tab-tipos-analisis") { $(".btns-muestreadores, .btnNuevoMuestreador, .btns-tecnicos, .btnNuevoTecnico").addClass("d-none"); } }) }); } static abrirFormularioMuestreador(frm, item, nuevoEditar){ Web.modalMuestreador = ClassBlockUI.abrirBlockUIEstandar("bloqueMuestreador", null, (nuevoEditar ? "Editar Muestreador" : "Nuevo Muestreador"), "modal700"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idEmpresaMuestrador").val(item["gu_idUsuario"]); $("#"+frm+"-idPadre").val(item["gu_idPadre"]); $("#"+frm+"-nombre").val(item["gu_nombre"]); $("#"+frm+"-email").val(item["gu_email"]); $("#"+frm+"-telefono").val(item["gu_telefono"]); $("#"+frm+"-currentPassword").val(""); $("#"+frm+"-password").val(""); $("#"+frm+"-repite_password").val(""); if (nuevoEditar) { $(".divFor_"+frm+"-currentPassword").removeClass("d-none"); } else { $(".divFor_"+frm+"-currentPassword").addClass("d-none"); } } static initListadoClientes(idItem, tabla) { $(document).ready(function() { const frm = "frm-proyecto-muestra"; $(".btnExportarClientes").click(function(){ window.location = "exportar/exportar-clientes.php?buscar="+$("#tablaClientes_wrapper .dt-search input").val(); }); $(".btnNuevoCliente").click(function(){ window.location = "clientes-gestionar.html"; }); Web.body.on("click", ".btn-editar-cliente", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); window.location = "clientes-detalle.html?id="+id; }); }); } static initDetalleCliente(idItem) { $(document).ready(function() { const frm = "frm-cliente"; $(".btnExportarClientes").click(function(){ window.location = "exportar/exportar-proyectos.php?cliente="+idItem+"&buscar="+$("#tablaClientesProyectos_wrapper .dt-search input").val(); }); $(".btnVolverListado").click(function(){ window.location = "clientes.html"; }); $("#"+frm+"-btn-editar").click(function(){ window.location = "clientes-gestionar.html?id="+idItem; }); }); } static iniEditarCliente(idItem) { $(document).ready(function() { const frm = "frm-cliente"; $(".btnGuardarCliente").click(function(){ Utils.sendStandardAjax(frm, "ajax/Clientes.guardar.php", {"successCallback": "data-location"}); }); $(".btnCancelar").click(function(){ window.location = "clientes.html"; }); if (idItem <= 0) { $(".divFor_frm-cliente-currentPassword").addClass("d-none"); } }); } static initListadoTecnicos(tabla, idTecnicoConectado, mostrarRol, idEmpresa) { $(document).ready(function() { const frm = "frm-tecnicos"; $(".btnExportarTecnicos").click(function(e){ e.preventDefault(); window.location = "exportar/exportar-tecnicos.php?buscar="+$("#"+tabla+"_wrapper .dt-search input").val()+"&idEmpresa="+idEmpresa; }); $(".btnNuevoTecnico").click(function(){ $("#"+frm+"-idPadre").val(idTecnicoConectado); $("#bloqueTecnico .titulo-contrasena").html("Nueva Contraseña"); Web.abrirFormularioTecnico(frm, {"gu_idRol": (mostrarRol ? "" : 2)}, false, mostrarRol, idTecnicoConectado); }); Web.body.on("change", "#"+frm+"-idRol", function(e) { const idRol = $(this).val()*1; Web.onChangeJefeEquipo(frm, idRol, idTecnicoConectado); }); Web.body.on("click", ".btn-editar-tecnico", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/Usuarios.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { $("#bloqueTecnico .titulo-contrasena").html("Modificar Contraseña"); Web.abrirFormularioTecnico(frm, data["item"], true, mostrarRol, idTecnicoConectado); } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", "#"+frm+"-btnGuardarTecnico", function(e) { e.preventDefault(); const idRol = $("#"+frm+"-idRol").val()*1; const jefeEquipo = $("#"+frm+"-jefeEquipo").val(); if (idRol === 2 && !jefeEquipo) { ClassBlockUI.abrirBlockUIEstandarMensaje("Seleccione el jefe de equipo", true); return; } const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/Usuarios.guardarTecnicos.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ esperePorFavor.modal("hide"); if (data["error_number"]>=0) { Web.notify(data["error_message"], data["error_number"]<0); Web.modalTecnico.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); //Preparar el campo if(Web.jefeEquipoAC === undefined){ Web.jefeEquipoAC = Utils.preparaAutoCompleteBuscar(undefined, frm+"-jefeEquipo", undefined, function(item){ $("#"+frm+"-idPadre").val(item?.id ?? idTecnicoConectado); $("#"+frm+"-jefeEquipo").val(item?.value ?? ""); }, function (buscar) { const modal = ClassBlockUI.abrirBlockUIConfirm( "¿Deseas deselecionar al jefe de equipo para elegir otro?", "Aceptar", function () { modal.modal("hide"); Web.jefeEquipoAC.change(undefined, {"ui":{"item":{id:0, value:""}}}); }, "Cancelar", ) }, "Web.idJefeEquipo", "ajax/JefeEquipo.buscar.php?CSRF="+CSRF+"&idEmpresa="+idEmpresa, {"showNoResults": false, "minLength": 0}); } }); } static abrirFormularioTecnico(frm, item, nuevoEditar, mostrarRol, idTecnicoConectado){ Web.modalTecnico = ClassBlockUI.abrirBlockUIEstandar("bloqueTecnico", null, (nuevoEditar ? "Editar Técnico" : "Nuevo Técnico"), "modal700"); const idRol = item["gu_idRol"]; $("#"+frm).validate().resetForm(); $("#"+frm+"-idUsuario").val(item["gu_idUsuario"]); $("#"+frm+"-email").val(item["gu_email"]); $("#"+frm+"-nombre").val(item["gu_nombre"]); $("#"+frm+"-telefono").val(item["gu_telefono"]); $("#"+frm+"-idRol").val(idRol); Web.onChangeJefeEquipo(frm, idRol*1, idTecnicoConectado); $("#"+frm+"-currentPassword").val(""); $("#"+frm+"-password").val(""); $("#"+frm+"-repite_password").val(""); if (nuevoEditar) { $(".divFor_"+frm+"-currentPassword").removeClass("d-none"); } else { $(".divFor_"+frm+"-currentPassword").addClass("d-none"); } if (mostrarRol) { $(".divFor_frm-tecnicos-idRol").removeClass("d-none"); } else { $(".divFor_frm-tecnicos-idRol").addClass("d-none"); } if (Web.jefeEquipoAC !== undefined) { if (item["gu_idPadre"] === undefined || item["gu_idPadre"] === 0 || item["gu_idRol"] == 3) { Web.jefeEquipoAC.change(undefined, {"ui":{"item":{id:0, value:""}}}); } else { Web.jefeEquipoAC.select(undefined, {item:{id: item["gu_idPadre"], value:item["jefeEquipo"]}}); } } } static onChangeJefeEquipo(frm, idRol, idTecnicoConectado) { if (idRol === 0 || idRol === 3) { $(".divFor_"+frm+"-jefeEquipo").addClass("d-none"); $("#"+frm+"-idPadre").val(idTecnicoConectado); } else { $(".divFor_"+frm+"-jefeEquipo").removeClass("d-none"); } } static initReprogramaciones(tabla) { $(document).ready(function() { const frm = "frm-reprogramacion-muestra"; $(".btnExportar").click(function(){ window.location = "exportar/exportar-reprogramaciones.php?buscar="+$("#"+tabla+"_wrapper .dt-search input").val(); }); Web.body.on("click", ".btn-reprogramar-muestra", function(e) { e.preventDefault(); const id = $(this).attr("data-id"); const esperePorFavor = Utils.sendStandardAjax(null, "ajax/Reprogramaciones.get.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { Web.abrirFormularioReprogramaciones(frm, data["item"]); } else { Web.notify(data["error_message"], true); } } }); }); Web.body.on("click", "#"+frm+"-btnGuardarMuestras", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/Reprogramaciones.guardar.php?",{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"] >= 0){ Web.notify(data["error_message"], data["error_number"]<0); Web.modalReprogramarMuestra.modal("hide"); $("#"+tabla).DataTable().ajax.reload(); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static abrirFormularioReprogramaciones(frm, item){ Web.modalReprogramarMuestra = ClassBlockUI.abrirBlockUIEstandar("bloqueReprogramacionMuestra", null, "Reprogramar Muestra", "modal600"); $("#"+frm).validate().resetForm(); $("#"+frm+"-idProyectoPuntoMuestra").val(item.gppm_idProyectoPuntoMuestra); $("#"+frm+"-proyecto").val(item.proyecto); $("#"+frm+"-codPuntoMuestreo").val(item.codPunto); $("#"+frm+"-fechaPrevistaAntes").val(item.fechaPrevistaActual); $("#"+frm+"-idNuevoPuntoMuestreo").val(0); $("#"+frm+"-nuevoPuntoMuestreo").val(""); $("#"+frm+"-fechaPrevistaDia").val(""); $("#"+frm+"-fechaPrevistaMes").val(""); $("#"+frm+"-fechaPrevistaAno").val(""); crearTablaMismosPuntos(item); crearTablaOtrosPuntos(item); $("input[name='tipo-repogramacion']").unbind("change").change(function () { const val = $("input[name='tipo-repogramacion']:checked").val() * 1; if (val === 1) { $(".container-mismo-punto").removeClass("d-none"); $(".container-otros-puntos").addClass("d-none"); } else { $(".container-otros-puntos").removeClass("d-none"); $(".container-mismo-punto").addClass("d-none"); } }); $("input[name='tipo-repogramacion'][value='1']").prop("checked", true); $("input[name='tipo-repogramacion']:checked").trigger("change"); function crearTablaOtrosPuntos(item) { if (item["otrosPuntos"].length > 0) { let htmlMuestras = `
Estos son los puntos del proyecto, pulse sobre uno de ellos para ver las muestras por mes y año
`; item["otrosPuntos"].forEach(m => { htmlMuestras += ` `; }); htmlMuestras += `
Cod. Punto Muestreo Nombre Punto Muestreo
${m.cod} ${m.nombre}
`; $(".puntos-pendientes-otros").html(htmlMuestras); $(".fila-punto").unbind("click").on("click", function() { const tr = $(this); const id = tr.data("id"); const punto = tr.data("punto"); tr.toggleClass("selected"); $(".fila-punto:not([data-id='1'])") $(".fila-punto").not("[data-id='"+id+"']").removeClass("selected"); $(".tabla-muestras .subtabla").remove(); $("#"+frm+"-idNuevoPuntoMuestreo").val(id); $("#"+frm+"-nuevoPuntoMuestreo").val(punto); if (tr.hasClass("selected")) { const esperePorFavor = Utils.sendStandardAjax(null, "ajax/Reprogramaciones.getMuestrasByPunto.php?id="+id,{ "successCallback": function (data){ esperePorFavor.modal("hide"); if(data["error_number"]>=0) { let tabla = ""; const columnas = tr.children("td").length; if (data["muestras"].length<=0) { tabla = "No se han encontrado muestras futuras del punto %1%, puede escribir una fecha para mover la muestra a este punto".replace("%1%", data["codPunto"]); } else { tabla = ` `; data["muestras"].forEach(m => { tabla += ` `; }); tabla += `
Fecha Planificado Total muestras
${m.fecha} ${m.totales}
`; } const subfila = $(` ${tabla} `); // Insertamos la subfila justo debajo de la fila clicada tr.after(subfila); $(".fila-muestra-punto").unbind("click").on("click", function() { $(".fila-muestra-punto").removeClass("selected"); $(this).addClass("selected"); const dia = $(this).data("dia"); const mes = $(this).data("mes"); const anyo = $(this).data("anyo"); $("#frm-reprogramacion-muestra-fechaPrevistaDia").val(dia); $("#frm-reprogramacion-muestra-fechaPrevistaMes").val(mes); $("#frm-reprogramacion-muestra-fechaPrevistaAno").val(anyo); }); } else { Web.notify(data["error_message"], true); } } }); } else { } }); } else { $(".puntos-pendientes-otros").html("No se han encontrado puntos del proyecto"); } } function crearTablaMismosPuntos(item) { if (item["muestrasPorMesesDelMismoPunto"].length > 0) { let htmlMuestras = ` `; item["muestrasPorMesesDelMismoPunto"].forEach(m => { htmlMuestras += ` `; }); htmlMuestras += `
Fecha Planificado Total muestras
${m.fecha} ${m.totales}
`; $(".puntos-pendientes-misma-muestra").html(htmlMuestras); $(".fila-muestra").unbind("click").on("click", function() { const dia = $(this).data("dia"); const mes = $(this).data("mes"); const anyo = $(this).data("anyo"); $("#frm-reprogramacion-muestra-fechaPrevistaDia").val(dia); $("#frm-reprogramacion-muestra-fechaPrevistaMes").val(mes); $("#frm-reprogramacion-muestra-fechaPrevistaAno").val(anyo); }); } else { $(".puntos-pendientes-misma-muestra").html("No se han encontrado muestras futuras del punto %1%".replace("%1%", item["codPunto"])); } } } static initListadoContabilidad(tabla) { $(document).ready(function() { $(".btnExportar").click(function(){ window.location = "exportar/exportar-contabilidad.php?buscar="+$("#"+tabla+"_wrapper .dt-search input").val(); }); }); } static initMisDatos(tabla) { $(document).ready(function() { const frm = "frm-misdatos"; $(".btnCancelar").click(function(){ window.location = "proyectos.html"; }); Web.body.on("click", ".btnGuardarMisDatos", function(e) { e.preventDefault(); const esperePorFavor = Utils.sendStandardAjax(frm, "ajax/Usuarios.guardarMisDatos.php?",{ "successCallback": function (data){ if(data["error_number"] !== -96){ Web.notify(data["error_message"], data["error_number"]<0); esperePorFavor.modal("hide"); }else{ ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); }); }); } static initCalendario(idItem, $mostrarUrlEmpresa, $mostrarUrlCliente) { Web.FC_RESERVAR = 1; Web.FC_EDITAR = 2; Web.FC_NUEVA = 3; Web.FC_AGENDA = 4; Web.FC_CITA_RECURRENTE = 5; $(document).ready(function() { Web.resourceData = []; Web.visibleResourceIds = []; $(".item-usuario-filtro input[name^='usuarios-color-']").each(function () { Web.resourceData.push({ id: $(this).attr("data-id"), title: $(this).attr("data-usuario"), "eventClassNames":$(this).attr("data-color")+" active showOnAgenda" }); /*Web.visibleResourceIds.push($(this).attr("data-id")); $(this).change(function () { $(this).toggleClass("active"); toggleResource($(this).attr("data-id")); });*/ }); $(".item-usuario-filtro input").each(function () { $(this).change(function () { $(this).toggleClass("active"); Web.fullCalendar.refetchEvents(); }); }); $(".btn-filtro-seleccionar").click(function () { $(".item-usuario-filtro input").prop("checked", true).addClass("active"); /*$(".item-usuario-filtro input").each(function (i, e) { selectAllResources($(e).attr("data-id")); });*/ Web.fullCalendar.refetchEvents(); }); $(".btn-filtro-deseleccionar").click(function () { $(".item-usuario-filtro input").prop("checked", false).removeClass("active"); /*$(".item-usuario-filtro input").each(function (i, e) { deselectAllResources($(e).attr("data-id")); });*/ Web.fullCalendar.refetchEvents(); }); const elementBuscarProyecto = $("#frm-buscar-proyecto"); Web.AC_proyectoCalendar = Utils.preparaAutoCompleteBuscar(undefined, "frm-buscar-proyecto", undefined, function(item){ elementBuscarProyecto.data("id", item?.id ?? 0); //buscar.val(""); elementBuscarProyecto.prop("readonly",false); elementBuscarProyecto.removeClass("readonly"); if ((item?.id ?? 0) > 0) { setTimeout(function(){ //buscar.val(""); elementBuscarProyecto.blur(); }, 10); $(".container-item-filtro-usuario").addClass("d-none"); $.each(item.muestreadores, function (i, e) { $(".container-item-filtro-usuario[data-id='"+e+"']").removeClass("d-none"); }); } else { $(".container-item-filtro-usuario").removeClass("d-none"); } Web.fullCalendar.refetchEvents(); }, function (buscar) { $(".container-item-filtro-usuario").removeClass("d-none"); buscar.val(""); //Web.AC_proyectoCalendar.change(undefined, {"ui":{"item":{}}}); buscar.trigger("focus"); }, "Web.idProyectoBuscar", "ajax/Calendario.buscarProyectos.php?CSRF="+CSRF, {"showNoResults": false, "minLength": 0}); Web.fullCalendar = new FullCalendar.Calendar($("#calendar")[0], { //timeZone: "America/New_York", timeZone: "Europe/Madrid", schedulerLicenseKey: "0221401364-fcs-1627045855", customButtons: { filtrar: { text: ''/*, click: function () { alert('¡Botón personalizado clicado!'); }*/ } }, headerToolbar: { left: 'filtrar prev,next today', center: 'title', right: "dayGridMonth timeGridWeek timeGridDay", }, views: { resourceTimeGridDay: { // name of view titleFormat: {year: 'numeric', month: 'long', day: 'numeric', weekday: 'long'} } }, dayMaxEvents: 3, //dayPopoverFormat: {month: 'long', day: 'numeric', year: 'numeric'}, locale: 'es', allDaySlot: false, initialDate: new Date().toISOString(), initialView: 'dayGridMonth', nowIndicator: true, eventSources: [ { url: "ajax/Usuarios.agenda.php", method: 'POST', extraParams:function () { let params = { CSRF: CSRF, } //if ($(".item-usuario-filtro input[name^='proyectos-color-']").length > 0) if (elementBuscarProyecto.length > 0 && elementBuscarProyecto.data("id")) { /*params.proyectosIds = $(".item-usuario-filtro input[name^='proyectos-color-']:checked") .map(function () { return $(this).attr("data-id"); }) .get();*/ params.proyectosIds = elementBuscarProyecto.data("id"); } if ($(".item-usuario-filtro input[name^='usuarios-color-']").length > 0) { params.usuariosIds = $(".item-usuario-filtro input[name^='usuarios-color-']:checked") .map(function () { return $(this).attr("data-id"); }) .get(); } return params; }, failure: function () { ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al cargar los datos del calendario", true); }, success: function (content, xhr) { let currentUnixtime = new Date().getTime() / 1000; return content.eventArray; } }, ], eventTimeFormat: { // like '14:30:00' hour: '2-digit', minute: '2-digit', //omitZeroMinute: true, //second: '2-digit', meridiem: false }, resources: function (fetchInfo, successCallback, failureCallback) { // Filter resources by whether their id is in visibleResourceIds. /*var filteredResources = []; if (Web.resourceData) { filteredResources = Web.resourceData.filter(function (x) { return Web.visibleResourceIds.indexOf(x.id) !== -1; }); }*/ successCallback(Web.resourceData); }, editable: false, selectable: true, loading: function (bool) { if (bool) { $(".loadingText").remove(); } }, selectConstraint: "businessHours", eventConstraint: "businessHours", eventOrder: 'numOrder,start', dateClick: function (info) { Web.lastDateSelected = moment(info.dateStr); }, //eventMouseEnter eventClick: function (info) { let infoCalendar = $('.infoCalendar'); if (infoCalendar.length !== 1) { return; } let event = info.event; let jsEvent = info.jsEvent; let view = info.view; // let parent = $(jsEvent.target).closest(view.type === "dayGridMonth" ? '.fc-daygrid-event' : '.fc-timegrid-event'); //let parent = $(jsEvent.target).closest('.fc-timegrid-event'); if (!parent.hasClass("tooltipstered")) { let colorClass = $(".form-check-input[data-id=" + event.extendedProps.resourceId2 + "]").attr("data-color"); colorClass = colorClass !== undefined ? colorClass : "ownAgenda"; //let childToolTipstered = null; let content = $("
"); const proyecto = ""+event.extendedProps.proyecto+""; const empresa = $mostrarUrlEmpresa ? ""+event.extendedProps.empresa+"" : event.extendedProps.empresa; const codPuntoMuestreo = ""+event.extendedProps.codPuntoMuestreo+""; //const cliente = $mostrarUrlEmpresa ? ""+event.extendedProps.cliente+"" : event.extendedProps.cliente; var extraClass = ""; content.addClass("infoCalendarOnToolTipster " + extraClass); content.append( infoCalendar.html() .replace("%colorClass%", colorClass + " active") .replace("%0%", !event.extendedProps.esEditable ? "d-none" : "") .replace("%1%", proyecto+"
") .replace("%2%", event.extendedProps.fecha) .replace("%3%", empresa) .replace("%4%", event.extendedProps.muestreador) .replace("%5%", codPuntoMuestreo) .replace("%idMuestra%", event.extendedProps.idMuestra) ); content.data("event", event); parent.tooltipster({ autoClose: false, hideOnClick: false, contentAsHTML: true, trigger: "custom", content: content, minWidth: 325, maxWidth: 325, theme: "infoCalendarToolTipster", interactive: true, functionReady: function (instance, helper) { $(helper.tooltip).find(".btnCalendarButtonClose").unbind("click").bind("click", function () { parent.tooltipster("hide"); //instance.close(); }); $(helper.tooltip).data("instance", instance); $(".infoCalendarOnToolTipster .tooltipOver").tooltipster({ multiple: true, animation: 'grow', interactive: true, position: 'bottom' }); }, functionBefore: function (origin, continueTooltip) { $.each($.tooltipster.instances(), function (i, instance) { instance.close(); }); }/*, functionAfter: function(origin) { }*/ }); } parent.tooltipster("show"); }, height: "100%", viewDidMount: function(viewInfo){ const btn = $('.fc-filtrar-button'); btn.html(''); btn.attr("data-bloque", "bloque-filtro"); btn.addClass("btn-abre-bloque"); } }); Web.fullCalendar.render(); function toggleResource(resourceId) { var index = Web.visibleResourceIds.indexOf(resourceId); if (index !== -1) { Web.visibleResourceIds.splice(index, 1); } else { Web.visibleResourceIds.push(resourceId); } Web.fullCalendar.refetchResources(); } function selectAllResources(resourceId) { var index = Web.visibleResourceIds.indexOf(resourceId); if (index === -1) { Web.visibleResourceIds.push(resourceId); } Web.fullCalendar.refetchResources(); } function deselectAllResources(resourceId) { var index = Web.visibleResourceIds.indexOf(resourceId); if (index !== -1) { Web.visibleResourceIds.splice(index, 1); } Web.fullCalendar.refetchResources(); } }); } static initSincronizar(tabla) { $(document).ready(function() { $(".btnSincronizar").click(function(){ const esperePorFavor = Utils.sendStandardAjax(null, "ajax/Sincronizar.sync.php",{ "successCallback": function (data){ esperePorFavor.modal("hide"); Web.notify(data["error_message"], data["error_number"] < 0); if(data["error_number"]>=0) { $("#" + tabla).DataTable().ajax.reload(); } } }); }); }); } } $(document).ready(function () { if ($.fn.dataTable != undefined) { $.fn.dataTable.ext.errMode = function (settings, helpPage, message) { $.notify( { title: "Error: ", message: "Se ha producido un error inesperado", }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); }; $.extend($.fn.dataTable.defaults, { "language": { "decimal": ",", "thousands": ".", "emptyTable": "Sin datos todavía", "info": "_START_-_END_ de _TOTAL_", "infoEmpty": "Todavía no hay datos", "infoFiltered": "()", "infoPostFix": "", "lengthMenu": "Filas por página: _MENU_", "loadingRecords": "Procesando...", "processing": "Procesando...", "search": "Buscar por cualquier dato:", "zeroRecords": "No se han encontrado resultados", "paginate": { "first": " ", "previous": "", "next": "", "last": " " }, "aria": { "orderable": "Order by this column", "orderableReverse": "Reverse order this column" }, "searchPlaceholder": "Buscar ...", "url": "" } }); } }); /* 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").css("animation-duration", "500ms").addClass("zoomIn"); 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 { 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"); } }; var ClassUsuarios = { guardaClaveOlvidoPass: function () { 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://gestion.ltlevante.com/acceder.html"}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); }, initAcceso: function() { let validacionLogin; $(document).ready(function() { $("#btnAcceder").click(login); $("#emailLogin").pressEnter(login); $("#passwordLogin").pressEnter(login); const opciones_validacion_login = {showLabels: false}; validacionLogin = $("#frmLogin").validate(opciones_validacion_login); }); function login() { var validation = $("#frmLogin").valid(); if(!validation) { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado lo siguientes errores

"+validacionLogin.invalidMessages("
"), true, undefined, ""); return; } var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/Usuarios.login.php", data: $("#frmLogin").serialize(), success: function(data, textStatus, XMLHttpRequest) { //Registro a mitad if(data["error_number"]>=0) { window.location = data["urlOnLogin"].replace(/&/,"&"); } //Login error else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); $("#passwordLogin").val(""); } } }; ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); } }, };