{% extends 'base.html.twig' %} {% block breadcrumb %} {% endblock %} {% block javascripts_base %} function initDateFormat( datePicker ) { var selectedDate = ( typeof datePicker.date === 'undefined' || datePicker.date === null ) ? datePicker.options.defaultDate : datePicker.date; var shortWeekdays = datePicker.options.i18n.weekdaysShort; var shortMonths = datePicker.options.i18n.monthsShort; var day = selectedDate.getDate(); var weekday = shortWeekdays[ selectedDate.getDay() ]; var month = shortMonths[ selectedDate.getMonth() ]; var formattedDate = weekday + ', ' + day + ' ' + month; document.querySelector(".datepicker-date-display .date-text").innerHTML = formattedDate; document.querySelector(".datepicker-date-display .year-text").innerHTML = selectedDate.getFullYear(); } {% endblock %} {% block js_document_ready %} {{ parent() }} $('.datepicker').datepicker({ autoClose: true, showClearBtn: true, format: 'dd/mm/yyyy', container: 'body', {# defaultDate: p_defaultDate, #} {# yearRange: p_yearRange, #} {# maxDate: p_maxDate, #} {# setDefaultDate: p_setDefaultDate, #} onDraw: function (datePicker) { // materialize select dropdown not proper working on mobile and tablets so we make it browser default select $('.datepicker-container').find('.datepicker-select').addClass('browser-default'); $(".datepicker-container .select-dropdown.dropdown-trigger").remove(); }, onOpen: function (p) { var instance = M.Datepicker.getInstance(this.el); var d = instance.el.value.split(/[^0-9]/); var newDate = new Date(d[2], d[1] - 1, d[0]); instance.setDate(newDate); initDateFormat(instance); }, i18n: { cancel: 'Cancelar', clear: 'Limpiar', done: 'Aceptar', weekdays: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], weekdaysShort: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], weekdaysAbbrev: ["D", "L", "M", "M", "J", "V", "S"], today: 'Hoy', months: [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ], monthsShort: [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ], } }); $('.continuarCargos').click(function(){ event.preventDefault(); // Serializar los datos del formulario como un array de objetos var formData = $('#informe_form').serialize(); // Realizo la solicitud AJAX al controlador Symfony $ .ajax({ type: "POST", url: "{{ path('cargar_informes', {'idView': presentacionAntecedentes.idView}) }}", data: formData, success: function(response) { // Manejo la respuesta del controlador // oculto botón de continuar con cargos, muestro el de actualizar $('.continuarCargos').hide(); $('.actualizarInforme').show(); // Agregar el atributo data-url al botón con el path recibido en la respuesta $('.actualizarInforme').attr('data-url', response.path); $('#listado').attr('data-idView-psico', response.idViewPsicologico); $('#listado').attr('data-idView-psiqui', response.idViewPsiquiatrico); $('#li-cargos').addClass("active"); $('#body-cargos').show(); // Mostrar el elemento con id "body-cargos" // Mostrar mensajes flash mostrarMensajesFlash(response.flashMessages); }, error: function(xhr, status, error) { // Manejo errores console.error(xhr.responseText); } }); }); $('.actualizarInforme').click(function(){ event.preventDefault(); var dataUrl = $(this).attr('data-url'); // Serializar los datos del formulario como un array de objetos var formData = $('#informe_form').serialize(); $ .ajax({ type: "POST", url: dataUrl, data: formData, success: function(response) { // Manejo la respuesta del controlador {# console.log(response); #} // Mostrar mensajes flash mostrarMensajesFlash(response.flashMessages); }, error: function(xhr, status, error) { // Manejo errores console.error(xhr.responseText); } }); }); // Detectar el cambio en los selects con la class cargo_psi_detalleInformePsico $('.cargo_psi_detalleInformePsico').on('change', function() { // Obtengo el valor seleccionado var resultadoPsico = $(this).find('select').val(); // Obtengo el valor de data-id-cargo del tr más cercano var idCargo = $(this).closest('tr').data('id-cargo'); var idviewPsico = $('#listado').data('idview-psico'); $.ajax({ type: "POST", url: "{{ path('crear_detalle_psico') }}", data: { resultadoPsico: resultadoPsico, idCargo: idCargo, idviewPsico: idviewPsico }, success: function(response) { // Pinto el fondo del div if (resultadoPsico == 'Apto I') { $('#cargo_psi_detalleInformePsico_' + idCargo).css('background-color', '#a7ffeb'); } else if (resultadoPsico == 'Apto II') { $('#cargo_psi_detalleInformePsico_' + idCargo).css('background-color', '#1de9b6'); } else if (resultadoPsico == 'No Apto') { $('#cargo_psi_detalleInformePsico_' + idCargo).css('background-color', '#ffcdd2'); } else { $('#cargo_psi_detalleInformePsico_' + idCargo).css('background-color', 'transparent'); } // Mostrar mensajes flash mostrarMensajesFlash(response.flashMessages); }, error: function(xhr, status, error) { console.error(xhr.responseText); } }); }); // Detectar el cambio en los selects con la class cargo_psi_detalleInformePsiqui $('.cargo_psi_detalleInformePsiqui').on('change', function() { // Obtengo el valor seleccionado var resultadoPsiqui = $(this).find('select').val(); // Obtengo el valor de data-id-cargo del tr más cercano var idCargo = $(this).closest('tr').data('id-cargo'); var idviewPsiqui = $('#listado').data('idview-psiqui'); $.ajax({ type: "POST", url: "{{ path('crear_detalle_psiqui') }}", data: { resultadoPsiqui: resultadoPsiqui, idCargo: idCargo, idviewPsiqui: idviewPsiqui }, success: function(response) { // Pinto el fondo del div if (resultadoPsiqui == 'No Apto') { $('#cargo_psi_detalleInformePsiqui_' + idCargo).css('background-color', '#ffcdd2'); } else if (resultadoPsiqui == 'Apto') { $('#cargo_psi_detalleInformePsiqui_' + idCargo).css('background-color', '#a7ffeb'); } else { $('#cargo_psi_detalleInformePsiqui_' + idCargo).css('background-color', 'transparent'); } // Mostrar mensajes flash mostrarMensajesFlash(response.flashMessages); }, error: function(xhr, status, error) { console.error(xhr.responseText); } }); }); // Función para mostrar mensajes flash utilizando SweetAlert function mostrarMensajesFlash(messages) { // Verificar si messages es un array o un objeto if (Array.isArray(messages)) { // Si es un array, iterar sobre cada mensaje messages.forEach(function(message) { mostrarMensaje(message); }); } else if (typeof messages === 'object') { // Si es un objeto, iterar sobre las claves y mostrar cada mensaje Object.keys(messages).forEach(function(key) { mostrarMensaje(messages[key]); }); } } // Función para mostrar un mensaje utilizando SweetAlert function mostrarMensaje(message) { var alertConfig = { title: "Éxito", icon: "success", content: { element: 'p', attributes: { innerHTML: message, }, } }; // Mostrar el SweetAlert swal(alertConfig); } {% endblock %} {% block titulo_body %}
assignment_ind

Informe Psicológico / Psiquiátrico

{% endblock %} {% block body %} {% set presentacion = presentacionAntecedentes %}
{# save #}

{{ form_row(form.observaciones) }}
Volver al listado de personas {# #}
{{ form_end(form) }} {% endblock %}