67 Horarios en Create con AJAX para la Atención de Doctores con LARAVEL(PHP-MySql) FullStack
Duración: 10 min
Módulo: ⏰ Horarios y Lógica de Disponibilidad
Lección 8 de
11
Descripción
📅✨ Lección 67: Integración del Calendario Dinámico con AJAX en la Vista de Creación
Esta lección se centra en replicar la funcionalidad de carga dinámica del calendario (implementada previamente en la vista principal Index) en la vista de creación de horarios (Create). Esto mejora la experiencia del usuario al registrar nuevos horarios.
🔄 1. Migración del Calendario a la Vista Create
Para ofrecer una referencia visual al crear un nuevo horario, se reutiliza la lógica AJAX y la estructura del select de consultorios.
- Prioridad del Campo: El campo de selección de Consultorio se mueve a la parte superior del formulario, ya que es el dato clave que define la disponibilidad del calendario [01:44].
- Opción por Defecto: Se añade una opción inicial deshabilitada (disabled) con el texto "Seleccionar consultorio" para guiar al usuario [02:42].
- Copiar y Pegar Script: El script de jQuery/AJAX completo, que maneja la solicitud al servidor, se copia y se pega en la vista Create [03:32].
- Definición del Contenedor: Se designa un div con el ID consultorio_info para que actúe como el contenedor de la respuesta AJAX (el calendario), reemplazando la tabla estática.
🔎 2. La Nueva Experiencia del Usuario
Con la integración AJAX en la vista de creación, el administrador puede verificar la disponibilidad antes de intentar registrar.
- Actualización Instantánea: El calendario se actualiza al instante al seleccionar un consultorio, mostrando solo los horarios ocupados para esa sala específica [04:27].
- Prueba con Nuevo Consultorio: Se crea el consultorio de "Odontología" para demostrar un caso donde el calendario está completamente vacío. El sistema muestra correctamente la disponibilidad total, confirmando que la carga dinámica funciona [08:48].
🚨 3. Identificación de un Bug Crítico
A pesar de que la carga del calendario es dinámica, se detecta un fallo grave en la lógica de validación del backend.
- El Problema Persiste: Al intentar registrar un horario en el consultorio de "Odontología" (que está vacío), el sistema sigue mostrando el error de superposición de horario (ya existe un horario que se superpone) [09:41].
- Causa: La validación en el backend (implementada en la Lección 62) sigue verificando la superposición solo por día y hora, y aún no está incluyendo la condición del consultorio_id en su consulta [09:54].
- Próxima Acción: Se requiere ajustar la lógica de validación en el controlador para que obligatoriamente filtre por el ID del consultorio.
Lecciones
⚙️ Inicio y Estructura Base
👤 CRUD de Usuarios y UX Avanzada
Lección 2. 10 Listado de usuarios del controllador a la vista en el SISTEMA (PHP y MySql)FullStack
9 min
Lección 3. 11 Diseño de tabla con BOOTSTRAP en la vista en el SISTEMA (PHP y MySql) FullStack
12 min
Lección 6. 14 Registro y validación de datos para USUARIOS en el SISTEMA (PHP y MySql)FullStack
16 min
👩💼 Módulo de Secretarias
🤒 Gestión de Pacientes
Lección 4. 38 Como llamar desde un seeder a un factory de pacientes en LARAVEL(PHP-MySql) FullStack
14 min
Lección 8. 42 Show Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
12 min
Lección 9. 43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
14 min
🏥 Infraestructura: Consultorios y Doctores
⏰ Horarios y Lógica de Disponibilidad
Lección 1. 60 Calendario de Atención de Doctores en el sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 10. 69 Plantilla Web para el sistema de reserva de citas con LARAVEL(PHP-MySql) FullStack
13 min
🔑 Seguridad, Roles y Permisos
Lección 6. 76 Identificando el ROL de cada Usuario en el Sistema con LARAVEL(PHP-MySql) FullStack
11 min
Lección 8. 78 Mostrar el Menú según los Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
7 min
Lección 9. 79 Acceso No Autorizado con Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 12. 82 Cargar Horario en la página principal en Sistema con LARAVEL(PHP-MySql) FullStack
16 min
Lección 13. 83 Redirigir a ADMIN desde Login y Register en Sistema con LARAVEL(PHP-MySql) FullStack
12 min
🗓️ Reserva de Citas y FullCalendar
Lección 2. 87 Formulario para Registrar Citas Medicas del Sistema con LARAVEL(PHP-MySql) FullStack
18 min
Lección 3. 88 Guardar Cita Medica en la Base de Datos de Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 9. 94 Cargar Reservas de Citas Medicas con AJAX del Sistema con LARAVEL(PHP-MySql) FullStack
20 min
📝 Historial Clínico, Configuraciones y Reportes
Lección 17. 116 Modificación del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 19. 118 Reporte Impreso del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 20. 119 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 21. 120 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
12 min
💵 Pagos, Impresión y Cierre
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️