$(document).ready(function () {
if($.fn.dataTable != undefined)
{
$.extend($.fn.dataTable.defaults,
{
"language":
{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_",
"sZeroRecords": "No se han encontrado resultados",
"sEmptyTable": "Sin datos todavía",
"sInfo": "Mostrando de la entrada _START_ a la _END_ de un total de _TOTAL_ entradas",
"sInfoEmpty": "No hay ninguna entrada",
"sInfoFiltered": "(filtrado de _MENU_ entradas)",
"sSearchPlaceholder": "Buscar",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
},
}
});
}
});
/*
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);
$("#"+contenedorIDAMostrar).show();
modal.find(".modal-dialog").addClass("zoomInDown");
modal.modal({backdrop: false});
modal.on('hidden.bs.modal', function () {
ClassBlockUI.restaurarElemento();
})
if(accionCerrar==undefined) //boton cerrar tiene accion por defecto
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(function(){
modal.modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
});
}
else if(accionCerrar==false) //oculta el boton cerrar
{
$("#"+blockUIId+" .btnCerrarModalEquis").hide();
}
else //boton cerrar con accion especial
{
$("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar);
}
return modal;
},
abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title)
{
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
var blockUIId="blockUI_"+new Date().getTime();
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg
title = title == null || title == undefined ? "Aviso" : title;
if(isAlertOrButtons==undefined) isAlertOrButtons=false;
if(onClose==undefined) onClose=false;
var botonera = "";
var botoneraEspecial = false;
if(isAlertOrButtons === false)
{
botonera = "";
}
else if (isAlertOrButtons === true)
{
botonera = "Aceptar
";
}
else
{
botoneraEspecial = true;
botonera = "";
for(var index in isAlertOrButtons)
{
botonera += " "+isAlertOrButtons[index]["text"]+" ";
}
botonera += "
";
}
var message = '';
message += '';
message += ' ';
message += '
';
$("body").append(message);
var modal = $("#"+blockUIId);
modal.find(".modal-dialog").addClass("zoomInDown");
modal.modal({backdrop: false});
modal.on('hidden.bs.modal', function () {
modal.remove();
})
//Acciones de los botones especiales
if(botoneraEspecial)
{
for(var index in isAlertOrButtons)
{
if(isAlertOrButtons[index]["action"] == "close")
{
isAlertOrButtons[index]["action"] = function(){
modal.modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
};
}
$("#"+blockUIId+" ."+index).unbind("click").click(isAlertOrButtons[index]["action"]);
}
}
var fnOnClose;
if(onClose==false)
{
fnOnClose = function(){
modal.modal("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");
}
};
class CofenatProfesionales {
alreadyInit;
ventanaBaja;
FC_RESERVAR;
FC_EDITAR;e
FC_NUEVA;
FC_AGENDA;
CR_Loaded;
static init()
{
if(CofenatProfesionales.alreadyInit === true)
{
return;
}
CofenatProfesionales.alreadyInit = true;
CofenatProfesionales.ventanaBaja = null;
CofenatProfesionales.FC_RESERVAR = 1;
CofenatProfesionales.FC_EDITAR = 2;
CofenatProfesionales.FC_NUEVA = 3;
CofenatProfesionales.FC_AGENDA = 4;
CofenatProfesionales.FC_CITA_RECURRENTE = 5;
CofenatProfesionales.loadCustomRules();
}
static initDatosCliente(idProvinciaActual, idLocalidadActual, idProvinciaFacturacionActual, idLocalidadFacturacionActual) {
Utils.preparaLugar(28, idProvinciaActual, idLocalidadActual, undefined, "frmCC_idProvincia", "frmCC_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
Utils.preparaLugar(28, idProvinciaFacturacionActual, idLocalidadFacturacionActual, undefined, "frmCCF_idProvincia", "frmCCF_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
CofenatProfesionales.loadCustomRules();
$(".btnGuardarCambiosCuenta").makeTagLink(function(){Utils.sendStandardAjax("frmEditarCuenta", "ajax/Usuarios.editarCuenta.php")})
$(".btnGuardarCambiosFacturacion").makeTagLink(function(){Utils.sendStandardAjax("frmEditarFacturacion", "ajax/Usuarios.editarFacturacion.php")})
$(".btnActualizarContrasena").makeTagLink(function(){Utils.sendStandardAjax("frmEditarPassword", "ajax/Usuarios.actualizarPassword.php")})
$(".btnBaja").makeTagLink(function(){
CofenatProfesionales.ventana = ClassBlockUI.abrirBlockUIConfirm("Si te das de baja perderás tu acceso y el historial de pedidos realizados.\r\n¿Estas seguro de que quieres darte de baja? ", "SI, DARME DE BAJA", function () {
Utils.sendStandardAjax(null, "ajax/Usuarios.baja.php");
}, "NO, CONTINUAR", null, "", "VAS A DARTE BAJA")
})
}
static initConfirmarReserva(idProvinciaActual, idLocalidadActual, idProvinciaFacturacionActual, idLocalidadFacturacionActual) {
Utils.preparaLugar(28, idProvinciaActual, idLocalidadActual, undefined, "frmCC_idProvincia", "frmCC_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
Utils.preparaLugar(28, idProvinciaFacturacionActual, idLocalidadFacturacionActual, undefined, "frmCCF_idProvincia", "frmCCF_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
CofenatProfesionales.loadCustomRules();
$("#formaPago3").click(function () {
ClassBlockUI.abrirBlockUIEstandarMensaje("La reserva no quedará confirmada hasta que el profesional revise su solicitud.
El profesional se pondrá en contacto con usted para confirmar la forma de pago de forma externa a la plataforma.
En caso de no realizar el pago el profesional podrá cancelar la reserva en cualquier momento.", true, undefined, "modal-xl");
});
let email = $("#frmCC_email");
email.change(function(){
var re = /\S+@\S+\.\S+/;
if(!re.test(email.val()))
{
return;
}
Utils.sendStandardAjax(null, "ajax/Usuarios.compruebaEmailUsado.php?email="+email.val(), {"successCallback": function (data, textStatus, XMLHttpRequest)
{
if(data["error_number"]===-1)
{
email.focus();
email.addClass("error");
$.notify(
{
title: "",
message: data["error_message"],
},
{
type: 'danger',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
}
}, "esperePorFavor": false})
});
$("#frmCC_fechaNacimiento").mask("99/99/9999");
$("#copiarDatosFacturacion").change(function(){$(".datosFacturacion").toggle()});
$(".btnRealizarReserva").click(function (){Utils.sendStandardAjax("frmCrearCuenta", "ajax/Usuarios.realizarReserva.php",
{
"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
else if(data["tpv"] !== undefined)
{
$("body").append(data["tpv"]);
$(".pagoTPV").submit();
}
else if(data["location"] !== undefined)
{
window.location = data["location"];
}
}, "onBeforeSend": function(){
if(!$("input[name=tipoServicio]").is(":checked"))
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debes elegir un Tipo de Servicio", true);
return false;
}
if(!$("input[name=formaPago]").is(":checked"))
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debes elegir una Forma de Pago", true);
return false;
}
if(!$("input[name=terminos]").is(":checked"))
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe aceptar los 'términos y condiciones'", true);
return false;
}
return true;
}
})});
}
idClienteSeleccionadoCita = 0;
functionsAutoCompelteCliente = {};
profesionalSeleccionado = null;
blockNuevoCliente = null;
static recargaModalidadSegunServicio(servicio, modalidad)
{
servicio.selectpicker('refresh');
//valorCampoServicio = servicio.is(":hidden") ? servicio.val() : servicio.selectpicker('val');
let ubicacionPermitida = $( "#frmNCC_servicio option:selected" ).attr("data-tipoUbicacion");
var selected = false;
modalidad.find("option").each(function() {
if(ubicacionPermitida != 3 && ubicacionPermitida!=this.value)
{
$(this).attr("disabled", "disabled");
}
else
{
$(this).removeAttr("disabled");
if(!selected)
{
modalidad.selectpicker("refresh");
modalidad.selectpicker("val", this.value);
modalidad.selectpicker("refresh");
}
selected = true;
}
});
modalidad.selectpicker("refresh");
//servicio.closest("form").valid();
}
static initNuevaCita(idProfesional, profesional, administrador, initialDate, serviciosXprofesional, businessHourProfesionales, horasCentro){
CofenatProfesionales.init();
$(document).ready(function () {
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
let servicio = $("#frmNCC_servicio");
let modalidad = $("#frmNCC_tipoUbicacion");
servicio.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
if (isSelected == null)
return;
CofenatProfesionales.recargaModalidadSegunServicio(servicio, modalidad);
});
CofenatProfesionales.recargaModalidadSegunServicio(servicio, modalidad);
let dateInitial = new Date(initialDate);
let initialDateInSecs = undefined;
if(isNaN(dateInitial.getTime()) || new Date().getTime() > dateInitial.getTime())
{
initialDate = undefined;
}
else
{
initialDateInSecs = new Date(initialDate).getTime()/1000;
}
CofenatProfesionales.functionsAutoCompelteCliente = {
abreAnadirCliente: function(searched)
{
CofenatProfesionales.blockNuevoCliente = ClassBlockUI.abrirBlockUIEstandar("bloqueEditarCliente", null, "Nuevo Cliente", "modal-xl");
let form = $("#frmEditarCliente");
form.trigger("reset");
$("#frmEditarCliente select.selectpicker").each(function () {
$(this).selectpicker("val", $(this).prop("defaultValue"));
$(this).selectpicker("refresh");
});
form.validate().resetForm();
},
clienteSeleccionado: function(item)
{
if(item)
{
$("#frmNCC_nombre").val(item.cliente.gpcl_nombre);
$("#frmNCC_apellidos").val(item.cliente.gpcl_apellidos);
$("#frmNCC_dni").val(item.cliente.gpcl_DNI);
$("#frmNCC_email").val(item.cliente.gpcl_email);
$("#frmNCC_telefonoFijo").val(item.cliente.gpcl_telefonoFijo);
$("#frmNCC_telefonoMovil").val(item.cliente.gpcl_telefonoMovil);
$("#frmNCC_ultimaVisita").val(item.ultimaVisita);
$("#frmNCC_zonaHoraria").val(item.zonaHoraria);
$("#frmNCC_observaciones").val(item.observaciones);
}
else
{
$("#frmNCC_nombre").val("");
$("#frmNCC_apellidos").val("");
$("#frmNCC_dni").val("");
$("#frmNCC_email").val("");
$("#frmNCC_telefonoFijo").val("");
$("#frmNCC_telefonoMovil").val("");
$("#frmNCC_ultimaVisita").val("");
$("#frmNCC_zonaHoraria").val("");
$("#frmNCC_observaciones").val("");
}
},
cambiarCliente: function(caller)
{
let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas seleccionar a otro cliente?", "Aceptar", function () {
CofenatProfesionales.idClienteSeleccionadoCita = 0;
CofenatProfesionales.functionsAutoCompelteCliente.clienteSeleccionado();
caller.autocomplete("option", "clear")();
confirm.modal("hide");
}, "Cancelar", null, "", "Aviso");
}
}
Utils.preparaAutoCompleteBuscarCliente( "btnCrearClienteNoEncontrado", "frmNCC_buscarCliente", CofenatProfesionales.functionsAutoCompelteCliente.abreAnadirCliente, CofenatProfesionales.functionsAutoCompelteCliente.clienteSeleccionado, CofenatProfesionales.functionsAutoCompelteCliente.cambiarCliente, "CofenatProfesionales.idClienteSeleccionadoCita", "ajax/Profesionales.buscarClientes.php");
$(".btnCrearClienteNuevo").makeTagLink(CofenatProfesionales.functionsAutoCompelteCliente.abreAnadirCliente);
$(".btnReservarCita").makeTagLink(function () {
if(!CofenatProfesionales.profesionalSeleccionado)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar la cita, primero debes elegir al profesional al que quieres visitar.", true)
return;
}
let idServicio = $("#frmNCC_servicio").val()*1;
if(!CofenatProfesionales.lastEventSelected)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar una cita, primero debes seleccionar la hora de la cita. Pulsa sobre la hora que te gustaria asistir y luego podrás ajustar los minutos.", true)
return;
}
if(idServicio === 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar la cita, primero debes elegir seleccionar el servicio.", true)
return;
}
if(!CofenatProfesionales.idClienteSeleccionadoCita)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar la cita, primero debes elegir seleccionar el cliente.", true)
return;
}
let recurrente = $("input[name=frmRH_recurrenteActivo]:checked").val()*1;
let queryString = "fecha="+CofenatProfesionales.lastEventSelected.startStr
+"&timeZone="+CofenatProfesionales.fullCalendar.getOption("timeZone")
+"&idServicio="+idServicio
+"&idCliente="+CofenatProfesionales.idClienteSeleccionadoCita
+"&idProfesional="+CofenatProfesionales.profesionalSeleccionado
+"&avisoSMS="+($("#gpcita_avisoSMS").is(":checked") ? 1 : 0)
+"&recurrenteActivo="+recurrente
+"&recurrenteTipo="+$("#frmRH_recurrenteTipo").selectpicker("val")*1
+"&recurrenteNumero="+$("#frmRH_recurrenteNumRepeticiones").val()*1
+"&tipoUbicacion="+$("#frmNCC_tipoUbicacion").val()*1;
if(recurrente === 1)
{
Utils.sendStandardAjax("null", "ajax/Profesionales.preparaCitaRecurrente.php?"+queryString, {"successCallback": "data-location"});
}
else
{
Utils.sendStandardAjax("null", "ajax/Profesionales.nuevaCita.php?"+queryString, {"successCallback": "data-location"});
}
});
CofenatProfesionales.prepareSmallCalendar("calendario", undefined, initialDateInSecs);
CofenatProfesionales.prepararFullCalendar(idProfesional, profesional, administrador, undefined, initialDate, horasCentro, CofenatProfesionales.FC_NUEVA);
CofenatProfesionales.initBloqueReservarHora("frmNCC_servicio", 0);
$("#frmNCC_servicio").on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
CofenatProfesionales.showHideProfesionales(serviciosXprofesional);
});
$("input[name='profesional']").change( function() {
CofenatProfesionales.setProfesionalSelected($(this).val());
$(".servicioProfesional").html($("label[for='profesional"+$(this).val()+"']").text());
CofenatProfesionales.prepararFullCalendar($(this).val(), profesional, administrador, undefined, CofenatProfesionales.currentDateSM.toISOString(), horasCentro, CofenatProfesionales.FC_NUEVA);
});
CofenatProfesionales.setProfesionalSelected($("input[name='profesional']:checked").val());
CofenatProfesionales.showHideProfesionales(serviciosXprofesional);
});
};
static showHideProfesionales(serviciosXprofesional)
{
CofenatProfesionales.setProfesionalSelected(null);
$(".contieneProfesionales .form-check").each(function () {
let idServicio = $('#frmNCC_servicio').selectpicker("val")*1;
let idProfesional = $(this).attr("data-idProfesional")*1;
let numProfesionales = Object.keys(serviciosXprofesional[idServicio]).length;
let profesionalVisible = Object.keys(serviciosXprofesional[idServicio].filter(x => x === idProfesional)).length >= 1;
$(this).toggle(profesionalVisible);
if(numProfesionales === 1 && profesionalVisible)
{
let input = $(this).find("input");
input.prop('checked', true);
input.trigger("change");
}
});
if(CofenatProfesionales.lastEventSelected)
{
CofenatProfesionales.lastEventSelected.remove();
CofenatProfesionales.lastEventSelected = null;
}
};
static setProfesionalSelected(idProfesional)
{
if(idProfesional == null)
{
$(".contieneProfesionales .form-check input:checked").prop('checked', false);
}
CofenatProfesionales.profesionalSeleccionado = idProfesional;
};
static abrirBloqueReservarHora(fechaHora, tipo)
{
CofenatProfesionales.bloqueReservadoModal = ClassBlockUI.abrirBlockUIEstandar("bloqueReservarHora", null, "Reservar Hora");
$("#frmRH_hora").val(fechaHora);
if(tipo === CofenatProfesionales.FC_NUEVA)
{
$(".citaRecurrente").show();
}
};
lastDateSelected = new Date();
lastEventSelected = null;
static initBloqueReservarHora(idServicio, idCitaActual, duracionServicio)
{
let duracionInicial = duracionServicio;
$(document).ready(function () {
let form = $("#frmRservarHora");
let validacion=form.validate({showLabels: false});
$("input[name=frmRH_recurrenteActivo]").click(function(){
if($(this).val()*1 === 1)
{
$(".datosRecurrenteActivo").show();
}
else
{
$(".datosRecurrenteActivo").hide();
}
});
$("#frmRH_hora").mask("99:99");
$("#btnConfirmarHuecoHora").makeTagLink(function () {
if(!form.valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, false, "modalStandardMed");
return;
}
let nuevaHora = $("#frmRH_hora").val().split(":");
CofenatProfesionales.lastDateSelected.hour(nuevaHora[0]);
CofenatProfesionales.lastDateSelected.minute(nuevaHora[1]);
duracionServicio = duracionInicial !== undefined ? duracionInicial : $("#"+idServicio+" option:selected").attr("data-duracion")
event = {
id:idCitaActual,
title: 'Nueva Cita - Pendiente de confirmar',
start: CofenatProfesionales.lastDateSelected.format('YYYY-MM-DDTHH:mm:ssZZ'),
end: CofenatProfesionales.lastDateSelected.clone().add(duracionServicio, 'minutes').format('YYYY-MM-DDTHH:mm:ssZZ'),
constraint: 'available_hours'
};
let validInbusinessHour = false;
let eventRange = moment.range(event.start, event.end);
//rangosValidos = [];
for(var index in CofenatProfesionales.businessHourProfesionales[CofenatProfesionales.profesionalSeleccionado])
{
for(var index2 in CofenatProfesionales.businessHourProfesionales[CofenatProfesionales.profesionalSeleccionado][index]["daysOfWeek"])
{
if(CofenatProfesionales.lastDateSelected.isoWeekday() === CofenatProfesionales.businessHourProfesionales[CofenatProfesionales.profesionalSeleccionado][index]["daysOfWeek"][index2])
{
let startTime = CofenatProfesionales.businessHourProfesionales[CofenatProfesionales.profesionalSeleccionado][index]["startTime"].split(":");
let startTimeTemp = CofenatProfesionales.lastDateSelected.clone();
startTimeTemp.hour(startTime[0]);
startTimeTemp.minute(startTime[1]);
let endTime = CofenatProfesionales.businessHourProfesionales[CofenatProfesionales.profesionalSeleccionado][index]["endTime"].split(":");
let endTimeTemp = CofenatProfesionales.lastDateSelected.clone();
endTimeTemp.hour(endTime[0]);
endTimeTemp.minute(endTime[1]);
//endTimeTemp.subtract($("#"+idServicio+" option:selected").attr("data-duracion")*1-1, "m");
//rangosValidos.push(moment.range(startTime, endTime));
let tempMoment = moment.range(startTimeTemp, endTimeTemp);
if(tempMoment.contains(eventRange))
{
validInbusinessHour = true;
}
}
}
}
if(!validInbusinessHour) {
ClassBlockUI.abrirBlockUIEstandarMensaje("La hora seleccionada esta fuera del horario laboral del profesional el día seleccionado.", true);
}
else if(CofenatProfesionales.lastDateSelected.isBefore(moment())) {
ClassBlockUI.abrirBlockUIEstandarMensaje("No puedes seleccionar una hora que ya ha pasado.", true);
}
else if(CofenatProfesionales.isOverlappingEvents(CofenatProfesionales.fullCalendar.getEvents(), event, CofenatProfesionales.lastEventSelected)) {
ClassBlockUI.abrirBlockUIEstandarMensaje("No puedes elegir esta hora porque se solapa con otra cita, asegurate que tu cita no coincide con la cita de otro usuario.", true);
}
else {
if(CofenatProfesionales.lastEventSelected)
{
CofenatProfesionales.lastEventSelected.remove();
}
CofenatProfesionales.lastEventSelected = CofenatProfesionales.fullCalendar.addEvent(event);
CofenatProfesionales.bloqueReservadoModal.modal("hide");
}
})
});
}
static isOverlappingEvents(events, currentEvent, secondEvent)
{
for(var i in events){
if (!events.hasOwnProperty(i)) {
continue;
}
if(secondEvent && events[i].id === secondEvent.id)
{
continue;
}
if(events[i].id*1 !== currentEvent.id*1){
let range1 = moment.range(events[i].startStr, events[i].endStr);
let range2 = moment.range(currentEvent.startStr, currentEvent.endStr);
if(range1.overlaps(range2))
{
return true;
}
}
}
return false;
}
static isOverlappingRanges(rangList)
{
if(rangList.length < 2)
{
return false;
}
let previous = rangList[0];
for(var i in rangList){
if (!rangList.hasOwnProperty(i)) {
continue;
}
if(i*1 === 0)
{
continue;
}
if(rangList[i].start < previous.end)
{
return true; //Orden incorrecto
}
if(rangList[i].overlaps(previous))
{
return true; //Overlaps
}
previous = rangList[i];
}
return false;
}
currentDateSM = null;
static prepareSmallCalendar(id, autoSetDay, initialDate, minDate, onSelect)
{
if(id === undefined)
{
id = "calendario";
}
if(minDate === undefined)
{
minDate = new Date();
}
if(autoSetDay === undefined || autoSetDay === true)
{
autoSetDay = new Date();
}
if(initialDate !== undefined)
{
autoSetDay = new Date(initialDate*1000);
autoSetDay.setHours(12, 0, 0);
autoSetDay.setMilliseconds(0);
}
if(onSelect === undefined)
{
onSelect = function(dates)
{
if(Object.keys(dates).length > 0 && CofenatProfesionales.currentDateSM.getTime() !== dates[0].getTime())
{
CofenatProfesionales.currentDateSM = dates[0];
if(CofenatProfesionales.fullCalendar)
{
CofenatProfesionales.fullCalendar.gotoDate( dates[0].getTime() );
}
let fechaNueva = dates[0].toLocaleString('es', {weekday:'long'})+
", "+dates[0].getDate()
+" de "+
dates[0].toLocaleString('es', {month:'long'});
$(".servicioFecha").html(fechaNueva);
}
};
}
CofenatProfesionales.currentDateSM = new Date();
CofenatProfesionales.currentDateSM.setHours(12, 0, 0);
CofenatProfesionales.currentDateSM.setMilliseconds(0);
let calendario = $('#'+id);
calendario.datepick(
{
onSelect: onSelect,
minDate: minDate,
defaultDate: autoSetDay,
selectDefaultDate: autoSetDay,
prevText: "<",
nextText: ">"
});
$.datepick.commands.today.action = function(inst)
{
$.datepick.showMonth(this);
calendario.datepick('setDate', new Date());
}
if(autoSetDay)
{
calendario.datepick('setDate', autoSetDay);
}
}
fullCalendar = null;
bloqueReservadoModal = null;
numCitasRecurrentesGuardadas = 0;
numCitasRecurrentesCargadas = 0;
numCitasRecurrentesProblematicas = 0;
static prepararFullCalendar(idProfesional, profesional, administrador, idCitaActual, initialDate, horasCentro, tipo, queryString)
{
queryString = queryString !== undefined ? queryString : "";
idCitaActual = idCitaActual !== undefined ? idCitaActual : 0;
initialDate = initialDate !== undefined ? initialDate : new Date().toISOString();
let right = "";
if(profesional && tipo !== CofenatProfesionales.FC_CITA_RECURRENTE)
{
right = 'today dayGridMonth timeGridWeek timeGridDay';
if(administrador)
{
right = 'today dayGridMonth timeGridWeek resourceTimeGridDay profesionales';
}
}
else
{
right = '';
}
CofenatProfesionales.fullCalendar = new FullCalendar.Calendar($("#calendar")[0], {
//timeZone: "America/New_York",
timeZone: "Europe/Madrid",
schedulerLicenseKey: "0221401364-fcs-1627045855",
customButtons: {
profesionales: {
text: 'Profesionales',
click: CofenatProfesionales.showProfesionales
}
},
headerToolbar:
{
left: profesional ? 'prev,next today' : '',
center: profesional ? 'title' : '',
right: right,
},
views: {
resourceTimeGridDay: { // name of view
titleFormat:{ year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' }
}
},
dayMaxEvents: 3,
locale: 'es',
slotMinTime: horasCentro["gpc_minHora"],
slotMaxTime: horasCentro["gpc_maxHora"],
allDaySlot: false,
initialDate: initialDate,
initialView: profesional ? 'dayGridMonth' : 'timeGridDay',
nowIndicator: true,
businessHours: CofenatProfesionales.businessHourProfesionales[idProfesional],
viewDidMount: function (info) {
if(info.view.type === "dayGridMonth")
{
CofenatProfesionales.fullCalendar.setOption("selectConstraint", null);
}
else
{
CofenatProfesionales.fullCalendar.setOption("selectConstraint", "businessHours");
}
},
eventSources:
[
{
url: "ajax/Profesionales.agenda.php?idCita="+idCitaActual+queryString,
method: 'POST',
extraParams:
{
"CSRF": CSRF,
"idProfesional": administrador ? "-1" : idProfesional,
},
failure: function() {
ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al cargar la agenda, por favor intentelo de nuevo más tarde", true);
},
success: function(content, xhr) {
CofenatProfesionales.numCitasRecurrentesGuardadas = 0;
CofenatProfesionales.numCitasRecurrentesCargadas = 0;
CofenatProfesionales.numCitasRecurrentesProblematicas = 0;
CofenatProfesionales.numCitasRecurrentesFuturas = 0;
let currentUnixtime = new Date().getTime()/1000;
for(var index in content)
{
if(content[index]["overlaps"]*1 === 1)
{
CofenatProfesionales.numCitasRecurrentesProblematicas++;
}
if(content[index]["recurrente"]*1 === 1)
{
CofenatProfesionales.numCitasRecurrentesCargadas++;
}
if(content[index]["idCitaRecurrente"] && content[index]["recurrente"]*1 === 0)
{
CofenatProfesionales.numCitasRecurrentesGuardadas++;
if(content[index]["unixtime"] > currentUnixtime)
{
CofenatProfesionales.numCitasRecurrentesFuturas++;
}
}
}
if(CofenatProfesionales.mostrarSoloCitaRecurrente == 0)
{
$(".numOverlaps").html(CofenatProfesionales.numCitasRecurrentesProblematicas);
$(".numCitasRecurrentes").html(CofenatProfesionales.numCitasRecurrentesCargadas);
if(queryString.indexOf("idCitaRecurrente") !== -1 && CofenatProfesionales.numCitasRecurrentesCargadas === 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Parece que se han borrado las citas recurrentes que estaba preparando porque han pasado mas de 45 min sin confirmarlas, deberá de empezar de nuevo el proceso", true);
}
}
else
{
$(".numCitasRecurrentes").html(CofenatProfesionales.numCitasRecurrentesGuardadas);
$(".numCitasFuturas").html(CofenatProfesionales.numCitasRecurrentesFuturas);
}
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(CofenatProfesionales.resourceData)
{
filteredResources = CofenatProfesionales.resourceData.filter(function(x) {
return CofenatProfesionales.visibleResourceIds.indexOf(x.id) !== -1;
});
}
successCallback(filteredResources);
},
editable: false,
selectable: true,
loading: function (bool) {
if(bool)
{
$(".loadingText").remove();
}
},
selectConstraint: "businessHours",
eventConstraint: "businessHours",
eventOrder: 'numOrder,start',
dateClick: function(info) {
CofenatProfesionales.lastDateSelected = moment(info.dateStr);
//CofenatProfesionales.lastDateSelected = moment(info.date).add(-1, "hours");
let jsEvent = info.jsEvent;
let view = info.view;
if($(jsEvent.target).hasClass("fc-non-business"))
{
return;
}
CofenatProfesionales.init();
if(tipo === CofenatProfesionales.FC_AGENDA || tipo ===CofenatProfesionales.FC_CITA_RECURRENTE)
{
return;
}
if(!CofenatProfesionales.profesionalSeleccionado)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar la cita, primero debes elegir al profesional al que quieres visitar.", true)
return;
}
if (moment().format('YYYY-MM-DD') === CofenatProfesionales.lastDateSelected.format('YYYY-MM-DD') || CofenatProfesionales.lastDateSelected.isAfter(moment())) {
// This allows today and future date
// alert('Date: ' + date._d.getTimezoneOffset());
//alert( date._d.getHours());
let fechaCita = CofenatProfesionales.lastDateSelected/1000;
//fechaCita = fechaCita + date._d.getTimezoneOffset()*60;
if(!$(jsEvent.target).is('input')) {
CofenatProfesionales.abrirBloqueReservarHora(CofenatProfesionales.lastDateSelected.format('HH:mm'), tipo);
}
//$(".citasCalendario").unbind("click").makeTagLink(function(){alert("click event")});
} else {
// Else part is for past dates
return false;
}
},
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 = $(".trabajador[data-idProfesional="+event.extendedProps.idProfesional+"]").attr("data-color");
colorClass = colorClass !== undefined ? colorClass : "ownAgenda";
var tipoPago;
var pagadoPendiente;
switch (event.extendedProps.estadoPago)
{
default:
{
tipoPago = "";
pagadoPendiente = false;
break;
}
case 3:
{
tipoPago = "Gratis";
pagadoPendiente = true;
break;
}
case -2:
{
tipoPago = "En proceso de pago por TPV";
pagadoPendiente = false;
break;
}
case -3:
{
tipoPago = "Pendiente de confirmar la cita recurrente";
pagadoPendiente = false;
break;
}
case 1:
{
tipoPago = "Pagado por TPV-Tarjeta";
pagadoPendiente = true;
break;
}
case -1:
{
tipoPago = "Pendiente de pago en el centro
Marcar como pagado
".replace(/%idCita%/ig, event.extendedProps.idCita);
pagadoPendiente = false;
break;
}
case 2:
{
if(event.extendedProps.facturado)
{
tipoPago = "Pagado en el centro";
}
else
{
tipoPago = "Pagado en el centro
Hacer Factura
".replace(/%idCita%/ig, event.extendedProps.idCita);
}
pagadoPendiente = true;
break;
}
case -4:
{
tipoPago = "Pendiente de confirmar la Pre-Reserva
Confirmar
Cancelar
".replace(/%idCita%/ig, event.extendedProps.idCita);
pagadoPendiente = false;
break;
}
case -5:
{
tipoPago = "Pendiente de pago pre-reserva externo a la plataforma
Marcar como pagado
".replace(/%idCita%/ig, event.extendedProps.idCita);
pagadoPendiente = false;
break;
}
case -6:
{
if(event.extendedProps.facturado)
{
tipoPago = "Pre-Reserva pagada";
}
else
{
tipoPago = "Pre-Reserva pagada
Hacer Factura
".replace(/%idCita%/ig, event.extendedProps.idCita);
}
pagadoPendiente = true;
break;
}
}
let videoChat = event.extendedProps.cliente;
//let childToolTipstered = null;
let content = $("");
var extraClass = (event.extendedProps.recurrente*1 || event.extendedProps.idCitaRecurrente) ? "tooltipsterCitaRecurrente" : "";
content.addClass("infoCalendarOnToolTipster "+extraClass);
content.append(
infoCalendar.html().replace("%btnVideoChat%", (event.extendedProps.modalidad === 2 && event.extendedProps.pagada) === "true" ? "btnVideoChat" : "d-none")
.replace("%idVideoChat%", event.extendedProps.idVideoChat)
.replace("%colorClass%", colorClass+" active")
.replace(/%idCita%/ig, event.extendedProps.idCita)
.replace("%tipoServicio%", event.extendedProps.tipoServicio)
.replace("%pagada%", event.extendedProps.pagada)
.replace("%1%", event.extendedProps.servicio+"
"+videoChat)
.replace("%2%", event.extendedProps.fecha)
.replace("%3%", event.extendedProps.profesional)
.replace("%4%", (event.extendedProps.tipoServicio === 0 || event.extendedProps.tipoServicio === 1) ? "d-none" : (pagadoPendiente ? "formaPagoPagado" : "formaPagoPendiente"))
.replace("%5%", tipoPago)
.replace("%esEditable%", event.extendedProps.esEditable==="true" ? "editable" : "bloqueada")
);
content.data("event", event);
parent.tooltipster({
autoClose: false,
hideOnClick: false,
contentAsHTML: true,
trigger:"custom",
content: content,
minWidth: 320,
maxWidth: 320,
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%"
});
let body = $("body");
body.on( "click", ".btnMarcarComoPagado", function() {
let idCita = $(this).attr("data-id");
Utils.sendStandardAjax(null, "ajax/Profesionales.marcarCitaPagada.php?idCita="+idCita, {"successCallback": "data-location"});
});
body.on( "click", ".btnHacerFactura", function() {
let idCita = $(this).attr("data-id");
Utils.sendStandardAjax(null, "ajax/Profesionales.realizarFactura.php?idCita="+idCita, {"successCallback": "data-location"});
});
body.on( "click", ".btnConfirmarPreReserva", function() {
let idCita = $(this).attr("data-id");
let tipo = $(this).attr("data-tipo");
let requireConfirm = $(this).attr("data-requireConfirm");
if(requireConfirm)
{
let confirm = ClassBlockUI.abrirBlockUIConfirm(requireConfirm,
"Aceptar",
function(){
confirm.modal("hide");
CofenatProfesionales.sendMarcaPreReservaConfirmadaBorrada(idCita, tipo);
},"Cancelar");
}
else {
CofenatProfesionales.sendMarcaPreReservaConfirmadaBorrada(idCita, tipo);
}
});
body.on( "click", ".btnMarcarComoPagadoPreReserva", function() {
let idCita = $(this).attr("data-id");
Utils.sendStandardAjax(null, "ajax/Profesionales.marcaPreReservaPagada.php?idCita="+idCita, {"successCallback": "data-location"});
});
CofenatProfesionales.fullCalendar.render();
}
static sendMarcaPreReservaConfirmadaBorrada(idCita, tipo)
{
Utils.sendStandardAjax(null, "ajax/Profesionales.marcaPreReservaConfirmadaBorrada.php?idCita="+idCita+"&tipo="+tipo, {"successCallback": "data-location"});
}
static showProfesionales()
{
$(".listadoProfesionales ").removeClass("d-none");
}
resourceData = [];
visibleResourceIds = []; //https://stackoverflow.com/questions/48427602/dynamically-toggle-resource-column-visibility
static toggleResource(resourceId) {
var index = CofenatProfesionales.visibleResourceIds.indexOf(resourceId);
if (index !== -1) {
CofenatProfesionales.visibleResourceIds.splice(index, 1);
} else {
CofenatProfesionales.visibleResourceIds.push(resourceId);
}
CofenatProfesionales.fullCalendar.refetchResources();
//$('#calendar').fullCalendar('refetchResources');
}
static initDatosProfesional() {
CofenatProfesionales.initPublicListadoSC();
$(document).ready(function () {
$(".btnGuardarCambiosCuenta").makeTagLink(function(){Utils.sendStandardAjax("frmEditarProfesionalCuenta", "ajax/Profesionales.editarCuenta.php")});
$(".btnActualizarContrasena").makeTagLink(function(){Utils.sendStandardAjax("frmEditarProfesionalPassword", "ajax/Profesionales.actualizarPassword.php")});
$("#frmSubirFotoFile").change(function(){CofenatProfesionales.fotoPerfilChange("imagenPerfilToCrop", $(this).attr("id"), 1)});
$("#btnGuardarCrop").unbind("click").click(CofenatProfesionales.guardarFotosUsuario);
});
}
static reactivaClicksListadoStandard(settings, tableId){
let selectConfiguration = $("#"+tableId+"_length label");
selectConfiguration.addClass("inputIcon");
if(selectConfiguration.find("i").length === 0)
{
selectConfiguration.append('');
}
//eval("tabla = tabla"+tableId);
let datatable = $("#"+tableId).dataTable().api();
let numPages = datatable.page.info().pages;
if (numPages < 2) {
$("#"+tableId+"_wrapper .paginationFooter").addClass("d-none");
$("#"+tableId+"_wrapper .dataTables_info").addClass("d-none");
}
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
}
static reactivaClicksListadoHistoricoVisitas(settings, esMovil) {
tablatablaHistorialVisitas.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaHistorialVisitas.columns( [0,2,3,4,5,6,7] ).visible( false );
tablatablaHistorialVisitas.columns( [1] ).visible( true );
}
else
{
tablatablaHistorialVisitas.columns( [0, 1] ).visible( false );
tablatablaHistorialVisitas.columns( [2,3,4,5,6,7] ).visible( true );
}
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaHistorialVisitas');
$(".btnEditarHistorialCita").unbind("click").makeTagLink(function(){CofenatProfesionales.abreEditarHistorialCliente($(this).attr("data-idCita"))});
}
static reactivaClicksListadoFacturas(settings, esMovil) {
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaFacturas');
tablatablaFacturas.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaFacturas.columns( [0,2,3,4,5,6,7,8,9] ).visible( false );
tablatablaFacturas.columns( [1] ).visible( true );
}
else
{
tablatablaFacturas.columns( [0, 1] ).visible( false );
tablatablaFacturas.columns( [2,3,4,5,6,7,8,9] ).visible( true );
}
}
static reactivaClicksListadoClientes(settings, esMovil) {
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaClientes');
tablatablaClientes.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaClientes.columns( [0,2,3,4,5,6,7] ).visible( false );
tablatablaClientes.columns( [1] ).visible( true );
}
else
{
tablatablaClientes.columns( [0, 1] ).visible( false );
tablatablaClientes.columns( [2,3,4,5,6,7] ).visible( true );
}
}
static reactivaClicksListadoProfesionales(settings, esMovil) {
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaProfesionales');
tablatablaProfesionales.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaProfesionales.columns( [0,2,3,4,5,6,7,8,9] ).visible( false );
tablatablaProfesionales.columns( [1] ).visible( true );
}
else
{
tablatablaProfesionales.columns( [0, 1] ).visible( false );
tablatablaProfesionales.columns( [2,3,4,5,6,7,8,9] ).visible( true );
}
}
static reactivaClicksListadoCitasReservadas(settings, esMovil) {
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaReservas');
tablatablaReservas.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaReservas.columns( [0,2,3,4,5,6,7,8,9] ).visible( false );
tablatablaReservas.columns( [1] ).visible( true );
}
else
{
tablatablaReservas.columns( [0, 1] ).visible( false );
tablatablaReservas.columns( [2,3,4,5,6,7,8,9] ).visible( true );
}
}
static initHistoricoVisitas() {
$(document).ready(function () {
})
}
static abreEditarHistorialCliente(idCita)
{
Utils.sendStandardAjax(null, "ajax/Profesionales.datosCita.php?idCita="+idCita, {"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
ClassBlockUI.abrirBlockUIEstandar("bloqueHistorialCliente", null, "Editar Historial", "modal-xl");
let fecha = new Date();
fecha.setTime(data["gpcita_fechaHoraInicioCita"]*1000);
$("#frmHC_idCita").val(idCita);
$("#frmHC_servicio").val(data["nombreCurso"]);
$("#frmHC_fecha").val(fecha.getDate()+"/"+((fecha.getMonth() + 101).toString().substring(1, 3))+"/"+fecha.getFullYear());
$("#frmHC_hora").val(fecha.getHours()+":"+fecha.getMinutes());
$("#frmHC_profesional").val(data["nombreProfesional"]);
$("#frmHC_comentarios").val(data["gpcita_comentarios"]);
if(Object.keys(data["adjuntos"]).length > 1)
{
$(".contenedorFicheros").show();
}
else
{
$(".contenedorFicheros").hide();
}
for(let index in data["adjuntos"])
{
let documento = data["adjuntos"][index];
let adjunto = "";
$(".ficherosSubidos").append(adjunto);
$(".contenedorFicheros").show();
}
}});
}
static ajustaOpcionesDiasBloqueo()
{
if($("input[name='frmEBH_variosDia']:checked").val()*1 === 0)
{
$(".variosDias").hide();
}
else
{
$(".variosDias").show();
}
}
static initBloqueoHorario()
{
$(document).ready(function () {
CofenatProfesionales.init();
$("#frmEBH_dia").mask("99/99/99");
$("#frmEBH_diaFin").mask("99/99/99");
$("#frmEBH_horaInicio").mask("99:99");
$("#frmEBH_horaFin").mask("99:99");
$("input[name='frmEBH_variosDia']").change(function () {
CofenatProfesionales.ajustaOpcionesDiasBloqueo()
});
CofenatProfesionales.ajustaOpcionesDiasBloqueo();
$("#btnGuardaHoraBloqueo").makeTagLink(function(){Utils.sendStandardAjax("frmEditarBloqueoHorario", "ajax/Profesionales.guardarBloqueoHorario.php")});
});
}
static abrirBloqueoHorario(idCita, dateInit)
{
idCita = idCita !== undefined ? idCita : -1;
$("#frmEBH_idCita").val(idCita);
if(idCita > 0 )
{
Utils.sendStandardAjax(null, "ajax/Profesionales.datosCita.php?idCita="+idCita, {"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
ClassBlockUI.abrirBlockUIEstandar("bloqueoHorario", null, "Elegir bloqueo", "modal-lg");
let initDate = new Date((data["gpcita_fechaHoraInicioCita"]-data["offset"])*1000);
let endDate = new Date((data["gpcita_fechaHoraFinCita"]-data["offset"])*1000);
let selectProfesional = $("#frmEBH_profesional");
selectProfesional.selectpicker('val', data["gpcita_idProfesional"]);
selectProfesional.selectpicker("refresh");
if(data["gpcita_variosDias"])
{
$("input[name='frmEBH_variosDia'][value=1]").prop("checked", true);
}
else
{
$("input[name='frmEBH_variosDia'][value=0]").prop("checked", true);
}
CofenatProfesionales.ajustaOpcionesDiasBloqueo();
$("#frmEBH_mensaje").val(data["gpcita_comentarios"]);
$("#frmEBH_dia").val((initDate.getDate()+"").padStart(2, '0')+"/"+(((initDate.getMonth()+1)+"").padStart(2, '0'))+"/"+(initDate.getFullYear()+"").substring(2,4));
$("#frmEBH_diaFin").val((endDate.getDate()+"").padStart(2, '0')+"/"+(((initDate.getMonth()+1)+"").padStart(2, '0'))+"/"+(initDate.getFullYear()+"").substring(2,4));
$("#frmEBH_horaInicio").val((initDate.getHours()+"").padStart(2, '0')+":"+(initDate.getMinutes()+"").padStart(2, '0'));
$("#frmEBH_horaFin").val( (endDate.getHours()+"").padStart(2, '0')+":"+( endDate.getMinutes()+"").padStart(2, '0'));
}});
}
else
{
let initDate = new Date(dateInit);
$("#frmEBH_dia").val((initDate.getDate()+"").padStart(2, '0')+"/"+(((initDate.getMonth()+1)+"").padStart(2, '0'))+"/"+(initDate.getFullYear()+"").substring(2,4));
ClassBlockUI.abrirBlockUIEstandar("bloqueoHorario", null, "Elegir bloqueo", "modal-lg");
}
}
static initAgenda(idProfesional, propietario, businessHourProfesionales, horasCentro) {
CofenatProfesionales.init();
$(document).ready(function () {
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
$(".btnNuevoBloqueo").makeTagLink(function(){
CofenatProfesionales.abrirBloqueoHorario(undefined, CofenatProfesionales.lastDateSelected ? CofenatProfesionales.lastDateSelected.toISOString() : new Date().toISOString());
});
$(".btnNuevaCita").makeTagLink(function(){
if(CofenatProfesionales.lastDateSelected)
{
window.location = $(this).attr("href") + "?initialDate="+CofenatProfesionales.lastDateSelected.toISOString();
return false;
}
});
CofenatProfesionales.resourceData = [];
CofenatProfesionales.visibleResourceIds = [];
$(".trabajador").each(function () {
CofenatProfesionales.resourceData.push({ id: $(this).attr("data-idprofesional"), title: $(this).html(), "eventClassNames":$(this).attr("data-color")+" active showOnAgenda" });
CofenatProfesionales.visibleResourceIds.push($(this).attr("data-idprofesional"));
$(this).makeTagLink(function () {
$(this).toggleClass("active");
CofenatProfesionales.toggleResource($(this).attr("data-idprofesional"));
});
});
CofenatProfesionales.prepararFullCalendar(idProfesional, true, propietario, undefined, undefined, horasCentro, CofenatProfesionales.FC_AGENDA);
CofenatProfesionales.prepareSmallCalendar();
let body = $("body");
body.on("click", ".btnVerCitasRecurrentes", function() {
let event = $(this).closest(".infoCalendarOnToolTipster").data("event");
window.location = "/saludnatural24horas/profesional/mostrar-cita-multiple.html?idCitaRecurrente="+event.extendedProps.idCitaRecurrente+"&idCita="+event.extendedProps.idCita;
});
body.on("click", ".btnCalendarButtonEdit", function() {
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita")*1;
let tipoServicio = $(this).closest(".infoCalendarButtons").attr("data-tipoServicio")*1;
if(tipoServicio === 0)
{
CofenatProfesionales.abrirBloqueoHorario(idCita);
}
else
{
window.location = "/saludnatural24horas/profesional/editar-cita.html?idCita="+idCita;
}
});
body.on("click", ".btnVideoChat", function() {
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita")*1;
let idVideoChat = $(this).closest(".infoCalendarButtons").attr("data-idVideoChat")*1;
let tipoServicio = $(this).closest(".infoCalendarButtons").attr("data-tipoServicio")*1;
window.location = "/saludnatural24horas/videoChat.html?id="+idVideoChat });
body.on("click", ".btnCalendarButtonDelete", function()
{
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita");
let pagada = $(this).closest(".infoCalendarButtons").attr("data-pagada") === "true";
CofenatProfesionales.borrarCita(idCita, pagada);
});
});
};
static borrarCita(idCita, pagada) {
let confirm = ClassBlockUI.abrirBlockUIConfirm(pagada ? "¿Estas seguro de que deseas borrar esta cita? Nota: ¡¡ESTA CITA ESTÁ PAGADA Y NO SE DEVOLVERÁ EL IMPORTE!!" : "¿Estas seguro de que deseas borrar esta cita?", "Aceptar", function(){
confirm.modal("hide");
let tooltipsterInstance = $('.infoCalendarButtons[data-idCita='+idCita+']').closest(".tooltipster-base").data("instance");
Utils.sendStandardAjax(null, "ajax/Profesionales.borrarCita.php?idCita="+idCita, {"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"] >= 0)
{
tooltipsterInstance.close();
window.location = window.location;
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true)
}
}});
},"Cancelar");
}
mostrarSoloCitaRecurrente = 0;
static initMostrarCitaMultiple(idProfesional, businessHourProfesionales, horasCentro, initialDate, queryString) {
CofenatProfesionales.mostrarSoloCitaRecurrente = 1;
CofenatProfesionales.init();
$(document).ready(function () {
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
CofenatProfesionales.resourceData = [];
CofenatProfesionales.visibleResourceIds = [];
$(".trabajador").each(function () {
CofenatProfesionales.resourceData.push({ id: $(this).attr("data-idprofesional"), title: $(this).html(), "eventClassNames":$(this).attr("data-color")+" active showOnAgenda" });
CofenatProfesionales.visibleResourceIds.push($(this).attr("data-idprofesional"));
$(this).makeTagLink(function () {
$(this).toggleClass("active");
CofenatProfesionales.toggleResource($(this).attr("data-idprofesional"));
});
});
CofenatProfesionales.prepararFullCalendar(idProfesional, true, false, undefined, initialDate, horasCentro, CofenatProfesionales.FC_CITA_RECURRENTE, queryString);
let body = $("body");
body.on("click", ".btnCalendarRecurrenteButtonEdit", function() {
CofenatProfesionales.abrirCambiarCitaRecurrente($(this).closest(".infoCalendarOnToolTipster").data("event"));
});
body.on("click", ".btnCalendarButtonDelete", function()
{
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita");
let pagada = $(this).closest(".infoCalendarButtons").attr("data-pagada") === "true";
CofenatProfesionales.borrarCita(idCita, pagada);
});
body.on("click", ".btnCalendarButtonEdit", function() {
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita")*1;
window.location = "/saludnatural24horas/profesional/editar-cita.html?idCita="+idCita;
});
body.on("click", ".btnCancelarCitasFuturas", function() {
let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas borrar TODAS las citas recurrentes futuras (desde hoy a la hora actual incluidas)?", "Aceptar", function () {
let espere = Utils.sendStandardAjax(null, "ajax/Profesionales.cancelarCitaRecurrenteFuturas.php?dummy"+queryString, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
window.location = "/saludnatural24horas/profesional/agenda.html";
}
}});
}, "Cancelar", null, "", "Aviso");
return;
let idCita = $(this).closest(".infoCalendarButtons").attr("data-idCita")*1;
window.location = "/saludnatural24horas/profesional/editar-cita.html?idCita="+idCita;
});
$(".btnCancelarCitaMultiple").click(function(){
let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea cancelar este cita recurrente?", "Aceptar", function () {
let espere = Utils.sendStandardAjax(null, "ajax/Profesionales.cancelarCitaRecurrente.php?dummy"+queryString, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
window.location = "/saludnatural24horas/profesional/agenda.html";
}
}});
}, "Cancelar", null, "", "Aviso");
});
$(".btnConfirmarCitaMultiple").click(function(){
if(CofenatProfesionales.numCitasRecurrentesProblematicas > 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("No puede confirmas las citas recurrentes porque todavía hay %1% cita/s con solapamientos o problemas".replace("%1%", CofenatProfesionales.numCitasRecurrentesProblematicas), true, false, "modalStandardMed");
return;
}
if(CofenatProfesionales.numCitasRecurrentesCargadas === 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Parece que se han borrado las citas recurrentes que estaba preparando porque han pasado mas de 45 min sin confirmarlas, deberá de empezar de nuevo el proceso", true, false, "modalStandardMed");
return;
}
let espere = Utils.sendStandardAjax(null, "ajax/Profesionales.confirmarCitaRecurrente.php?dummy"+queryString, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
window.location = "/saludnatural24horas/profesional/agenda.html";
}
}});
});
});
};
static initConfirmarCitaMultiple(idProfesional, businessHourProfesionales, horasCentro, queryString) {
CofenatProfesionales.mostrarSoloCitaRecurrente = 0;
CofenatProfesionales.init();
$(document).ready(function () {
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
CofenatProfesionales.resourceData = [];
CofenatProfesionales.visibleResourceIds = [];
$(".trabajador").each(function () {
CofenatProfesionales.resourceData.push({ id: $(this).attr("data-idprofesional"), title: $(this).html(), "eventClassNames":$(this).attr("data-color")+" active showOnAgenda" });
CofenatProfesionales.visibleResourceIds.push($(this).attr("data-idprofesional"));
$(this).makeTagLink(function () {
$(this).toggleClass("active");
CofenatProfesionales.toggleResource($(this).attr("data-idprofesional"));
});
});
CofenatProfesionales.prepararFullCalendar(idProfesional, true, false, undefined, undefined, horasCentro, CofenatProfesionales.FC_CITA_RECURRENTE, queryString);
let body = $("body");
body.on("click", ".btnCalendarRecurrenteButtonEdit", function() {
CofenatProfesionales.abrirCambiarCitaRecurrente($(this).closest(".infoCalendarOnToolTipster").data("event"));
});
$(".btnCancelarCitaMultiple").click(function(){
let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea cancelar este cita recurrente?", "Aceptar", function () {
let espere = Utils.sendStandardAjax(null, "ajax/Profesionales.cancelarCitaRecurrente.php?dummy"+queryString, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
window.location = "/saludnatural24horas/profesional/agenda.html";
}
}});
}, "Cancelar", null, "", "Aviso");
});
$(".btnConfirmarCitaMultiple").click(function(){
if(CofenatProfesionales.numCitasRecurrentesProblematicas > 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("No puede confirmas las citas recurrentes porque todavía hay %1% cita/s con solapamientos o problemas".replace("%1%", CofenatProfesionales.numCitasRecurrentesProblematicas), true, false, "modalStandardMed");
return;
}
if(CofenatProfesionales.numCitasRecurrentesCargadas === 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Parece que se han borrado las citas recurrentes que estaba preparando porque han pasado mas de 45 min sin confirmarlas, deberá de empezar de nuevo el proceso", true, false, "modalStandardMed");
return;
}
let espere = Utils.sendStandardAjax(null, "ajax/Profesionales.confirmarCitaRecurrente.php?dummy"+queryString, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
window.location = "/saludnatural24horas/profesional/agenda.html";
}
}});
});
});
};
static initBloqueCambiarHoraRecurrente() {
$(document).ready(function () {
let form = $("#frmCambiarHoraRecurrente");
let validacion=form.validate({showLabels: false});
$("#frmCHR_dia").mask("99/99/9999");
$("#frmCHR_hora").mask("99:99");
$("#btnConfirmarCambioHora").makeTagLink(CofenatProfesionales.enviarCambiarCitaRecurrente);
});
};
static enviarCambiarCitaRecurrente()
{
CofenatProfesionales.modalCambiarHoraRecurrente.hide();
let espere = Utils.sendStandardAjax("frmCambiarHoraRecurrente", "ajax/Profesionales.cambiaCitaRecurrente.php?idCita="+CofenatProfesionales.eventoRecurrenteSeleccionado.extendedProps.idCita, {"successCallback": function (data, textStatus, XMLHttpRequest){
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
/*
CofenatProfesionales.eventoRecurrenteSeleccionado.setStart(data["dateTime"], true);
CofenatProfesionales.eventoRecurrenteSeleccionado.setProp('classNames', data["class"]);
*/
CofenatProfesionales.fullCalendar.refetchEvents();
espere.hide();
}
}});
}
eventoRecurrenteSeleccionado = null;
modalCambiarHoraRecurrente = null;
static abrirCambiarCitaRecurrente(event){
CofenatProfesionales.eventoRecurrenteSeleccionado = event;
$("#frmCHR_dia").val(("00"+event.start.getDate()).slice(-2) + "/"+("00"+(event.start.getMonth()+1)).slice(-2)+ "/"+event.start.getFullYear());
$("#frmCHR_hora").val(("00"+event.start.getHours()).slice(-2)+":"+("00"+event.start.getMinutes()).slice(-2));
CofenatProfesionales.modalCambiarHoraRecurrente = ClassBlockUI.abrirBlockUIEstandar("bloqueCambiarHoraRecurrente", null, "Seleccione el nuevo día y/o hora", "modal-xl");
};
static initFichaCliente(idCliente, idProvincia) {
$(document).ready(function () {
let body = $("body");
$("#frmFC_gpcl_fechaNacimiento").mask("99/99/9999");
body.on("change", ".grupoFile input", function () {
if($(this).val())
{
let parent = $(this).closest(".grupoFile");
let contenedor = $(".contenedorGrupoFile");
let clone = parent.clone();
contenedor.append(clone)
let num = (contenedor.attr("data-num"))*1+1;
contenedor.attr("data-num", num);
clone.attr("data-id", num);
let input = clone.find("input");
input.attr("name", "frmHC_file_"+num);
input.attr("id", "frmHC_file_"+num);
input.val("");
}
});
body.on("click", ".btnDeleteInput", function () {
let parent = $(this).closest(".grupoFile");
parent.remove();
});
Utils.preparaLugar(28, idProvincia, 0, undefined, "frmFC_gpcl_idProvincia", "frmFC_gpcl_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
$(".btnGuardarCambiosHistorialCliente").makeTagLink(function () {
Utils.sendStandardAjax("frmEditarHistorial", "ajax/Profesionales.guardarHistorialCliente.php", {"prepareFormData":function () {
let formData = new FormData($("#frmEditarHistorial")[0]);
let eliminados = [];
$(".ficheroSubido.eliminarFichero").each(function()
{
eliminados.push($(this).attr("data-id"));
});
formData.append("eliminados", eliminados);
return formData;
}});
});
$(".btnGuardarCliente").makeTagLink(function ()
{
let esperePorFavor = Utils.sendStandardAjax("frmFichaCliente", "ajax/Profesionales.guardarCambiosCliente.php?idCliente="+idCliente, {"successCallback":function(data, textStatus, jqXHR)
{
$.notify(
{
title: "",
message: data["error_message"],
},
{
type: data["error_number"]<0 ? 'danger' : 'info',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
esperePorFavor.modal("hide");
}});
});
body.on("click", ".btnDeleteUploaded", function() {
let parent = $(this).closest(".ficheroSubido");
parent.toggleClass("eliminarFichero");
});
});
};
static cambiarAvisoSMS(avisoSMS, idCita)
{
let esperePorFavor = Utils.sendStandardAjax("null", "ajax/Profesionales.modificarCitaSMS.php?idCita="+idCita+"&avisoSMS="+avisoSMS, {"successCallback":function(data, textStatus, jqXHR)
{
$.notify(
{
title: "",
message: data["error_message"],
},
{
type: data["error_number"]<0 ? 'danger' : 'info',
placement: {
from: "top",
align: "center"
},
delay: 10000
});
esperePorFavor.modal("hide");
}});
}
static initEditarCita(idCita, idProfesional, fechaHoraInicioCita, businessHourProfesionales, horasCentro){
CofenatProfesionales.init();
$(document).ready(function () {
$("#gpcita_avisoSMS").change(function(){CofenatProfesionales.cambiarAvisoSMS($(this).is(":checked") ? 1 : 0, idCita)});
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
$(".btnCambiarCita").makeTagLink(function () {
if(!CofenatProfesionales.lastEventSelected)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar una cita, primero debes seleccionar la hora de la cita. Pulsa sobre la hora que te gustaria asistir y luego podrás ajustar los minutos.", true)
return;
}
Utils.sendStandardAjax("null", "ajax/Profesionales.modificarCita.php?idCita="+idCita+"&fecha="+CofenatProfesionales.lastEventSelected.startStr+"&idProfesional="+CofenatProfesionales.profesionalSeleccionado, {"successCallback": "data-location"});
});
$("input[name='profesional']").change( function() {
CofenatProfesionales.setProfesionalSelected($(this).val());
$(".servicioProfesional").html($("label[for='profesional"+$(this).val()+"']").text());
CofenatProfesionales.prepararFullCalendar($(this).val(), undefined, undefined, idCita, CofenatProfesionales.currentDateSM.toISOString(), horasCentro, CofenatProfesionales.FC_EDITAR);
});
CofenatProfesionales.setProfesionalSelected($("input[name='profesional']:checked").val());
CofenatProfesionales.prepareSmallCalendar(undefined, undefined, fechaHoraInicioCita);
CofenatProfesionales.prepararFullCalendar(idProfesional, undefined, undefined, idCita, new Date(fechaHoraInicioCita*1000).toISOString(), horasCentro, CofenatProfesionales.FC_EDITAR);
CofenatProfesionales.initBloqueReservarHora("frmECC_servicio", idCita);
});
}
static initCondiciones() {
$(document).ready(function () {
$(".btnAceptarCondiciones").makeTagLink(function () {
Utils.sendStandardAjax(null, "ajax/Profesional.aceptarCondiciones.php", {"successCallback": "data-location"});
})
});
};
static initServicios(urlAjax) {
$(document).ready(function () {
$('#frmES_profesionales').dropdown();
$("#frmES_importe").bind("keydown", function(e)
{
$(this).val($(this).val().replace(",", "."));
});
$(".btnGuardarServicio").makeTagLink(function () {
Utils.sendStandardAjax("frmEditarServicio", "ajax/Centros.guardarServicioCurso.php?tipo=2");
})
$(".btnNuevoServicio").makeTagLink(function () {
ClassBlockUI.abrirBlockUIEstandar("bloqueServicio", null, "Nuevo Servicio", "modal-xl");
$("#frmEditarServicio").trigger("reset");
let profesionales = $('#frmES_profesionales');
profesionales.dropdown("clear");
let idCursoServicio = $("#frmES_idCursoServicio");
idCursoServicio.val(-1);
});
let campoTipoPago = $("#frmES_admitePagoPresencialAdelantado");
let campoTipoUbicacion = $("#frmES_tipoUbicacion");
campoTipoUbicacion.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
CofenatProfesionales.onChangeTipoUbicacionServicios(campoTipoUbicacion, campoTipoPago);
});
});
$("body").on("change", "#activarDesactivarOcultos", function()
{
let mostrar = $(this).is(":checked") ? -1 : 1;
tablatablaServiciosCursos.ajax.url(urlAjax+mostrar).load();
});
};
static reactivaClicksListadoServiciosCursos(settings, tipo, esMovil) {
tablatablaServiciosCursos.columns.adjust().responsive.recalc();
if(esMovil)
{
tablatablaServiciosCursos.columns( tipo === 1 ? [0,2,3,4,5,6,7,8,9,10] : [0,2,3,4,5,6,7] ).visible( false );
tablatablaServiciosCursos.columns( [1] ).visible( true );
}
else
{
tablatablaServiciosCursos.columns( [0, 1] ).visible( false );
tablatablaServiciosCursos.columns( tipo === 1 ? [2,3,4,5,6,7,8,9,10] : [2,3,4,5,6,7] ).visible( true );
}
CofenatProfesionales.reactivaClicksListadoStandard(settings, 'tablaServiciosCursos');
$(".btnEditarServicioCurso").unbind("click").makeTagLink(function(){CofenatProfesionales.abreEditarServicioCurso($(this).attr("data-gpcs_idCursoServicio"), tipo)});
$(".btnDuplicarServicioCurso").unbind("click").makeTagLink(function(){CofenatProfesionales.abreEditarServicioCurso($(this).attr("data-gpcs_idCursoServicio"), tipo, true)});
$(".btnEliminarActivarServicio").unbind("click").makeTagLink(function(){CofenatProfesionales.confirmaEliminarActivarServicioCurso($(this).attr("data-gpcs_idCursoServicio"), $(this).attr("data-accion"), $(this).attr("data-gpcs_tipo"))});
}
static confirmaEliminarActivarServicioCurso(idServicio, accion, tipo)
{
let mensajeServicio = accion == 0 ? "Va a eliminar un servicio, ¿Desea continuar?" : "Va a activar un servicio, ¿Desea continuar?";
let mensajeCurso = accion == 0 ? "Va a ocultar un curso, ¿Desea continuar?" : "Va a activar un curso, ¿Desea continuar?";
let mensaje = tipo*1 === 1 ? mensajeCurso : mensajeServicio;
ClassBlockUI.abrirBlockUIConfirm(mensaje, "Aceptar", function(){CofenatProfesionales.activarEliminarServicioCurso(idServicio, accion, tipo)}, "Cancelar")
}
static activarEliminarServicioCurso(idServicio, accion, tipo)
{
var successCallback = function (data, textStatus, XMLHttpRequest) {
$(".modal").modal("hide");
if (data["error_number"] < 0) {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined);
tablatablaServiciosCursos.ajax.reload();
}
};
Utils.sendStandardAjax(null, "ajax/Profesionales.activarOcultarServicio.php?id="+idServicio+"&accion="+accion+"&tipo="+tipo, {
successCallback: successCallback
});
}
static abreEditarServicioCurso(idServicioCurso, tipo, duplicar)
{
Utils.sendStandardAjax(null, "ajax/Profesionales.datosServicioCurso.php?idServicioCurso="+idServicioCurso, {"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
let tituloExtra = duplicar !== undefined ? " - Duplicar" : "";
ClassBlockUI.abrirBlockUIEstandar(tipo === 2 ? "bloqueServicio" : "bloqueCurso", null, (tipo === 2 ? "Editar Servicio" : "Editar Curso")+tituloExtra, "modal-xl");
let prefix = tipo === 2 ? "frmES" : "frmEC";
$("#"+prefix+"_idCursoServicio").val(duplicar !== undefined ? -1 : data["gpcs_idCursoServicio"]);
$("#"+prefix+"_titulo").val(data["titulo"]);
$("#"+prefix+"_descripcion").val(data["descripcion"]);
$("#"+prefix+"_duracion").val(data["gpcs_duracion"]);
$("#"+prefix+"_importe").val(data["gpcs_importe"]);
let campoTipoUbicacion = $("#"+prefix+"_tipoUbicacion");
campoTipoUbicacion.selectpicker('val', data["gpcs_tipoUbicacion"]);
campoTipoUbicacion.selectpicker("refresh");
if(tipo === 2)
{
let campoTipoPago = $("#"+prefix+"_admitePagoPresencialAdelantado");
campoTipoPago.selectpicker('val', data["gpcs_admitePagoPresencialAdelantado"]);
campoTipoPago.selectpicker("refresh");
CofenatProfesionales.onChangeTipoUbicacionServicios(campoTipoUbicacion, campoTipoPago);
let profesionales = $('#frmES_profesionales');
profesionales.dropdown('setup menu', { values: data["profesionalesCentro"] });
if(data["numProfesionalesActuales"] > 0)
{
for(let index in data["profesionalesActuales"]) {
profesionales.dropdown("set selected", data["profesionalesActuales"][index]);
};
profesionales.dropdown('refresh');
}
}
else
{
$("#"+prefix+"_numPlazas").val(data["gpcs_numAsistentes"]);
$("#"+prefix+"_fecha").val(duplicar !== undefined ? "" : data["gpcs_fechaInicio"]);
$("#"+prefix+"_hora").val(duplicar !== undefined ? "" : data["gpcs_horaInicio"]);
let idProfesional = Object.keys(data["profesionalesActuales"])[0];
let campoProfesional = $("#"+prefix+"_profesional");
if(idProfesional !== undefined)
{
campoProfesional.selectpicker('val', idProfesional);
}
else
{
campoProfesional.val('default');
}
campoProfesional.selectpicker("refresh");
if(duplicar === undefined)
{
campoTipoUbicacion.attr("disabled", true);
campoTipoUbicacion.selectpicker("refresh");
}
}
}});
}
static onChangeTipoUbicacionServicios(campoTipoUbicacion, campoTipoPago){
let value = campoTipoUbicacion.selectpicker('val');
let permitePagoPresencial = campoTipoUbicacion.find("option[value="+value+"]").attr("data-permitePagoPresencial")*1;
if(permitePagoPresencial===0)
{
campoTipoPago.attr("disabled", true);
}
else
{
campoTipoPago.removeAttr("disabled");
}
campoTipoPago.selectpicker("refresh");
}
static onChangeTipoUbicacionCursos(campoTipoUbicacion, campoTipoPago){
let value = campoTipoUbicacion.selectpicker('val');
let campoNumPlazas = $("#frmEC_numPlazas");
if(value*1 !== 1 )
{
campoNumPlazas.attr("max", campoNumPlazas.attr("data-max"));
}
else
{
campoNumPlazas.removeAttr("max");
}
}
static initCursos() {
$(document).ready(function () {
$("#frmEC_fecha").mask("99/99/99");
$("#frmEC_hora").mask("99:99");
$("#frmES_importe").bind("keydown", function(e)
{
$(this).val($(this).val().replace(",", "."));
});
$(".btnGuardarCurso").makeTagLink(function () {
Utils.sendStandardAjax("frmEditarCurso", "ajax/Centros.guardarServicioCurso.php?tipo=1");
})
$(".btnNuevoCurso").makeTagLink(function () {
ClassBlockUI.abrirBlockUIEstandar("bloqueCurso", null, "Nuevo Curso", "modal-xl");
$("#frmEditarCurso").trigger("reset");
let profesionales = $('#frmEC_profesional');
profesionales.selectpicker("val", "");
profesionales.selectpicker("refresh");
let idCursoServicio = $("#frmEC_idCursoServicio");
idCursoServicio.val(-1);
let campoTipoUbicacion = $("#frmEC_tipoUbicacion");
campoTipoUbicacion.removeAttr("disabled");
campoTipoUbicacion.selectpicker("refresh");
});
let campoTipoUbicacion = $("#frmEC_tipoUbicacion");
campoTipoUbicacion.on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
CofenatProfesionales.onChangeTipoUbicacionCursos(campoTipoUbicacion);
});
$("body").on("click", ".btnMostrarAsistentes", function() {
let idCurso = $(this).attr("data-idCurso");
Utils.sendStandardAjax(null, "ajax/Centros.listadoAsistentes.php?idCurso="+idCurso, {"successCallback": function (data, textStatus, XMLHttpRequest)
{
if (data["error_number"] >= 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["asistentes"], true);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
}
});
});
});
};
static loadCustomRules(){
if(CofenatProfesionales.CR_Loaded === true)
{
return;
}
CofenatProfesionales.CR_Loaded = true;
$.validator.addMethod("dropdownOneOrMoreSelected", function(value, element) {
return value !== "" && value.split(",").length>0;
}, "Debes seleccionar al menos un elemento.");
//REQUIRE:Moment-Range
$.validator.addMethod("validacionHorario", function(value, element) {
let allOk = true;
$(".itemHorario").each(function () {
let intervalosDia = [];
$(this).find(".itemHora:visible").each(function () {
let tempMoment = moment.range
(
moment($(this).find(".horaInicio").val(), "HH:mm"),
moment($(this).find(".horaFin").val(), "HH:mm")
);
intervalosDia.push(tempMoment)
});
allOk &= !CofenatProfesionales.isOverlappingRanges(intervalosDia);
});
return allOk;
}, "El horario no es válido, por favor repásalo");
jQuery.validator.addMethod("dateES", function(value, element) {
return this.optional(element) || Utils.isValidDateES(value, element, this)
}, "
Escriba una fecha del formato DD/MM/AAAA (dia, mes y año)"
);
jQuery.validator.addMethod("hora", function (value, element)
{
return this.optional(element) || /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/.test(value); },
"
Escriba una hora valida (00:00 a 23:59)"
);
}
static initModificarProfesional(serviciosActuales) {
$(document).ready(function () {
CofenatProfesionales.loadCustomRules();
let body = $("body");
let servicios = $("#frmEP_servicios");
$(".inputHora").mask("99:99");
servicios.dropdown();
body.on("click", ".btnAgregarHorario", function() {
var date = new Date();
let numDiaSemana = $(this).closest(".itemHorario").attr("data-numDia");
let grupo = $(this).closest(".horariosExtra");
grupo.append(" ".replace(/%numDiaSemana%/g, numDiaSemana).replace(/%1%/g, date.getTime()*1000+date.getMilliseconds()));
$(".inputHora").mask("99:99");
if(grupo.find(".itemHora").length===1)
{
grupo.addClass("horarioUnico");
}
else
{
grupo.removeClass("horarioUnico");
}
});
body.on("change", ".checkboxSlider", function() {
let grupoPrincipal = $(this).closest(".itemHorario");
let grupo = grupoPrincipal.find(".horariosExtra");
if($(this).is(":checked"))
{
grupo.removeClass("sinHorario");
}
else
{
grupo.addClass("sinHorario");
}
});
body.on("click", ".btnEliminaHorario", function() {
let grupo = $(this).closest(".horariosExtra");
$(this).closest(".itemHora").remove();
if(grupo.find(".itemHora").length===1)
{
grupo.addClass("horarioUnico");
}
else
{
grupo.removeClass("horarioUnico");
}
});
if(Object.keys(serviciosActuales).length > 0)
{
$.each( serviciosActuales, function( element, index ) {
servicios.dropdown("set selected", element);
});
servicios.dropdown('refresh');
}
$(".btnGuardarProfesional").makeTagLink(CofenatProfesionales.guardarProfesional);
});
};
static guardarProfesional()
{
Utils.sendStandardAjax("frmEditarProfesional", "ajax/Centros.guardaProfesional.php",
{
"opcionesValidacion": {showLabels: false, ignore:""},
"prepareFormData": function () {
let formData = new FormData($("#frmEditarProfesional")[0]);
$(".horaInicio:hidden").each(function(){
formData.delete($(this).attr("id"));
});
$(".horaFin:hidden").each(function(){
formData.delete($(this).attr("id"));
});
return formData;
},
"successCallback": "data-location"
});
}
static initMiPlan() {
$(document).ready(function () {
$(".btnCambiarPlan").makeTagLink(function () {
let idPlan = $(this).closest(".itemPlan").attr("data-id");
let confirm = ClassBlockUI.abrirBlockUIConfirm("¿Estás seguro de que deseas cambiar el plan? Al pulsar en confirmar, nos enviaras una solicitud para que nos pongamos en contacto contigo para confirmar el cambio.", "Aceptar", function(){
confirm.modal("hide");
Utils.sendStandardAjax(null, "ajax/Centros.solicitudCambiarPlan.php?idPlanNuevo="+idPlan);
},"Cancelar");
});
})
};
static initPublicListadoSC() {
$(document).ready(function () {
$(".btnAbrirMasInfo").each(function () {
let texto = $(this).closest(".itemServicio").find(".itemServicioDescripcion").html();
if(texto.length===0)
{
$(this).hide();
return;
}
$(this).makeTagLink(function () {
ClassBlockUI.abrirBlockUIEstandarMensaje(
texto,
{}, undefined, "modalStandard scrollbar420",
$(this).closest(".itemServicio").find(".itemServicioTitulo").html());
});
});
});
};
businessHourProfesionales = null;
static initReservarCita(idProfesional, duracionServicio, action, businessHourProfesionales, horasCentro) {
CofenatProfesionales.init();
$(document).ready(function (){
CofenatProfesionales.businessHourProfesionales = businessHourProfesionales;
CofenatProfesionales.prepareSmallCalendar();
CofenatProfesionales.prepararFullCalendar(idProfesional, false, false, undefined, undefined, horasCentro, CofenatProfesionales.FC_RESERVAR);
$("input[name='profesional']").change( function() {
CofenatProfesionales.setProfesionalSelected($(this).val());
$(".servicioProfesional").html($("label[for='profesional"+$(this).val()+"']").text());
CofenatProfesionales.prepararFullCalendar($(this).val(), false, false, 0, CofenatProfesionales.currentDateSM.toISOString(), horasCentro, CofenatProfesionales.FC_RESERVAR);
});
CofenatProfesionales.setProfesionalSelected($("input[name='profesional']:checked").val());
CofenatProfesionales.initBloqueReservarHora(undefined, undefined, duracionServicio);
$(".btnConfirmarReserva").makeTagLink(function () {
if(!CofenatProfesionales.lastEventSelected)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar una cita, primero debes seleccionar la hora de la cita. Pulsa sobre la hora que te gustaria asistir y luego podrás ajustar los minutos.", true)
return;
}
if(!CofenatProfesionales.profesionalSeleccionado)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder reservar la cita, primero debes elegir al profesional al que quieres visitar.", true)
return;
}
window.location = "confirmar-reserva.html?action="+action+"&fecha="+CofenatProfesionales.lastEventSelected.startStr+"&idProfesional="+CofenatProfesionales.profesionalSeleccionado;
});
});
};
static initEditarCentro(idProvinciaActual, idLocalidadActual) {
$(document).ready(function(){
Utils.preparaLugar(28, idProvinciaActual, idLocalidadActual, undefined, "frmEDC_gpc_idProvincia", "frmEDC_gpc_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
CofenatProfesionales.loadCustomRules();
$("#frmEDC_gpc_minHora").mask("99:99");
$("#frmEDC_gpc_maxHora").mask("99:99");
$(".btnGuardarCambiosCentro").makeTagLink(function(){Utils.sendStandardAjax("frmEditarDatosCentro", "ajax/Centros.editarDatos.php")})
$("#frmSubirFotoFile").change(function(){CofenatProfesionales.fotoPerfilChange("imagenPerfilToCrop", $(this).attr("id"), 2)});
$("#btnGuardarCrop").unbind("click").click(CofenatProfesionales.guardarFotosUsuario);
});
};
validacionOlvido = null;
static initOlvido() {
$(document).ready(function () {
CofenatProfesionales.validacionOlvido = $("#frmEnviarOlvido").validate({showLabels: false});
$("#form_email").pressEnter(function () { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php")});
$(".btnEnviarEmailOlvidoPass").makeTagLink(function () { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php")});
});
};
static guardaClaveOlvidoPass()
{
let form = $("#form_olvido");
if(!form.valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, false, "modalStandardMed");
return;
}
var opciones=
{
url: "ajax/Usuarios.guardaClave.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data: form.serialize(),
success: function(data, textStatus, XMLHttpRequest)
{
if (data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false, "modalStandardMed");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, function(){window.location="/index.php"}, "modalStandardMed");
}
}
};
$.ajax(opciones);
ClassBlockUI.abrirBlockUIEsperePorFavor();
};
static initOlvidoPaso2() {
$(document).ready( function ()
{
$(".btnEnviarNuevoPass").makeTagLink(function () { Utils.sendStandardAjax("frmEnviarOlvidoPaso2", "ajax/Usuarios.guardarContrasena.php", {"successCallback": "data-location"})});
$("#password2").pressEnter(function () { Utils.sendStandardAjax("frmEnviarOlvidoPaso2", "ajax/Usuarios.guardarContrasena.php", {"successCallback": "data-location"})});
let opciones_validacion=
{
showLabels: false,
rules: {
fEOP2_pass:
{
required: true,
minlength: 6
},
fEOP2_pass2: {
equalTo: "#fEOP2_pass"
}
}
};
$("#frmEnviarOlvidoPaso2").validate(opciones_validacion);
});
};
static initReactivaCuenta() {
$(document).ready(function () {
CofenatProfesionales.validacionOlvido = $("#frmReactivaCuenta").validate({showLabels: false});
$("#fRC_email").pressEnter(function () { Utils.sendStandardAjax("frmReactivaCuenta", "ajax/Usuarios.reactivaCuenta.php")});
$(".btnEnviarEmailReactivaCuenta").makeTagLink(function () { Utils.sendStandardAjax("frmReactivaCuenta", "ajax/Usuarios.reactivaCuenta.php")});
});
};
static initReactivaCuentaPaso2() {
$(document).ready( function ()
{
$(".btnEnviarReactivaCuenta").makeTagLink(function () { Utils.sendStandardAjax("frmReactivarCuentaPaso2", "ajax/Usuarios.reactivaCuentaPassword.php", {"successCallback": "data-location"})});
$("#fRCP2_pass").pressEnter(function () { Utils.sendStandardAjax("frmReactivarCuentaPaso2", "ajax/Usuarios.reactivaCuentaPassword.php", {"successCallback": "data-location"})});
let opciones_validacion=
{
showLabels: false,
rules: {
fRCP2_pass:
{
required: true,
minlength: 6
},
fRCP2_pass2: {
equalTo: "#fRCP2_pass"
}
}
};
$("#frmReactivarCuentaPaso2").validate(opciones_validacion);
});
};
static initNuevoCliente() {
$(document).ready(function(){
let esperePorFavor = null;
Utils.preparaLugar(28, 0, 0, undefined, "frmEC_idProvincia", "frmEC_localidad", "Selecciona una Provincia", "Selecciona una Localidad", "Cargando", "es", true);
$("#frmEC_fechaNacimiento").mask("99/99/9999");
$("#btnNuevoCliente").makeTagLink(function(){esperePorFavor = Utils.sendStandardAjax("frmEditarCliente", "ajax/Profesionales.guardarCliente.php", {"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
let item = {"cliente": data["items"][0]["cliente"], "ultimaVisita": data["items"][0]["ultimaVisita"], "zonaHoraria": data["items"][0]["zonaHoraria"], "observaciones": data["items"][0]["observaciones"]};
let id = data["items"][0]["id"];
CofenatProfesionales.idClienteSeleccionadoCita = id;
CofenatProfesionales.functionsAutoCompelteCliente.clienteSeleccionado(item);
CofenatProfesionales.blockNuevoCliente.modal("hide");
esperePorFavor.modal("hide");
}})});
});
};
cropContainerPreload = null;
static fotoPerfilChange(idCroppicContainer, inputFileId, tipo) {
var input = $("#"+inputFileId)[0];
if (input.files && input.files[0]) {
var filename = input.files[0].name;
var size = input.files[0].size;
var extension = (filename.substring(filename.lastIndexOf('.') + 1, filename.length) || filename).toLowerCase();
var errores = "";
if (extension !== "png" && extension !== "jpg" && extension !== "jpeg" && extension !== "webp") {
errores += "
El fichero debe ser de tipo JPG, PNG o WebP";
}
if (size > 12582912) {
errores += "
El fichero debe tener un tamaño máximo de 12Mb";
}
if (errores === "") {
let img = $("");
img.on("load", function (e) {
let minWidth = tipo === 1 ? 400 : 400;
let minHeight = tipo === 1 ? 300 : 400;
if(this.width < minWidth || this.height < minHeight)
{
CofenatProfesionales.errorSeleccionarFoto(inputFileId, "Debes subir una imagen de un tamaño mínimo de %1% x %2% píxeles".replace("%1%", minWidth).replace("%2%", minHeight));
}
else
{
CofenatProfesionales.cropFoto(idCroppicContainer, inputFileId, tipo);
}
})
img.on("error", function (e) {
CofenatProfesionales.errorSeleccionarFoto(inputFileId, "El fichero debe ser de tipo JPG, PNG o WebP");
})
} else {
CofenatProfesionales.errorSeleccionarFoto(inputFileId, errores);
}
}
}
static errorSeleccionarFoto (inputFileId, errores) {
$(".modalAutoHide").modal("hide");
$("#"+inputFileId).val("");
ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al seleccionar la imagen.
"+errores, true, undefined);
}
static cropFoto(idCroppicContainer, inputFileId, tipo)
{
let image = $('#'+inputFileId)[0].files[0];
let file = URL.createObjectURL(image);
let titulo;
let texto;
if(tipo === 1)
{
titulo = "Cambia tu foto de perfil";
texto = "Vamos a preparar tu foto de perfil, centra la imagen, haz zoom si lo necesitas y pulsa el botón guardar cuando este lista";
}
else
{
titulo = "Foto del centro";
texto = "Vamos a preparar la foto de tu centro, centra la imagen, haz zoom si lo necesitas y pulsa el botón guardar cuando este lista";
}
//Mostramos el cropic, guardar y btnCerrar
let modal = ClassBlockUI.abrirBlockUIEstandar("bloqueSubirFoto", function(){
modal.modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
$("#"+inputFileId).val("");
}, titulo);
$("#bloqueSubirFoto .fraseModal").html(texto);
var croppicContainerPreloadOptions =
{
cropUrl:tipo === 1 ? 'ajax/Profesionales.cambiarFotoPerfil.php?CSRF='+CSRF : 'ajax/Centros.cambiarFotoPerfil.php?CSRF='+CSRF,
loadPicture: file/*+"?"+new Date().getTime()*/,
rotateFactor: 90,
scaleToFill: false,
doubleZoomControls: false,
enableMousescroll: false,
loaderHtml:'
',
//onError: function(errormsg){ console.log('onError:'+errormsg) },
//onBeforeImgUpload: function(){ console.log('onBeforeImgUpload') },
onAfterImgUpload: function()
{
$(".cropControlReset").hide();
$(".cropControlCrop").hide();
},
onBeforeImgCrop: function(){$("#btnGuardarCrop").hide(); },
onAfterImgCrop: CofenatProfesionales.onCropped,
cropData:
{
"image": image
}
}
if(CofenatProfesionales.cropContainerPreload!=null)
{
CofenatProfesionales.cropContainerPreload.destroy()
}
CofenatProfesionales.cropContainerPreload = new Croppic(idCroppicContainer, croppicContainerPreloadOptions);
}
static onCropped(response)
{
$("#frmSubirFotoFile").val("");
$(".modal").modal("hide");
if(response["error_number"]>=0)
{
$(".cropControlRemoveCroppedImage").hide();
$(".conFotoSubida img").attr("src", response.url+"?"+new Date().getTime());
$(".contieneFotoPerfil").removeClass("no-foto");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(response["error_message"], true, undefined);
}
}
static guardarFotosUsuario ()
{
$(".cropControlCrop").trigger("click");
$("#btnGuardarCrop").show();
}
static recargarPagina(secs) {
setTimeout(function () {
window.location = window.location;
}, secs*1000)
};
static initFacturas() {
$(document).ready(function () {
CofenatProfesionales.prepareSmallCalendar("caledarDesde", false, undefined, new Date(0), CofenatProfesionales.cambiarFechaFacturas);
CofenatProfesionales.prepareSmallCalendar("caledarHasta", false, undefined, new Date(0), CofenatProfesionales.cambiarFechaFacturas);
$(".btnDescargarFacturas").click(function () {
let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Centros.descargarFacturas.php", {
"prepareFormData": function () {
let formData = new FormData();
formData.append("caledarDesde", $("#caledarDesde").val());
formData.append("caledarHasta", $("#caledarHasta").val());
Utils.appendFormDataFromDatatable(tablatablaFacturas, formData);
return formData;
},
"successCallback": function (data, textStatus, XMLHttpRequest) {
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
return;
}
if(data["idFilename"] !== undefined)
{
esperePorFavor.modal("hide");
window.location = "descargarZIP.php?idFilename="+data["idFilename"];
}
},
});
});
});
};
static cambiarFechaFacturas(dates)
{
var fechaInicio = $("#caledarDesde").val();
var fechaFin = $("#caledarHasta").val();
let url = 'ajax/Centros.listadoFacturas.php?CSRF='+CSRF+'&caledarDesde='+fechaInicio+'&caledarHasta='+fechaFin;
tablatablaFacturas.ajax.url(url).load();
}
static initInicio() {
$(document).ready(function(){
let form = $("#frmPruebaVideoChat");
let validacionVideoChat=form.validate({showLabels: false});
$("#abre-alta-plataforma").makeTagLink(function()
{
ClassBlockUI.abrirBlockUIEstandar("modal-solicitar-acceso", undefined, "Solicitar Acceso", "modal-lg");
});
$(".btnSolicitarAcceso").makeTagLink(function()
{
var extraMsg = "";
if(!$("#politicaContacto").is(":checked"))
{
extraMsg += "Debe aceptar la Política de privacidad de Datos";
}
if (!form.valid() || extraMsg !== "")
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores:
"+validacionVideoChat.invalidMessages().replace(/\r\n/g, "
")+extraMsg, true, undefined, "modalStandard");
//marcamos los div.form-group.bmd-form-group en rojo
$("#frmPruebaVideoChat input.error").each(function(){
$(this).parent().addClass("error");
});
return;
}
else
{
$(".form-control-b.error").each(function(){
$(this).removeClass("error");
});
}
var $inputs = $('input[type="file"]:not([disabled])', form);
$inputs.each(function(_, input) {
if (input.files.length > 0) return
$(input).prop('disabled', true);
});
var formData = new FormData(form[0]);
$inputs.prop('disabled', false);
var returned = $.ajax(
{
url: "../ajax/VideoChat.solicitarAcceso.php",
type: "POST",
dataType : "json",
data:formData,
cache: false,
contentType: false,
processData: false,
success: function(data)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "modalStandard");
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
});
});
};
static initNotificaciones() {
$(document).ready(function () {
$("#btnAbrirNotificaciones").click(function()
{
$("#notificaciones").addClass("open");
$(".overlay").addClass("active");
Utils.sendStandardAjax(null, "ajax/Profesionales.actualizarAperturaNotificaciones.php", {"successCallback":"", "esperePorFavor":false, "disableErrors":true});
});
$("#cerrarNotificaciones").click(function()
{
$("#notificaciones").removeClass("open");
$("body").removeClass("notificaciones-open");
$(".overlay").removeClass("active");
});
});
};
}