$(document).ready(function () { // carga las fechas por defecto CargaFechas(); }); function Report() { // form data const formData = $("#report_form").serialize(); $.ajax({ url: "/report/get", type: "POST", data: formData, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, xhrFields: { // make sure the response knows we're expecting a binary type in return. // this is important, without it the excel file is marked corrupted. responseType: 'arraybuffer' } }).done(function (data, status, xmlHeaderRequest) { var downloadLink = document.createElement('a'); var blob = new Blob([data], { type: xmlHeaderRequest.getResponseHeader('Content-Type') }); var url = window.URL || window.webkitURL; var downloadUrl = url.createObjectURL(blob); var fileName = 'mediciones' + '.xls'; if (typeof window.navigator.msSaveBlob !== 'undefined') { window.navigator.msSaveBlob(blob, fileName); } else { if (fileName) { if (typeof downloadLink.download === 'undefined') { window.location = downloadUrl; } else { downloadLink.href = downloadUrl; downloadLink.download = fileName; document.body.appendChild(downloadLink); downloadLink.click(); } } else { window.location = downloadUrl; } setTimeout(function () { url.revokeObjectURL(downloadUrl); }, 100); } }); } function CargaFechas() { // Calcula la fecha del día actual a las 6:00:00 de la mañana var today = new Date(); today.setHours(6); today.setMinutes(0); today.setSeconds(0); var dateTime1 = today; // Calcula la fecha del día anterior a las 6:00:00 de la mañana var yesterday = new Date(); yesterday.setDate(yesterday.getDate() - 1); yesterday.setHours(6); yesterday.setMinutes(0); yesterday.setSeconds(0); var dateTime2 = yesterday; // Selecciona los campos input de tipo datetime-local var dateTimeInput1 = $("#fecha-inicio"); var dateTimeInput2 = $("#fecha-final"); // Rellena el primer campo con la fecha del día actual a las 6:00:00 de la mañana dateTimeInput2.val(dateTime1.toISOString().split("T")[0] + "T" + dateTime1.toTimeString().split(" ")[0]); // Rellena el segundo campo con la fecha del día anterior a las 6:00:00 de la mañana dateTimeInput1.val(dateTime2.toISOString().split("T")[0] + "T" + dateTime2.toTimeString().split(" ")[0]); }