class Web
{
static init()
{
Web.warningMessage = "Si abandonas ahora la web se perderán los cambios realizados.";
Web.warningMessageActivated = false;
$(document).ready(function()
{
$("form.check-change").on("change", "select, input, textarea", function()
{
Web.activateDeactivateWarning(true);
});
//$(".bloqueLegalCookiesEnlaceMasInfo, .masInfoCookie").attr("href", "politica-cookies/").attr("target", "_blank");
});
}
static initInicio()
{
$(document).ready(function()
{
$(".carousel-servicios").each(function(i, e)
{
let to = null;
let itemCarousel = $(e);
const numItems = itemCarousel.find(".item-servicio").length;
if (itemCarousel.length) {
itemCarousel.owlCarousel({
smartSpeed: 650,
loop:false,
checkVisible:false,
margin: 30,
nav:true,
lazyLoad: true,
navText: [
'',
'',
],
dots: false,
mouseDrag: false,
items:1,
responsive: {
0: {
items: 1,
margin: 30,
mouseDrag: true,
loop: true,
stagePadding: 65,
},
576: {
mouseDrag: numItems > 2 ? true : false,
loop: numItems > 2 ? true : false,
items: 2
},
768: {
mouseDrag: false,
loop: numItems > 3 ? true : false,
items: 3
},
},
onTranslate: function(e) {
itemCarousel.removeClass("owl-shadow");
clearTimeout(to);
to = setTimeout(function(){itemCarousel.addClass("owl-shadow");}, 400);
},
onDrag: function(e) {
itemCarousel.removeClass("owl-shadow");
},
});
}
});
let itemCarousel2 = $(".carousel-noticias");
const numItems2 = itemCarousel2.find(".itemNoticia").length;
if (itemCarousel2.length) {
itemCarousel2.owlCarousel({
smartSpeed: 650,
loop:false,
checkVisible:false,
margin: 30,
lazyLoad: true,
nav:false,
dots: false,
mouseDrag: false,
items:1,
responsive: {
0: {
items: 1.5,
margin: 30,
mouseDrag: true,
loop: true,
},
576: {
mouseDrag: numItems2 > 2 ? true : false,
touchDrag: numItems2 > 2 ? true : false,
loop: numItems2 > 2 ? true : false,
items: 2
},
768: {
mouseDrag: false,
touchDrag: false,
loop: numItems2 > 3 ? true : false,
items: 3
},
},
onTranslate: function(e) {
itemCarousel2.removeClass("owl-shadow");
clearTimeout(to);
to = setTimeout(function () {
itemCarousel2.addClass("owl-shadow");
}, 400);
},
onDrag: function(e) {
itemCarousel2.removeClass("owl-shadow");
},
});
}
let itemCarousel3 = $("#nuestros-clientes");
const numItems3 = itemCarousel3.find(".item-cliente").length;
if (itemCarousel3.length) {
itemCarousel3.owlCarousel({
margin: 75,
nav: false,
dots: false,
lazyLoad: true,
loop: numItems3 > 5 ? true : false,
autoWidth: true,
autoplay: true,
autoplayTimeout: 4000,
autoplayHoverPause: true
});
}
});
}
static initGaleria()
{
$(document).ready(function ()
{
$(".item-galeria").simpleLightbox({maxZoom: 2});
});
}
static initContacto()
{
var validacion;
$(document).ready(function(e) {
$("#btnEnviarContacto").click(enviarFormulario);
var opciones_validacion = {showLabels: false};
validacion = $("#formContacto").validate(opciones_validacion);
});
function enviarFormulario(event) {
event.preventDefault();
var extraMsg = "";
if (!$("#politica").is(":checked")) {
extraMsg = $("#politica").attr("title");
}
Utils.sendStandardAjax("formContacto", "ajax/Contacto.enviar.php", {
extraErroresForm: extraMsg,
successCallback: null,
resetFormOnSuccess: true,
});
}
}
static initTexto()
{
$("document").ready(function()
{
//$(".textoSeccion a").attr("target", "_blank");
$(".textoSeccion a[href^='tel']").removeAttr("target");
$(".textoSeccion img[style^='float: left'], .textoSeccion img[style^='float:left']").addClass("margin-right-20 margin-bottom-20 img-float");
$(".textoSeccion img[style^='float: right'], .textoSeccion img[style^='float:right']").addClass("margin-left-20 margin-bottom-20 img-float");
$(".textoSeccion img:not(.imagenDerecha)").addClass("img-fluid").css("max-width", "100%").css("height", "auto").css("object-fit", "cover");
});
}
static initBanner()
{
$(document).ready(function () {
if ($('#carousel-banner').length) {
$('#carousel-banner').owlCarousel({
animateOut: 'fadeOut',
animateIn: 'fadeIn',
loop:true,
margin:0,
nav:true,
navText: [
'',
'',
],
dots:false,
mouseDrag: false,
smartSpeed: 900,
autoplay: true,
autoplayTimeout: 7000,
items:1,
});
}
});
}
}
$(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":
{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_",
"sZeroRecords": "No se han encontrado resultados",
"sEmptyTable": "Sin datos todavía",
"sInfo": "_START_-_END_ de _TOTAL_",
"sInfoEmpty": "Todavía no hay datos",
"sInfoFiltered": "(filtrado de _MENU_ entradas)",
"sSearchPlaceholder": "Buscar",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
},
"buttons":{
"colvis":"Columnas"
}
}
});
}
});
/*
ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]);
ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]);
ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close"
ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]);
*/
var ClassBlockUI =
{
restaurarElemento: function()
{
var data = $("body").data('blockUIEstandar.history');
if (data)
{
data.el.style.display = data.display;
data.el.style.position = data.position;
if (data.parent)
data.parent.appendChild(data.el);
$("body").removeData('blockUIEstandar.history');
$("#"+data.generatedId).remove();
}
},
abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento)
{
if(restaurarElemento || restaurarElemento == undefined)
{
ClassBlockUI.restaurarElemento();
}
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;}
//var blockUIId="blockUI_"+new Date().getTime();
var blockUIId="blockUI_"+contenedorIDAMostrar;
extraClass = extraClass == undefined ? "" : extraClass; //modal-lg
var object = $("#"+contenedorIDAMostrar);
var node = object[0];
var data = {};
$("body").data('blockUIEstandar.history', data);
data.el = node;
data.parent = node.parentNode;
data.display = node.style.display;
data.position = node.style.position;
data.generatedId = blockUIId;
data.object = object;
if (data.parent)
data.parent.removeChild(node);
var header = headerText != undefined ? headerText : "";
var message = ''+
'
'+
' '+
'
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-body").append(node);
modal.find(".modal-dialog").addClass("jackInTheBox");
modal.on('hidden.bs.modal', function () {
ClassBlockUI.restaurarElemento();
})
var myModal = new bootstrap.Modal($(modal)[0], {
keyboard: false
})
myModal.show();
if(accionCerrar==undefined) //boton cerrar tiene accion por defecto
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(function(){
myModal.hide();
if($(".modal").length>0){$("body").addClass("modal-open")}
});
}
else if(accionCerrar==false) //oculta el boton cerrar
{
$("#"+blockUIId+" .btnCerrarModalEquis").hide();
}
else //boton cerrar con accion especial
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar);
}
return modal;
},
abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title)
{
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
var blockUIId="blockUI_"+new Date().getTime();
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg
title = title == null || title == undefined ? "Aviso" : title;
if(isAlertOrButtons==undefined) isAlertOrButtons=false;
if(onClose==undefined) onClose=false;
var botonera = "";
var botoneraEspecial = false;
if(isAlertOrButtons === false)
{
botonera = "";
}
else if (isAlertOrButtons === true)
{
botonera = "Aceptar
";
}
else
{
botoneraEspecial = true;
botonera = "";
for(var index in isAlertOrButtons)
{
botonera += " "+isAlertOrButtons[index]["text"]+" ";
}
botonera += "
";
}
var message = '';
message += '';
message += ' ';
message += '
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-dialog").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 = "Espera 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: ""});
},
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, revisa los campos porque se han detectado los 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);
}
},
initOlvido: function () {
$(document).ready(function () {
$("#btnEnviarOlvido").click(ClassUsuarios.enviarOlvido);
});
},
initConfirmarOlvido: function () {
$(document).ready( function ()
{
$(".btnEnviarNuevoPass").click(ClassUsuarios.guardaClaveOlvidoPass);
$("#password2").pressEnter(ClassUsuarios.guardaClaveOlvidoPass);
});
}
};
class ClassWeb
{
static actualizarTarifaOferta(productoDual)
{
let tarifa = productoDual === false ? $("#frmContratoIdTarifa") : $("#frmDualIdTarifa");
let oferta = productoDual === false ? $("#frmContratoIdOferta") : $("#frmDualIdOferta");
let idCompania = productoDual === false ? $("#frmContratoIdCompania").val() : $("#frmDualIdCompania").val();
let idProducto = productoDual === false ? $("#frmContratoIdProducto").val() : $("#frmDualIdProducto").val();
let bootStrapSelect = false;
let previousTarifa = tarifa.val();
tarifa.empty();
tarifa.append( "");
oferta.empty();
oferta.append( "");
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Companias.tarifasOfertas.php?idCompania="+idCompania+"&idProducto="+idProducto, {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
tarifa.empty();
tarifa.append( "");
for(var index in data["tarifas"])
{
if (data["tarifas"].hasOwnProperty(index)) {
tarifa.append("");
}
}
oferta.empty();
oferta.append( "");
for(var j in data["ofertas"])
{
if (data["ofertas"].hasOwnProperty(j)) {
oferta.append("");
}
}
var options = tarifa.find('option');
var arr = options.map(function(_, o) { return { t: $(o).text(), v: o.value }; }).get();
arr.sort(function(o1, o2) { return o2.v == "" ? 1 : (o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0); });
options.each(function(i, o) {
o.value = arr[i].v;
$(o).text(arr[i].t);
});
var options2 = oferta.find('option');
var arr2 = options2.map(function(_, o) { return { t: $(o).text(), v: o.value }; }).get();
arr2.sort(function(o1, o2) { return o2.v == "" ? 1 : (o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0); });
options2.each(function(i, o) {
o.value = arr2[i].v;
$(o).text(arr2[i].t);
});
esperePorFavor.modal("hide");
if( previousTarifa > 0)
{
tarifa.val(previousTarifa);
}
}
});
};
static initConfiguracion(ofertasActuales, idCompania)
{
ClassWeb.idCompania = idCompania;
$(document).ready(function() {
var body = $("body");
body.on("click", ".btnEditarProducto, .btnAnadirProducto", function(e) {
ClassBlockUI.abrirBlockUIEstandar("modalProductos", undefined, "Gestionar Producto", "modal493");
$("#frmProductosID").val($(this).attr("data-id"));
$("#frmProductosTitulo").val($(this).attr("data-title"));
return false;
});
body.on("click", ".btnGuardarProducto", function(e) {
Utils.sendStandardAjax("frmProductos", "ajax/Productos.editar.php");
return false;
});
body.on("click", ".btnBorrarImagen", function(e) {
let logo = $("#frmCompaniaBorrarLogo");
let icono = $(".btnBorrarImagen");
if(logo.val()*1 === 1)
{
logo.val(0);
icono.attr("title", "La imagen no se borrara");
icono.css("color", "black");
}
else
{
logo.val(1);
icono.attr("title", "Se ha marcado para borrar");
icono.css("color", "red");
}
return false;
});
body.on("click", ".btnEliminarProducto", function(e) {
var idProducto = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar el producto %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () {
Utils.sendStandardAjax(null, "ajax/Productos.eliminar.php?id="+idProducto);
}, "Cancelar");
return false;
});
body.on("click", ".btnEditarTarifa, .btnAnadirTarifa", function(e) {
var modal = ClassBlockUI.abrirBlockUIEstandar("modalTarifas", undefined, "Gestionar Tarifa", "modal493");
$("#frmTarifasID").val($(this).attr("data-id"));
$("#frmTarifasTitulo").val($(this).attr("data-title"));
$("input[name=frmTarifasProducto]").val([$(this).attr("data-idProducto")]);
return false;
});
body.on("click", ".btnGuardarTarifa", function(e) {
Utils.sendStandardAjax("frmTarifas", "ajax/Tarifas.editar.php");
return false;
});
body.on("click", ".btnEliminarTarifa", function(e) {
var idTarifa = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la tarifa %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () {
Utils.sendStandardAjax(null, "ajax/Tarifas.eliminar.php?id="+idTarifa);
}, "Cancelar");
return false;
});
body.on("click", ".btnActivaDesactivaCompañia", function(e) {
if(!e.target.classList.contains('form-check-input'))
return;
var activo = $(e.target).is(":checked") ? 1 : 0;
var idCompania = $(e.target).attr("data-id");
Utils.sendStandardAjax(null, "ajax/Companias.activarDesactivar.php?id="+idCompania+"&activo="+activo, {"esperePorFavor":false, "successCallback":function(){}});
return true;
});
body.on("click", ".btnEditarCompañia, .btnAnadirCompañia", function(e) {
var id = $(this).attr("data-id");
if(id === undefined)
{
id = 0;
}
window.location = "/configuraciones/?c=compañias&id="+id;
return false;
});
body.on("click", ".btnEliminarCompañia", function(e) {
var idCompania = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la compañía %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () {
Utils.sendStandardAjax(null, "ajax/Companias.eliminar.php?id="+idCompania);
}, "Cancelar");
return false;
});
body.on("click", ".btnGuardarCompañia", function(e) {
Utils.sendStandardAjax("frmCompania", "ajax/Companias.editar.php", {"successCallback": "data-location"});
return false;
});
body.on("click", ".btnEditarCompañiaOferta, .btnAnadirCompañiaOferta", function(e) {
ClassWeb.modalEditarOferta = ClassBlockUI.abrirBlockUIEstandar("modalOfertas", undefined, "Gestionar Oferta", "modal493");
$("#frmOfertasidOferta").val($(this).attr("data-id"));
$("#frmOfertasidCompania").val($(this).attr("data-idCompania"));
$("#frmOfertasTitulo").val($(this).attr("data-title"));
let idProducto = $(this).attr("data-idProducto");
let radio = $("input:radio[name='frmOfertasProducto']");
if(idProducto > 0)
{
radio.attr("checked", false);
radio.attr("disabled", true);
$("input:radio[name='frmOfertasProducto'][value="+idProducto+"]").attr("checked", true);
}
else
{
$("input:radio[name='frmOfertasProducto']").attr("checked", false);
radio.attr("disabled", false);
}
return false;
});
body.on("click", ".btnActivaDesactivaCompañiaOferta", function(e) {
if(!e.target.classList.contains('form-check-input'))
return;
var activo = $(e.target).is(":checked") ? 1 : 0;
var idOferta = $(e.target).attr("data-id");
Utils.sendStandardAjax(null, "ajax/CompaniasOfertas.activarDesactivar.php?id="+idOferta+"&activo="+activo, {"esperePorFavor":false, "successCallback":function(){}});
return true;
});
body.on("click", ".btnEliminarCompañiaOferta", function(e) {
var idCompaniaOferta = $(this).attr("data-id");
let modalConfirmarBorrar = ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la oferta %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/CompaniasOfertas.eliminar.php?id="+idCompaniaOferta, {"successCallback": function(data, textStatus, XMLHttpRequest)
{
modalConfirmarBorrar.modal("hide");
esperePorFavor.modal("hide");
if(data["error_number"]>=0)
{
$("#"+tabla).DataTable().ajax.reload();
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true)
}
}});
}, "Cancelar");
return false;
});
body.on("click", ".btnGuardarCompañiaOferta", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmOfertas", "ajax/CompaniasOfertas.editar.php", {"onBeforeSend": function(){
let radio = $("input:radio[name='frmOfertasProducto']");
radio.attr("disabled", false);
}, "successCallback": function(data, textStatus, XMLHttpRequest)
{
esperePorFavor.modal("hide");
if(ClassWeb.modalEditarOferta)
{
ClassWeb.modalEditarOferta.modal("hide");
}
//eval("tablatablaOfertas"+data["idProducto"]).ajax.reload();
tablatablaOfertas.ajax.reload();
}});
return false;
});
var lastCall = 0;
if (Object.keys(ofertasActuales).length > 0) {
$.each(ofertasActuales, function(id, item) {
var currentDropdown = $('#etiquetasDropdown'+id);
currentDropdown.dropdownSUI({
allowAdditions: true,
apiSettings: {
url: 'ajax/ProductosOfertas.buscar.php?CSRF='+CSRF+'&q={query}&idProducto='+id+"&idCompania="+ClassWeb.idCompania,
cache: true,
beforeSend: function(a){
let currentCall = new Date().getTime();
//Limitar llamadas vacias a 1 cada segundo porque se ponia a llamar sin parar una y otra vez
if(a.urlData.query === "" && currentCall-lastCall<1000)
{
return false;
}
lastCall = currentCall;
return a;
},
onResponse: function(response) {
var currentValues = (","+currentDropdown.dropdownSUI("get value")+",");
var results = [];
// Quitar los que ya tienen valor.
for (var k in response["results"]) {
if (!response["results"].hasOwnProperty(k)) {
continue;
}
if(currentValues.indexOf(","+response["results"][k]["value"]+",") === -1)
{
results.push(response["results"][k]);
}
}
return {
success: true,
results: results
};
}
},
saveRemoteData: true
});
$.each(item, function(index, element) {
currentDropdown.dropdownSUI("set selected", element);
});
currentDropdown.dropdownSUI('refresh');
});
}
body.on("click", ".btnGuardarTextoLOPD", function(e) {
if(CKEDITOR.instances)
{
for (var i in CKEDITOR.instances)
{
CKEDITOR.instances[i] . updateElement();
}
}
Utils.sendStandardAjax("frmTextoLOPD", "ajax/TextoLOPD.editar.php");
return false;
});
body.on("click", ".btnGuardarEnlaceDropbox", function(e) {
Utils.sendStandardAjax("frmEnlaceDropbox", "ajax/EnlaceDropbox.editar.php");
return false;
});
$(".barra_busqueda_global").html("");
if($(".dataTables_filter input").length == 1)
{
$(".barra_busqueda_global").append($(".dataTables_filter input").detach());
}
});
};
static initClientes()
{
$(document).ready(function () {
tablatablaClientes.on('click', 'tr', function () {
var data = tablatablaClientes.row(this).data();
window.location = "/clientes/?id="+data[1];
});
var body = $("body");
body.on("click", ".btnNuevoCliente, .btnAnadirProducto", function(e) {
window.location = "/clientes/?nc=1";
return false;
});
body.on("click", ".btnExportarClientes", function(e) {
window.location = "/exportarDatos.php?t=gc_&draw="+tablatablaClientes.ajax.params().draw;
return false;
});
})
};
static initClickTablaContratos()
{
$(document).ready(function () {
tablatablaContratos.on('click', 'tr td:not(.contieneBtnEstado, .noVis, .contieneDNI, .contieneCUPS)', function () {
var data = tablatablaContratos.row($(this).parent()).data();
window.open("/contratos/?id="+data[1], '_blank');
//window.location = "/contratos/?id="+data[1];
});
});
}
static initBusquedaGlobal(busqueda, pos, idCliente)
{
let autocompleteBuscarCliente = $("#frmBuscarClienteDNI");
autocompleteBuscarCliente.keyup(function () {
if($(this).val() === "")
{
if(ClassWeb.busquedaGlobal)
{
ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, undefined, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy);
}
}
});
autocompleteBuscarCliente.autocomplete({
source: "ajax/Clientes.buscar.php?CSRF="+CSRF,
minLength: 3,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").data("item", null).removeClass("selected");
if(ClassWeb.busquedaGlobal)
{
ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, undefined, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy);
}
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item).addClass("selected");
if(ClassWeb.busquedaGlobal)
{
ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, ui.item, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy);
}
else
{
window.location = "/contratos/?busqueda="+ui.item.datos.gc_DNI+"&pos="+ui.item.index+"&cliente="+ui.item.datos.gc_idCliente;
}
},
open: function(event, ui){
if(ClassWeb.autocompleteBuscarClientePrimerResultado)
{
ClassWeb.autocompleteBuscarClientePrimerResultado = false;
if (idCliente > 0)
{
$(".ui-menu-item[data-value='"+idCliente+"']").trigger("click");
}
else
{
if ($(".ui-menu-item").length >= pos + 1)
{
$(".ui-menu-item:eq(" + pos + ")").trigger("click");
return false;
}
else
{
$(".ui-menu-item:eq(0)").trigger("click");
return false;
}
}
}
},
});
autocompleteBuscarCliente.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "" )
.attr( "data-value", item.id )
.append( item.label )
.appendTo( ul );
};
autocompleteBuscarCliente.autocomplete( "instance" )._renderItem = function( ul, item ) {
let classAC = item.bloqueado ? "opcionAutoCompleteBloqueado" : "opcionAutoCompleteNormal";
return $( "" )
.attr( "data-value", item.id )
.append( item.label )
.appendTo( ul );
};
if(busqueda !== undefined && busqueda !== "")
{
ClassWeb.autocompleteBuscarClientePrimerResultado = true;
autocompleteBuscarCliente.autocomplete("search", autocompleteBuscarCliente.val());
}
}
static initContratos(urlAjax, esAdmin, idCompania, idTarifa, idEstado, hoy)
{
ClassWeb.initClickTablaContratos();
ClassWeb.busquedaGlobal = {"urlAjax": urlAjax, "idCompania": idCompania, "idTarifa": idTarifa, "idEstado": idEstado, "hoy": hoy};
$(document).ready(function () {
var body = $("body");
if(esAdmin)
{
body.on("click", ".contrato-estado", ClassWeb.cambiarEstadoContrato);
body.on("change", "#frmCCEIdEstado", ClassWeb.mostarOcultarNotas);
body.on("click", ".btnCambiarEstado", ClassWeb.enivarCambiarEstadoContrato);
body.on("click", ".contrato-comision", ClassWeb.cambiarComisionContrato);
body.on("click", ".btnCambiarComision", ClassWeb.enivarCambiarComisionContrato);
}
body.on("click", ".btnAñadirContratos", function(e) {
let idCliente = $(this).attr("data-idCliente");
if(idCliente>0)
{
window.location = "/contratos/?idCliente="+idCliente+"&c=1";
}
else {
let dni = $("#frmBuscarClienteDNI");
dni.focus();
dni.animate({ backgroundColor: "#2ee800" }, "slow").animate({ backgroundColor: "#FFFFFF" }, "slow");
$.notify(
{
title: "Aviso: ",
message: "Para poder añadir un contrato, por favor busca un cliente por su DNI para utilizar un cliente existente o bien crearlo para poder añadirle el contrato",
},
{
type: 'danger',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
//ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder añadir un contrato, por favor busca un cliente por su DNI para utilizar un cliente existente o bien crearlo para poder añadirle el contrato", true, undefined, "");
}
return false;
});
body.on("keyup", "#frmFechaDesde, #frmFechaHasta", ClassWeb.getFechasFiltradasValidas);
body.on("click", ".btnFiltrarFechas", function () {
let fechas = ClassWeb.getFechasFiltradasValidas();
ClassWeb.recargaTablaContratos(urlAjax, $("#frmClienteID").val(), idCompania, idTarifa, idEstado, fechas, hoy);
if(ClassWeb.modalFiltrarFechas)
{
ClassWeb.modalFiltrarFechas.modal("hide");
ClassWeb.modalFiltrarFechas = null;
}
});
body.on("click", ".btnExportarContratos", function(e) {
window.location = "/exportarDatos.php?t=gcont_&draw="+tablatablaContratos.ajax.params().draw;
return false;
});
});
};
static getFechasFiltradasValidas()
{
let fechaDesde = $("#frmFechaDesde").val().split("-");
let fechaHasta = $("#frmFechaHasta").val().split("-");
let fechaDesdeFiltrar = ClassWeb.isValidDate(fechaDesde[2], fechaDesde[1], fechaDesde[0]) ? fechaDesde : null;
let fechaHastaFiltrar = ClassWeb.isValidDate(fechaHasta[2], fechaHasta[1], fechaHasta[0]) ? fechaHasta : null;
//console.log(fechaDesdeFiltrar, fechaHastaFiltrar);
return [fechaDesdeFiltrar, fechaHastaFiltrar];
};
static isValidDate(day, month, year)
{
var validDate = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/.test(month+"/"+day+"/"+year);
return (validDate && !/Invalid|NaN/.test(new Date(month+"/"+day+"/"+year)));
};
static cambiarEstadoContrato(e)
{
ClassWeb.modalCambiarEstado = ClassBlockUI.abrirBlockUIEstandar("modalCambiarEstado", undefined, "Cambiar Estado", "modal493");
let estado = $("#frmCCEIdEstado");
estado.val($(this).attr("data-idEstado"));
$("#frmCCEIDContrato").val($(this).attr("data-idContrato"));
$("#frmCCENotas").val("");
estado.trigger("change");
return false;
};
static mostarOcultarNotas(e)
{
if($("#frmCCEIdEstado").val()*1 === 3)
{
$(".contieneCCENotas").show();
}
else
{
$(".contieneCCENotas").hide();
$("#frmCCENotas").val("");
}
return false;
}
static enivarCambiarEstadoContrato(e) {
let modal = Utils.sendStandardAjax("frmContratosCambiarEstado", "ajax/Contrato.cambiarEstado.php", {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
tablatablaContratos.ajax.reload();
modal.modal("hide");
if(ClassWeb.modalCambiarEstado)
{
ClassWeb.modalCambiarEstado.modal("hide");
}
}
});
return false;
};
static cambiarComisionContrato(e)
{
ClassWeb.modalCambiarComision = ClassBlockUI.abrirBlockUIEstandar("modalCambiarComision", undefined, "Cambiar Comisión", "modal493");
let comision = $("#frmCCCIdEstado");
comision.val($(this).attr("data-idComision"));
$("#frmCCCIDContrato").val($(this).attr("data-idContrato"));
comision.trigger("change");
return false;
};
static enivarCambiarComisionContrato(e) {
let modal = Utils.sendStandardAjax("frmContratosCambiarComision", "ajax/Contrato.cambiarComision.php", {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(typeof tablatablaContratos !== 'undefined')
{
tablatablaContratos.ajax.reload();
}
if(typeof tablatablaRenovaciones !== 'undefined')
{
tablatablaRenovaciones.ajax.reload();
}
modal.modal("hide");
if(ClassWeb.modalCambiarComision)
{
ClassWeb.modalCambiarComision.modal("hide");
}
}
});
return false;
};
static initRenovaciones(esAdmin)
{
$(document).ready(function () {
tablatablaRenovaciones.on('click', 'tr td:not(.contieneBtnEstado, .noVis, .contieneDNI, .contieneCUPS)', function () {
var data = tablatablaRenovaciones.row($(this).parent()).data();
window.open("/contratos/?id="+data[1], '_blank');
});
var body = $("body");
if(esAdmin)
{
body.on("click", ".contrato-estado", ClassWeb.cambiarEstadoContrato);
body.on("change", "#frmCCEIdEstado", ClassWeb.mostarOcultarNotas);
body.on("click", ".btnCambiarEstado", ClassWeb.enivarCambiarEstadoContrato);
body.on("click", ".contrato-comision", ClassWeb.cambiarComisionContrato);
body.on("click", ".btnCambiarComision", ClassWeb.enivarCambiarComisionContrato);
}
body.on("click", ".btnExportarContratos", function(e) {
window.location = "/exportarDatos.php?t=gcont_&draw="+tablatablaRenovaciones.ajax.params().draw;
return false;
});
});
};
static recargaTablaContratos(urlAjax, idCliente, idCompania, idTarifa, idEstado, fechas, hoy)
{
var url = urlAjax.replaceAll("%idCliente%", idCliente > 0 ? idCliente : 0).replaceAll("%idCompania%", idCompania).replaceAll("%idTarifa%", idTarifa).replaceAll("%idEstado%", idEstado).replaceAll("%hoy%", hoy);
if(fechas != undefined)
{
if(fechas[0])
{
url = url + "&fechaInicio="+fechas[0].join("/");
}
if(fechas[1])
{
url = url + "&fechaFin="+fechas[1].join("/");
}
}
tablatablaContratos.ajax.url(url).load();
}
static cargarDatosCliente(urlAjax, cliente, idCompania, idEstado, hoy)
{
//Quitamos CONTRATOS DE COMPANIA y que ponga solo CONTRATOS al buscar un cliente
let tituloContratos = $(".tituloContratos");
tituloContratos.html(tituloContratos.attr("data-titulo"));
ClassWeb.recargaTablaContratos(urlAjax, cliente === undefined || cliente.bloqueado ? "0" : cliente.datos.gc_idCliente, idCompania, idEstado, hoy);
let mostrarOcultarBloques = $(".datosAdjuntos, .btnEditarCliente, #frmCliente");
let btnAnadirContratos = $(".btnAñadirContratos");
if(cliente === undefined)
{
mostrarOcultarBloques.addClass("d-none");
$("#frmCliente")[0].reset();
btnAnadirContratos.attr("data-idCliente", 0);
return;
}
else if(cliente.id === -1)
{
window.location = "/contratos/?dniNuevoCliente="+cliente.datos.gc_DNI;
return;
}
else if(cliente.bloqueado)
{
let modal = ClassBlockUI.abrirBlockUIEstandarMensaje("El cliente que estás tratando de gestionar pertenece a otro comercial y por tanto no puedes hacer contratos ni editar este cliente.", true, function(){
modal.modal("hide");
$("#frmBuscarClienteDNI").val("");
}, "");
mostrarOcultarBloques.addClass("d-none");
$("#frmCliente")[0].reset();
btnAnadirContratos.attr("data-idCliente", 0);
return;
}
mostrarOcultarBloques.removeClass("d-none");
$("#frmClienteID").val(cliente["datos"]["gc_idCliente"]);
$("#frmClienteDNI").val(cliente["datos"]["gc_DNI"]);
$("#frmClienteNombre").val(cliente["datos"]["gc_nombre"]);
$("#frmClienteTelefono").val(cliente["datos"]["gc_telefono"]);
$("#frmClienteEmail").val(cliente["datos"]["gc_email"]);
$("#frmClienteApodo").val(cliente["datos"]["gc_apodo"]);
$("#frmClienteIBAN").val(cliente["datos"]["gc_IBAN"]);
$("#frmClienteRepresentante").val(cliente["datos"]["gc_representante"]);
$("#frmClienteNIFRepresentante").val(cliente["datos"]["gc_NIF_representante"]);
$("#frmClienteNombreRepresentante").val(cliente["datos"]["gc_nombre_representante"]);
$("#frmClienteComercial").val(cliente["datos"]["nombre"]);
$("#frmClienteidComercial").val(cliente["datos"]["gc_idComercial"]);
$("#frmClienteEnlace").val(cliente["datos"]["enlaceCliente"]);
$("#frmClienteRepresentante").trigger("change");
$(".datosAdjuntos").html("");
if(cliente["adjuntos"] !== undefined)
{
$(".bloqueDatosAdjuntos").removeClass("d-none");
let template = ' ';
for(var index in cliente["adjuntos"])
{
let adjunto = cliente["adjuntos"][index];
$(".datosAdjuntos").append(template.replaceAll("%titulo%", adjunto["gcd_titulo"]).replaceAll("%gcd_idClienteDocumento%", adjunto["gcd_idClienteDocumento"]).replaceAll("%readonly%", "readonly").replaceAll("%deleteVisible%", "d-none"));
}
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
}
else
{
$(".bloqueDatosAdjuntos").addClass("d-none");
}
btnAnadirContratos.attr("data-idCliente", cliente["datos"]["gc_idCliente"]);
setTimeout(function () {
$("#frmBuscarClienteDNI").val("");
}, 100);
setTimeout(function () {
$("body").focus();
$("#frmClienteDNI").focus();
}, 1000);
}
static cargarDatosComercial(comercial, formIdField, formIdName)
{
let formIdComercial = $("#"+formIdField);
let formComercial = $("#"+formIdName);
if(comercial === undefined || comercial["id"]*1 === -1)
{
formIdComercial.val("");
formComercial.val("");
setTimeout(function () {
formComercial.val("");
}, 400)
return;
}
formIdComercial.val(comercial["datos"]["idUsuario"]);
formComercial.val(comercial["datos"]["nombre"]);
}
static cargarDatosClienteAutocomplete(cliente, formIdField, formIdName)
{
let formIdCliente = $("#"+formIdField);
let formCliente = $("#"+formIdName);
if(cliente === undefined || cliente["id"]*1 === -1)
{
formIdCliente.val("");
formCliente.val("");
setTimeout(function () {
formCliente.val("");
}, 400)
return;
}
formIdCliente.val(cliente["datos"]["gc_idCliente"]);
formCliente.val(cliente["datos"]["nombre"]);
}
static initGuardarCliente(redireccion) {
$(document).ready(function () {
var body = $("body");
body.on("click", ".btnGuardarCliente", function(e) {
let esperaPorFavor = Utils.sendStandardAjax("frmCliente", "ajax/Clientes.editar.php", {
"opcionesValidacion": {
showLabels: false,
rules:
{
"frmClienteNIFRepresentante":
{
required: function () { return $("#frmClienteRepresentante").val()*1 == 1}
},
"frmClienteNombreRepresentante":
{
required: function () { return $("#frmClienteRepresentante").val()*1 == 1}
}
}
},
successCallback: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]*1>=0)
{
if(redireccion !== undefined && redireccion !== "")
{
window.location = redireccion;
}
else
{
esperaPorFavor.modal("hide");
$("#frmContratoIdCliente").val(data["idCliente"])
$(".btnGuardarCliente").hide();
$(".btnGuardarContrato").removeClass("d-none");
$("#frmContrato").removeClass("d-none");
$("#frmCliente input, #frmCliente select, #frmCliente textarea").each(function(){
$(this).prop("readonly", true);
$(this).prop("disabled", true);
$(this).addClass("readonly");
});
}
}
else
{
var errorMessage="
";
var lastError = "";
for(var i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"
\r\n";
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, undefined);
}
}
});
});
body.on("click", ".btnEliminarDocumento", function(e) {
let idDocumento = $(this).attr("data-idClienteDocumento");
let titulo = $(this).attr("data-titulo");
let confirmar = ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas borrar el documento %1%?".replaceAll("%1%", titulo),"Aceptar", function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/ClientesDocumentos.eliminar.php?id="+idDocumento, {
"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]>=0)
{
$(".documento_"+idDocumento).hide();
esperePorFavor.modal("hide");
confirmar.modal("hide");}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "");
}
}
});
}, "Cancelar")
});
});
};
static isValidNumericoPuntoSeparadorMiles(value)
{
let regex = /^([1-9]\d{0,2}(.?\d{3})*|0)?$/
//console.log(value, regex.test(value), "isValidNumericoPuntoSeparadorMiles");
return regex.test(value);
};
static isValidNumericoDecimalesComa(value)
{
let regex = /^(?:\d{1,3}(?:\.\d{3})+|\d+)(?:,\d+)?$/
//console.log(value, regex.test(value), "isValidNumericoDecimalesComa");
return regex.test(value);
};
static isValidCUPS(value)
{
let ret = false;
const reCUPS = /^[A-Z]{2}(\d{4}\d{12})([A-Z]{2})(\d[FPCRXYZ])?$/i;
if (reCUPS.test(value)) {
const mCUPS = value.toUpperCase().match(reCUPS);
const [, cups16, control] = mCUPS;
const letters = [
'T', 'R', 'W', 'A', 'G', 'M',
'Y', 'F', 'P', 'D', 'X', 'B',
'N', 'J', 'Z', 'S', 'Q', 'V',
'H', 'L', 'C', 'K', 'E',
];
const cup16Mod = +cups16 % 529,
quotient = Math.floor(cup16Mod / letters.length),
remainder = cup16Mod % letters.length;
//console.log(letters[quotient] + letters[remainder]);
ret = (control === letters[quotient] + letters[remainder]);
}
return ret;
}
static isDateES(value, element, validator, forceGetDate)
{
var date = null;
var separators = new Array("\\", "-", "/");
for(var index in separators)
{
if(value.indexOf(separators[index])!=-1)
{
date = value.split(separators[index]);
}
}
if(date == null || date.length!=3 || date[1]*1>12 || date[0]*1>31)
{
return (validator.optional(element) || false);
}
var validDate = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/.test(date[1]+"/"+date[0]+"/"+date[2]);
if(forceGetDate==undefined)
{
return validator.optional(element) || (validDate && !/Invalid|NaN/.test(new Date(date[1]+"/"+date[0]+"/"+date[2])));
}
else
{
if((validDate && !/Invalid|NaN/.test(new Date(date[1]+"/"+date[0]+"/"+date[2]))))
{
return new Date(date[1]+"/"+date[0]+"/"+date[2]);
}
else
{
return false;
}
}
};
static dateENtoES(value)
{
//de 2023-08-02 a 02/08/2023
return value.split("-").reverse().join("/");
}
static initGuardarContrato() {
$(document).ready(function () {
jQuery.validator.addMethod("numericoPuntoSeparadorMiles", function(value, element) {
return this.optional(element) || (ClassWeb.isValidNumericoPuntoSeparadorMiles(value))
}, "Debes escribir un número con un formato válido (1000 o 1.000)");
jQuery.validator.addMethod("numericoDecimalesComa", function(value, element) {
return this.optional(element) || (ClassWeb.isValidNumericoDecimalesComa(value))
}, "Debes escribir un número con un formato válido (100,39)");
jQuery.validator.addMethod("CUPS", function(value, element) {
return this.optional(element) || (ClassWeb.isValidCUPS(value))
}, "Debes escribir un CUPS valido (20 digitos de la forma: ES0000000000000000XX)");
jQuery.validator.addMethod("dateES", function(value, element) {
return this.optional(element) || ClassWeb.isDateES(value, element, this)
}, "
Escriba una fecha del formato DD/MM/AAAA (dia, mes y año)");
jQuery.validator.addMethod("dateInputES", function(value, element) {
value = ClassWeb.dateENtoES(value);
return this.optional(element) || ClassWeb.isDateES(value, element, this)
}, "
Escriba una fecha del formato DD/MM/AAAA (dia, mes y año)");
var body = $("body");
body.on("click", ".btnGuardarContrato", function(e) {
let esperaPorFavor = Utils.sendStandardAjax("frmContrato", "ajax/Contrato.editar.php?idCliente="+$("#frmContratoIdCliente").val()+"&frmDualIdProducto="+$("#frmDualIdProducto").val(), {
successCallback: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]*1>=0)
{
window.location = "/contratos/?id="+data["id"];
//window.location.reload();
}
else
{
var errorMessage="
";
var lastError = "";
for(var i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"
\r\n";
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, undefined);
}
},
"opcionesValidacion": {
showLabels: false,
rules: {
"frmContratoCP": {
number: true,
minlength: 5,
maxlength: 5,
},
"frmContratoPotencia":
{
numericoDecimalesComa: true,
required: function() {
return ($("#frmContratoIdProducto").val()*1 === 1)
}
},
//"frmContratoPrecioKWActual":
//{
// numericoDecimalesComa: true,
//},
//"frmContratoPrecioKWNuevo":
//{
// numericoDecimalesComa: true,
//},
"frmContratoConsumo":
{
numericoPuntoSeparadorMiles: true
},
"frmContratoCUPS":
{
CUPS: true
},
"frmDualPotencia":
{
numericoDecimalesComa: true,
required: function() {
return ($("#frmDualIdProducto").val()*1 === 1)
}
},
"frmDualConsumo":
{
numericoPuntoSeparadorMiles: true
},
"frmDualCUPS":
{
CUPS: true
},
}
}
});
});
});
};
static muestraOcultaRepresentante()
{
if($(this).val()*1 === 1)
{
$(".contieneDatosRepresentante").show();
}
else
{
$(".contieneDatosRepresentante").hide();
}
};
static initClientesDatos(idCliente) {
$(document).ready(function () {
var body = $("body");
let autocompleteBuscarComercial = $("#frmClienteComercial");
autocompleteBuscarComercial.keyup(function () {
if($(this).val() === "")
{
ClassWeb.cargarDatosComercial(undefined, "frmClienteidComercial", "frmClienteComercial");
}
});
autocompleteBuscarComercial.autocomplete({
source: "ajax/Comerciales.buscar.php?CSRF="+CSRF,
minLength: 3,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").data("item", null).removeClass("selected");
ClassWeb.cargarDatosComercial(undefined, "frmClienteidComercial", "frmClienteComercial");
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item).addClass("selected");
ClassWeb.cargarDatosComercial(ui.item, "frmClienteidComercial", "frmClienteComercial");
}
});
$("#frmClienteRepresentante").change(ClassWeb.muestraOcultaRepresentante).trigger("change");
body.on("click", ".btnEditarCliente", function(e) {
window.location = "/contratos/?idCliente="+$("#frmClienteID").val();
return false;
});
let template = ' ';
var uploader = new plupload.Uploader({
runtimes : 'html5',
browse_button : 'pickfiles', // you can pass in id...
container: document.getElementById('container'), // ... or DOM Element itself
url : "/ajax/ClientesDocumentos.subirFicheros.php?CSRF="+CSRF+"&idCliente="+idCliente,
filters : {
max_file_size : '100mb'
},
init: {
PostInit: function() {
document.getElementById('filelist').innerHTML = '';
},
FilesAdded: function(up, files) {
plupload.each(files, function(file) {
document.getElementById('filelist').innerHTML += '' + file.name + ' (' + plupload.formatSize(file.size) + ')
';
});
uploader.start();
},
UploadProgress: function(up, file) {
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '' + file.percent + "%";
},
Error: function(up, err) {
document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
},
FileUploaded: function(up, file, object) {
let response = jQuery.parseJSON(object.response);
if(object.status === 200 && response.OK === 1)
{
$(".datosAdjuntos").append(template.replaceAll("%titulo%", response.info.name).replaceAll("%gcd_idClienteDocumento%", response.info.gcd_idClienteDocumento).replaceAll("%readonly%", "").replaceAll("%deleteVisible%", ""));
}
else
{
if(response.error_number*1 <= 0)
{
$.notify(
{
title: "Aviso: ",
message: response.error_message,
},
{
type: 'danger',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
}
}
},
UploadComplete: function (up, files){
document.getElementById('filelist').innerHTML = '';
document.getElementById('console').innerHTML = '';
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
}
}
});
uploader.init();
$(".btnCopiarEnlaceCliente").makeTagLink(function () {
var $temp = $("");
$("body").append($temp);
$temp.val($("#frmClienteEnlace").val()).select();
document.execCommand("copy");
$temp.remove();
$.notify(
{
title: "Aviso: ",
message: "Enlace copiado",
},
{
type: 'info',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
});
});
};
static compruebaGasPotencia(contratoDual)
{
let potencia = contratoDual === false ? $("#frmContratoPotencia") : $("#frmDualPotencia");
let producto = contratoDual === false ? $("#frmContratoIdProducto") : $("#frmDualIdProducto");
if(producto.is('[readonly]') && !contratoDual)
{
if(producto.val()*1 === 2)
{
potencia.val("");
}
return;
}
if(producto.val()*1 === 2)
{
potencia.prop("readonly", true);
potencia.addClass("readonly");
potencia.data("value", potencia.val());
potencia.val("");
}
else
{
potencia.prop("readonly", false);
potencia.removeClass("readonly");
let value = potencia.data("value");
if(value !== undefined)
{
potencia.val(value);
}
}
}
static productoCambiado()
{
ClassWeb.actualizarTarifaOferta(false);
ClassWeb.compruebaGasPotencia(false);
ClassWeb.compruebaGasPotencia(true);
$(".contratoDual").hide();
ClassWeb.actualizaContratoDual();
}
static productoCambiadoDual()
{
ClassWeb.actualizarTarifaOferta(true);
ClassWeb.compruebaGasPotencia(true);
}
static muestraOcultaContratoDual()
{
let contratoDual = $("#frmContratoDual").val()*1;
let producto = $("#frmContratoIdProducto").val()*1;
if(contratoDual === 1 && producto>0)
{
$(".contratoDual").show();
}
else
{
$(".contratoDual").hide();
}
$("#frmDualIdCompania").trigger("change");
}
static actualizaContratoDual()
{
let producto = $("#frmContratoIdProducto");
if(producto.val()*1 === 1)
{
$("#frmDualIdProducto").val(2);
ClassWeb.muestraOcultaContratoDual();
}
else if(producto.val()*1 === 2)
{
$("#frmDualIdProducto").val(1);
ClassWeb.muestraOcultaContratoDual();
}
}
static initDatosContratos(esAdmin, idCompania, idProducto, idTarifa, idOferta) {
$(document).ready(function () {
$("#frmContratoDual").change(ClassWeb.muestraOcultaContratoDual);
let companiaProducto = $("#frmContratoIdCompania, #frmContratoIdProducto");
companiaProducto.change(ClassWeb.productoCambiado);
let companiaProductoDual = $("#frmDualIdCompania, #frmDualIdProducto");
companiaProductoDual.change(ClassWeb.productoCambiadoDual);
//ClassWeb.actualizarTarifaOferta();
var body = $("body");
if(esAdmin)
{
let autocompleteBuscarComercial = $("#frmContratoUsuario");
autocompleteBuscarComercial.keyup(function () {
if($(this).val() === "")
{
ClassWeb.cargarDatosComercial(undefined, "frmContratoIdUsuario", "frmContratoUsuario");
}
});
autocompleteBuscarComercial.autocomplete({
source: "ajax/Comerciales.buscar.php?CSRF="+CSRF,
minLength: 3,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").data("item", null).removeClass("selected");
ClassWeb.cargarDatosComercial(undefined, "frmContratoIdUsuario", "frmContratoUsuario");
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item).addClass("selected");
ClassWeb.cargarDatosComercial(ui.item, "frmContratoIdUsuario", "frmContratoUsuario");
}
});
}
let autocompleteBuscarCliente = $("#frmContratoCliente");
autocompleteBuscarCliente.keyup(function () {
if($(this).val() === "")
{
ClassWeb.cargarDatosClienteAutocomplete(undefined, "frmContratoIdCliente", "frmContratoCliente");
}
});
autocompleteBuscarCliente.autocomplete({
source: "ajax/Clientes.buscar.php?crearCliente=0&CSRF="+CSRF,
minLength: 3,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").data("item", null).removeClass("selected");
ClassWeb.cargarDatosClienteAutocomplete(undefined, "frmContratoIdCliente", "frmContratoCliente");
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item).addClass("selected");
ClassWeb.cargarDatosClienteAutocomplete(ui.item, "frmContratoIdCliente", "frmContratoCliente");
}
});
body.on("click", ".btnEliminarContrato", function(e) {
var idContrato = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas borrar el contrato?", "Aceptar", function () {
Utils.sendStandardAjax(null, "ajax/Contrato.eliminar.php?id="+idContrato);
}, "Cancelar");
return false;
});
body.on("click", ".btnEditarContrato", function(e) {
var idContrato = $(this).attr("data-id");
window.location = "/contratos/?id="+idContrato+"&e=1";
return false;
});
let compania = $("#frmContratoIdCompania");
if(idCompania > 0 && compania.val()*1!==idCompania)
{
compania.append("");
compania.val(idCompania);
}
let producto = $("#frmContratoIdProducto");
if(idProducto > 0 && producto.val()*1!==idProducto)
{
producto.append("");
producto.val(idProducto);
}
let tarifa = $("#frmContratoIdTarifa");
if(idTarifa > 0 && tarifa.val()*1!==idTarifa)
{
tarifa.append("");
tarifa.val(idTarifa);
}
let oferta = $("#frmContratoIdOferta");
if(idOferta > 0 && oferta.val()*1!==idOferta)
{
oferta.append("");
oferta.val(idOferta);
}
let autocompleteBuscarCP = $("#frmContratoCP");
if(!autocompleteBuscarCP.is('[readonly]'))
{
autocompleteBuscarCP.keyup(function () {
if($(this).val() === "")
{
ClassWeb.cargarPoblacion();
}
});
autocompleteBuscarCP.autocomplete({
source: "ajax/CP.buscar.php?CSRF="+CSRF,
minLength: 3,
response: function( event, ui ) {
if (!ui.content.length) {
var noResult = { value:"",label:"No results found" };
ui.content.push(noResult);
$.notify(
{
title: "Error: ",
message: "No se ha podido buscar el CP indicado, por favor asegurese de que escribe un codigo postal correcto y dispone de conexion a internet.",
},
{
type: 'danger',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
}
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").data("item", null).removeClass("selected");
ClassWeb.cargarPoblacion();
}
},
select: function (event, ui) {
$(event.target).data("item", ui.item).addClass("selected");
ClassWeb.cargarPoblacion(ui.item);
},
open: function(event, ui){
if($(".ui-menu-item").length == 1)
{
$(".ui-menu-item:eq(0)").trigger("click");
return false;
}
},
focus : function(){ return false; }
});
autocompleteBuscarCP.on( 'autocompleteselect', function( e, ui ){
var cp_input = $(this),
poblacion_input = $('#frmContratoPoblacion'),
provincia_input = $('#frmContratoProvincia'),
cp = ( e.type == 'autocompleteresponse' ? ui.content[0].cp : ui.item.cp ),
poblacion = ( e.type == 'autocompleteresponse' ? ui.content[0].poblacion : ui.item.poblacion ),
provincia = ( e.type == 'autocompleteresponse' ? ui.content[0].provincia : ui.item.provincia );
cp_input.val( cp );
poblacion_input.val(poblacion );
provincia_input.val(provincia );
return false;
});
autocompleteBuscarCP.click(function () {
autocompleteBuscarCP.autocomplete("search", autocompleteBuscarCP.val());
});
}
let potencia = $("#frmContratoPotencia, #frmDualPotencia");
potencia.keyup(function () {
$(this).val($(this).val().replace(".", ","));
});
$("#frmContratoIdCompania").change(function ()
{
ajustarMeses($("#frmContratoIdCompania"), $("#frmContratoMesesRenovacion"));
});
$("#frmDualIdCompania").change(function ()
{
ajustarMeses($("#frmDualIdCompania"), $("#frmDualMesesRenovacion"));
});
//
//let precioKWActual = $("#frmContratoPrecioKWActual");
//precioKWActual.keyup(function () {
// $(this).val($(this).val().replace(".", ","));
//});
//
//let precioKWNuevo = $("#frmContratoPrecioKWNuevo");
//precioKWNuevo.keyup(function () {
// $(this).val($(this).val().replace(".", ","));
//});
ClassWeb.compruebaGasPotencia(false);
ClassWeb.compruebaGasPotencia(true);
});
function ajustarMeses(companiaElement, mesesElement) {
const valor = companiaElement.val();
if (valor == 30) {
mesesElement.find("option[value='']").after("");
mesesElement.val(9999999);
} else {
mesesElement.find("option[value='9999999']").remove();
if (mesesElement.val() == "")
mesesElement.val(12);
}
}
};
static cargarPoblacion(item)
{
$("#frmContratoIdPoblacion").val(item === undefined ? "" : item["id"]);
}
static initGestionUsuario() {
var body = $("body");
body.on("click", ".btnGuardarGestionUsuario", function(e) {
var opciones = {
"opcionesValidacion":
{
showLabels: false,
rules:
{
"frmUsuariosRepiteContrasena":
{
"equalTo": "#frmUsuariosContrasena"
}
}
},
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]>=0) {
$(".modal").modal("hide");
$("#tablaEquipo").DataTable().ajax.reload();
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
}
};
Utils.sendStandardAjax("frmUsuarios", "ajax/Usuarios.editar.php", opciones);
return false;
});
body.on("change", "input[name='frmProductosTipoUsuario']", ClassWeb.preparaTipoUsuario);
ClassWeb.preparaTipoUsuario();
};
static preparaTipoUsuario()
{
$(".form-group-extra-gerente").addClass("d-none");
switch($("input[name='frmProductosTipoUsuario']:checked").val()*1)
{
case 1:
{
$("#frmProductosIdPadreAdministrador").attr("disabled", true);
$("#frmProductosIdPadreGerente").attr("disabled", true);
break;
}
default:
case 3:
{
$("#frmProductosIdPadreAdministrador").attr("disabled", true);
$("#frmProductosIdPadreGerente").attr("disabled", false);
break;
}
case 2:
{
$("#frmProductosIdPadreAdministrador").attr("disabled", false);
$("#frmProductosIdPadreGerente").attr("disabled", true);
$(".form-group-extra-gerente").removeClass("d-none");
break;
}
}
}
static initEquipo($urlAjax) {
$(document).ready(function () {
var body = $("body");
$("#tab-equipo").on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function (e) {
const estado = $(this).attr("data-estado");
tablatablaEquipo.ajax.url($urlAjax+"&estado="+estado).load();
});
body.on("click", ".btnEditarUsuario", function(e) {
let idUsuario = $(this).attr("data-idUsuario");
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Usuarios.datos.php?idUsuario="+idUsuario, {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]>=0)
{
esperePorFavor.modal("hide");
ClassWeb.abrirEditarUsuario(idUsuario);
/*
objetivo*/
$("#frmUsuariosNombre").val(data["datos"]["nombre"]);
$("#frmUsuariosTelefono").val(data["datos"]["telefono"]);
$("#frmUsuariosEmail").val(data["datos"]["email"]);
$("#frmProductosTipoUsuario").val(data["datos"]["idRol"]);
$("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").val("");
const tipoLiq = data["datos"]["tipoLiquidacion"];
$("input[name='frmProductosTipoLiquidacion'][value='"+tipoLiq+"']").prop("checked", true);
ClassWeb.setIdRol(data["datos"]["idRol"]*1, data["datos"]["idSuperior"]);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "");
}
}
})
return false;
});
body.on("click", ".btnBloquearDesbloquear", function(e) {
let idUsuario = $(this).attr("data-idUsuario");
let estado = $(this).attr("data-estado")*1;
let bloqueado = estado === 0 ? 1 : 0;
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Usuarios.bloquearDesbloquear.php?idUsuario="+idUsuario+"&bloqueado="+bloqueado, {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]>=0)
{
esperePorFavor.modal("hide");
tablatablaEquipo.ajax.reload();
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "");
}
}
})
return false;
});
body.on("click", ".btnAnadirUsuario", function(e) {
ClassWeb.abrirEditarUsuario(0);
$("#frmUsuarios")[0].reset();
ClassWeb.setIdRol(1);
$(".soloExistentes").hide();
$("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").addClass("required");
return false;
});
$(".barra_busqueda_global").html("");
$(".barra_busqueda_global").append($(".dataTables_filter input").detach());
});
};
static setIdRol(idRol, idSuperior)
{
switch (idRol)
{
case 1:
{
$("#frmProductosTipoUsuarioAdministrador").prop("checked", true).trigger('change');
break;
}
case 2:
{
$("input[name='frmProductosTipoUsuario'][value="+2+"]").attr("checked", "checked");
$("#frmProductosIdPadreAdministrador").val(idSuperior);
$("#frmProductosTipoUsuarioGerente").prop("checked", true).trigger('change');
break;
}
default:
case 3:
{
$("input[name='frmProductosTipoUsuario'][value="+3+"]").attr("checked", "checked");
$("#frmProductosIdPadreGerente").val(idSuperior);
$("#frmProductosTipoUsuarioComercial").prop("checked", true).trigger('change');
break;
}
}
};
static abrirEditarUsuario(idUsuario)
{
$("#frmUsuariosID").val(idUsuario);
$(".soloExistentes").show();
$("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").removeClass("required");
ClassBlockUI.abrirBlockUIEstandar("modalUsuarios", undefined, "Gestión de Usuarios", "modal493");
};
static requierePasswordActualNuevo()
{
return $("#frmUsuarioPassActual").val() !== "" || $("#frmUsuarioPassNueva").val() !== "" || $("#frmUsuarioPassRepite").val() !== "";
}
static initMisDatos() {
$(document).ready(function () {
var body = $("body");
body.on("click", ".btnGuardarMisDatos", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmUsuario", "ajax/Usuarios.actualizar.php", {
"opcionesValidacion": {
showLabels: false,
rules:
{
"frmUsuarioPassActual":
{
required: ClassWeb.requierePasswordActualNuevo
},
"frmUsuarioPassNueva":
{
required: ClassWeb.requierePasswordActualNuevo
},
"frmUsuarioPassRepite":
{
required: ClassWeb.requierePasswordActualNuevo,
"equalTo": "#frmUsuarioPassNueva"
}
}
},
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]*1>=0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "");
}
else
{
var errorMessage="
";
var lastError = "";
for(var i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"
\r\n";
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, undefined);
}
}
})
return false;
});
});
};
static initObjetivos() {
$(document).ready(function () {
var body = $("body");
body.on("click", ".btnGuardarMisObjetivos", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmObjetivos", "ajax/Usuarios.objetivos.php", {
"successCallback": function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]*1>=0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "");
}
else
{
var errorMessage="
";
var lastError = "";
for(var i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"
\r\n";
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, undefined);
}
}
})
return false;
});
});
};
static refrescaTabla(idTabla, indexTablaMovil)
{
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$(".inputIconLupa, .inputMostrar").removeClass("d-none");
$(".form-control").removeClass().addClass("form-control-b");
//var numItems = 0;
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;
}
//if (numItems > $("#"+idTabla+"_length select").val()) {
// $("#"+idTabla+"_wrapper .pagination-footer").removeClass("opacity-0");
//} else {
// $("#"+idTabla+"_wrapper .pagination-footer").addClass("opacity-0");
//}
//Formato movil
const numColumnaMv = indexTablaMovil !== undefined ? indexTablaMovil : 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));
}
}
else //Mostrar
{
for(let i = 0; i < numColumnas; i++)
{
let txt = $(tabla.columns(i).header()).text();
let noVis = $(tabla.columns(i).header()).hasClass("forceNoVis");
tabla.column(i).visible((!(txt === "oculto" || numColumnaMv === i || noVis)));
}
}
}
};
static notify(msg, error = false)
{
const type = error ? "danger" : "success";
$.notify({
message: msg,
}, {
type: type,
placement: {
from: "top",
align: "right"
},
delay: 3000
});
}
static filtrarFechaContratos()
{
ClassWeb.modalFiltrarFechas = ClassBlockUI.abrirBlockUIEstandar("modalFiltrarFecha", undefined, "Fechas", "");
};
static borrarAvanzadosContratos()
{
$(".select2").val("").trigger("change");
$("#frmFechaDesde").val("");
$("#frmFechaHasta").val("");
};
static activarFiltrosAvanzadosContratos(idTabla)
{
if(ClassWeb.filtrosContratosActivados === 1)
{
return;
}
$(".btnActivarFiltros").addClass("d-none");
$(".btnBorrarFiltros").removeClass("d-none");
ClassWeb.filtrosContratosActivados = 1;
let count = 0;
//$(".select2").remove();
$( "#"+idTabla ).dataTable().api().columns().every( function (columnIndex) {
let columnName = this.settings()[0].aoColumns[columnIndex]["name"];
let columnTitle = this.settings()[0].aoColumns[columnIndex]["titulo"];
var column = this;
if(!columnName || columnName === "ignorar" || columnName === "oculto" || !column.visible())
{
return;
}
var title = columnTitle.replace(/[\W]/g, '-');
var select = $('')
.appendTo( $(column.header()) )
.on( 'change', function () {
//Get the "text" property from each selected data
//regex escape the value and store in array
var data = $.map( $(this).select2('data'), function( value, key ) {
return value.id ? '' + $.fn.dataTable.util.escapeRegex(value.id) + '' : null;
});
//if no data selected use ""
if (data.length === 0) {
data = [""];
}
//join array into string with regex or (|)
var val = data.join('||');
//search for the option(s) selected
column
.search( val ? val : '' )
.draw();
} );
//column.data().unique().sort().each( function ( d, j ) {
// select.append( '' );
//} );
//use column title as selector and placeholder
$('#' + columnName).select2({
multiple: true,
closeOnSelect: false,
placeholder: columnTitle,
ajax: {
url: 'ajax/Contratos.datosColumna.php?CSRF='+CSRF+'&idColumna='+columnName+"&idTabla="+idTabla,
dataType: 'json',
// Additional AJAX parameters go here; see the end of this chapter for the full code of this example
processResults: function (data) {
// Transforms the top-level key of the response object from 'items' to 'results'
return {
results: data.items
};
}
}
});
} );
//initially clear select otherwise first option is selected
//$('.select2').val(null).trigger('change');
};
static borrarAvanzadosEquipo()
{
$(".select2").val("").trigger("change");
};
static activarFiltrosAvanzadosEquipo(idTabla)
{
if(ClassWeb.filtrosContratosActivados === 1)
{
return;
}
$(".btnActivarFiltros").addClass("d-none");
$(".btnBorrarFiltros").removeClass("d-none");
ClassWeb.filtrosContratosActivados = 1;
let count = 0;
//$(".select2").remove();
$( "#"+idTabla ).dataTable().api().columns().every( function (columnIndex) {
let columnName = this.settings()[0].aoColumns[columnIndex]["name"];
let columnTitle = this.settings()[0].aoColumns[columnIndex]["titulo"];
var column = this;
if(!columnName || columnName === "ignorar" || columnName === "oculto" || !column.visible())
{
return;
}
var title = columnTitle.replace(/[\W]/g, '-');
var select = $('')
.appendTo( $(column.header()) )
.on( 'change', function () {
//Get the "text" property from each selected data
//regex escape the value and store in array
var data = $.map( $(this).select2('data'), function( value, key ) {
return value.id ? '' + $.fn.dataTable.util.escapeRegex(value.id) + '' : null;
});
//if no data selected use ""
if (data.length === 0) {
data = [""];
}
//join array into string with regex or (|)
var val = data.join('||');
//search for the option(s) selected
column
.search( val ? val : '' )
.draw();
} );
//column.data().unique().sort().each( function ( d, j ) {
// select.append( '' );
//} );
//use column title as selector and placeholder
$('#' + columnName).select2({
multiple: true,
closeOnSelect: false,
placeholder: columnTitle,
ajax: {
url: 'ajax/Equipo.datosColumna.php?CSRF='+CSRF+'&idColumna='+columnName+"&idTabla="+idTabla,
dataType: 'json',
// Additional AJAX parameters go here; see the end of this chapter for the full code of this example
processResults: function (data) {
// Transforms the top-level key of the response object from 'items' to 'results'
return {
results: data.items
};
}
}
});
} );
//initially clear select otherwise first option is selected
//$('.select2').val(null).trigger('change');
};
static initVerContrato(idCliente) {
let body = $("body");
body.on("click", ".btnAñadirContratos", function(e) {
window.location = "/contratos/?idCliente=" + idCliente + "&c=1";
});
};
static initEquipoComisiones(idUsuario, tablaComisiones, tablaAdelantos, tablaReferidos) {
$(document).ready(function () {
var body = $("body");
/*body.on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function (e) {
const tab = $(this).attr('href');
$(".btnNuevoAdelanto, .btnGuardarCitas, .btnNuevoReferido").addClass("d-none");
if (tab === "#tab-adelantos") {
$(".btnNuevoAdelanto").removeClass("d-none");
}
else if (tab === "#tab-citasPorcentajeVenta") {
$(".btnGuardarCitas").removeClass("d-none");
}
else if (tab === "#tab-referidos") {
$(".btnNuevoReferido").removeClass("d-none");
}
});*/
initComisiones(body, tablaComisiones);
initAdelantos(body, tablaAdelantos);
initCitasPorcentajeVentas(body);
initReferidos(body, tablaReferidos);
});
function initReferidos(body, tablaReferidos) {
const referidoIdElement = $("#frmReferidosReferidoID");
body.on("click", ".btnNuevoReferido, .btnEditarReferido", function (e) {
const idReferido = $(this).attr("data-idreferido") || -1;
const referido = $(this).attr("data-nombre");
const porcentaje = $(this).attr("data-porcentaje");
ClassBlockUI.abrirBlockUIEstandar("modalReferidos", undefined, "Gestionar Referidos", "modal493");
$("#frmReferidosUsuarioID").val(idUsuario);
referidoIdElement.val(idReferido);
$("#frmReferidosReferido").val(referido);
$("#frmReferidosPorcentaje").val(porcentaje);
return false;
});
body.on("click", ".btnGuardarReferido", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmReferidos", "ajax/UsuariosReferidos.editar.php", {
"successCallback": function(data, textStatus, XMLHttpRequest) {
esperePorFavor.modal("hide");
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
$("#" + tablaReferidos).DataTable().ajax.reload();
ClassWeb.notify(data["error_message"]);
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
}
});
return false;
});
body.on("click", ".btnEliminarReferido", function (e) {
const idReferido = $(this).attr("data-idreferido");
const referido = $(this).attr("data-nombre");
ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar al referido %1%?".replaceAll("%1%", referido), "Aceptar", function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosReferidos.eliminar.php?idUsuario="+idUsuario+"&idReferido=" + idReferido, {
"successCallback": function(data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
ClassWeb.notify(data["error_message"], data["error_number"] < 0);
if (data["error_number"] >= 0) {
$("#" + tablaReferidos).DataTable().ajax.reload();
}
}
});
}, "Cancelar");
});
let autocompleteBuscarRef = $("#frmReferidosReferido");
autocompleteBuscarRef.autocomplete({
source: "ajax/Comerciales_Referidos.buscar.php?CSRF="+CSRF,
minLength: 0,
response: function( event, ui ) {
$(event.target).removeClass("ui-autocomplete-loading");
},
change: function (event, ui) {
$(event.target).removeClass("ui-autocomplete-loading");
if(!ui.item)
{
$(event.target).val("").removeClass("selected");
referidoIdElement.val(-1);
}
},
select: function (event, ui) {
$(event.target).addClass("selected");
referidoIdElement.val(ui.item.id);
}
});
autocompleteBuscarRef.focus(function() {
$(this).autocomplete('search', $(this).val())
});
}
function initCitasPorcentajeVentas(body) {
body.on("click", ".btnGuardarCitas", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmCitasPorcentajeVenta", "ajax/UsuariosCitas.editar.php", {
"successCallback": function(data, textStatus, XMLHttpRequest) {
esperePorFavor.modal("hide");
ClassWeb.notify(data["error_message"], data["error_numner"] < 0);
}
});
return false;
});
}
function initAdelantos(body, tablaAdelantos) {
body.on("click", ".btnNuevoAdelanto, .btnEditarAdelanto", function (e) {
const id = $(this).attr("data-id");
const concepto = $(this).attr("data-concepto");
const importe = $(this).attr("data-importe");
ClassBlockUI.abrirBlockUIEstandar("modalAdelantos", undefined, "Gestionar adelantos/extras", "modal493");
$("#frmAdelantosID").val(id);
$("#frmAdelantosConcepto").val(concepto);
$("#frmAdelantosImporte").val(importe);
return false;
});
body.on("click", ".btnEliminarAdelanto", function (e) {
const concepto = $(this).attr("data-concepto");
const importe = $(this).attr("data-importe");
const id = $(this).attr("data-id");
ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar el adelanto de %1%€ con el concepto %2%?".replaceAll("%1%", importe).replaceAll("%2%", concepto), "Aceptar", function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosAdelantos.eliminar.php?id="+id, {
"successCallback": function(data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
ClassWeb.notify(data["error_message"], data["error_number"] < 0);
if (data["error_number"] >= 0) {
$("#" + tablaAdelantos).DataTable().ajax.reload();
}
}
});
}, "Cancelar");
});
body.on("click", ".btnGuardarAdelanto", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmAdelantos", "ajax/UsuariosAdelantos.editar.php", {
"successCallback": function(data, textStatus, XMLHttpRequest) {
esperePorFavor.modal("hide");
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
$("#" + tablaAdelantos).DataTable().ajax.reload();
ClassWeb.notify(data["error_message"]);
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
}
});
return false;
});
}
function initComisiones(body, tablaComisiones) {
body.on("click", ".btnEditarComision", function (e) {
const nombre = $(this).attr("data-title");
ClassBlockUI.abrirBlockUIEstandar("modalComisiones", undefined, "Gestionar comisión de "+nombre, "modal493");
$("#frmComisionesUsuario").val($(this).attr("data-usuario"));
$("#frmComisionesCompania").val($(this).attr("data-compania"));
$("#frmComisionesComision").val($(this).attr("data-comision"));
return false;
});
body.on("click", ".btnEliminarComision", function (e) {
const nombre = $(this).attr("data-title");
const compania = $(this).attr("data-compania");
const usuario = $(this).attr("data-usuario");
const comision = $(this).attr("data-comision");
ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar la comisión de %1%% de la compañia %2%? Se aplicará la comisión global".replaceAll("%1%", comision).replaceAll("%2%", nombre), "Aceptar", function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosComisiones.eliminar.php?compania="+compania+"&usuario="+usuario, {
"successCallback": function(data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
ClassWeb.notify(data["error_message"], data["error_number"] < 0);
if (data["error_number"] >= 0) {
$("#" + tablaComisiones).DataTable().ajax.reload();
}
}
});
}, "Cancelar");
});
body.on("click", ".btnGuardarComision", function(e) {
let esperePorFavor = Utils.sendStandardAjax("frmComisiones", "ajax/UsuariosComisiones.editar.php", {
"successCallback": function(data, textStatus, XMLHttpRequest) {
esperePorFavor.modal("hide");
if (data["error_number"] >= 0) {
$(".modal").modal("hide");
$("#" + tablaComisiones).DataTable().ajax.reload();
ClassWeb.notify(data["error_message"]);
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
}
});
return false;
});
}
};
static drawEquipoComisiones(tabla) {
ClassWeb.refrescaTabla(tabla, 2);
$("#tablaEquipoComisiones .personalizada").parents("tr").children("td").css({
"background-color": "#2ee800",
color: "#011E40 !important",
});
}
}