File "incapacidades.php"

Full Path: C:/wamp64/www/casos_medicos/pacientes/incapacidades.php
File size: 6.47 KB
MIME-type: text/x-php
Charset: utf-8

<?php
    include("./conexion.php");
    $cedula = $_GET['cedula'] ?? ($_POST['cedula'] ?? '');

    if (empty($cedula)) {
        echo "<div class='alert alert-warning'>No se indicó la cédula del paciente.</div>";
        exit;
    }
?>

<div class="container-fluid">
  <div class="d-flex justify-content-between align-items-center mb-3">
    <h6 class="m-0 fw-bold text-success">Incapacidades del paciente</h6>
    <button class="btn btn-sm btn-success" data-bs-toggle="modal" data-bs-target="#modalIncapacidad">
      ➕ Nueva Incapacidad
    </button>
  </div>

  <?php
      $sql = "SELECT fecha_inicio, fecha_fin, eps, dias, tipo_incapacidad, cargo 
      FROM ausentismo 
      WHERE cedula= '$cedula' 
      ORDER BY fecha_inicio DESC";
      $res = $conn->query($sql);
  ?>

  <div class="table-responsive">
    <table class="table table-bordered table-sm align-middle">
      <thead class="table-success">
        <tr>
          <th style="text-align:center">Fecha Inicial</th>
          <th style="text-align:center">Dias Transcurridos Incapacidad</th>
          <th style="text-align:center">Fecha Final</th>
          <th>Entidad</th>
          <th>Dias</th>
          <th style="text-align:center">Tipo de incapacidad</th>
          <th style="text-align:center; vertical-align:middle">Cargo</th>
        </tr>
      </thead>
      <tbody>
        <?php if ($res && $res->num_rows > 0): ?>
          <?php while($r = $res->fetch_assoc()): ?>
            <?php 
            $inicio = new DateTime($r['fecha_inicio']);
            $hoy = new DateTime();
            $dif = $inicio->diff($hoy);
            $diasTranscurridos = $dif->days; 
              ?>
            <tr>
              <td><?=htmlspecialchars($r['fecha_inicio'])?></td>
              <td style="text-align:center"><?=$diasTranscurridos?></td>
              <td><?=htmlspecialchars($r['fecha_fin'])?></td>
              <td><?=htmlspecialchars($r['eps'])?></td>
              <td style="text-align:center"><?=htmlspecialchars($r['dias'])?></td>
              <td><?=htmlspecialchars($r['tipo_incapacidad'])?></td>
              <td><?=htmlspecialchars($r['cargo'])?></td>
            </tr>
          <?php endwhile; ?>
        <?php else: ?>
          <tr><td colspan="7" class="text-center text-muted">Sin incapacidades registradas</td></tr>
        <?php endif; ?>
      </tbody>
    </table>
  </div>
</div>

<!-- MODAL NUEVA INCAPACIDAD -->
<div class="modal fade" id="modalIncapacidad" tabindex="-1">
  <div class="modal-dialog modal-lg">
    <form class="modal-content" id="formIncapacidad">
      <div class="modal-header bg-success text-white">
        <h5 class="modal-title">Nueva Incapacidad</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
      </div>

      <div class="modal-body">
        <input type="hidden" name="cedula" value="<?=$cedula?>">
        <div class="row g-3">

          <div class="col-md-6">
            <label class="form-label">Fecha Inicial</label>
            <input type="date" name="fecha_inicial" id="fecha_inicial" class="form-control form-control-sm" required>
          </div>

          <div class="col-md-6">
            <label class="form-label">Fecha Final</label>
            <input type="date" name="fecha_final" id="fecha_final" class="form-control form-control-sm" required>
          </div>

          <div class="col-md-6">
            <label class="form-label">Entidad</label>
            <select name="entidad" class="form-select form-select-sm" required>
              <option value="">Seleccione entidad</option>
              <option value="EPS">EPS</option>
              <option value="ARL">ARL</option>
              <option value="MÉDICO EMPRESA">Médico Empresa</option>
            </select>
          </div>

          <div class="col-md-6">
            <label class="form-label">Médico</label>
            <input type="text" name="medico" class="form-control form-control-sm" required>
          </div>

          <div class="col-md-12">
            <label class="form-label">Diagnóstico</label>
            <select name="codigo_diagnostico" class="form-select form-select-sm" required>
              <option value="">Seleccione diagnóstico</option>
              <?php
              $resDiag = $conn->query("SELECT id, descripcion FROM diagnostico ORDER BY descripcion");
              while($diag = $resDiag->fetch_assoc()){
                echo "<option value='{$diag['id']}'>{$diag['descripcion']}</option>";
              }
              ?>
            </select>
          </div>

          <div class="col-md-6">
            <label class="form-label">Días de Incapacidad</label>
            <input type="number" name="dias" id="dias" class="form-control form-control-sm" readonly>
          </div>

          <div class="col-12">
            <label class="form-label">Observaciones</label>
            <textarea name="observaciones" class="form-control form-control-sm" rows="3"></textarea>
          </div>

        </div>
      </div>

      <div class="modal-footer">
        <button type="submit" class="btn btn-success btn-sm">Guardar</button>
      </div>
    </form>
  </div>
</div>

<script>
    // Calcular días automáticamente
    document.addEventListener('DOMContentLoaded', () => {
      const fechaInicial = document.getElementById('fecha_inicial');
      const fechaFinal = document.getElementById('fecha_final');
      const dias = document.getElementById('dias');

      function calcularDias() {
        const inicio = new Date(fechaInicial.value);
        const fin = new Date(fechaFinal.value);
        if (inicio && fin && fin >= inicio) {
          const diff = Math.ceil((fin - inicio) / (1000 * 60 * 60 * 24)) + 1; // incluye ambos días
          dias.value = diff;
        } else {
          dias.value = '';
        }
      }

      fechaInicial.addEventListener('change', calcularDias);
      fechaFinal.addEventListener('change', calcularDias);
    });
</script>


<script>
    document.getElementById("formIncapacidad").addEventListener("submit", function(e){
      e.preventDefault();
      const formData = new FormData(this);
      fetch('pacientes/guardar_incapacidad.php', {
        method: "POST",
        body: formData
      })
      .then(r => r.text())
      .then(resp => {
        alert(resp);
        location.reload();
      })
      .catch(err => alert("Error al guardar: " + err));
    });
</script>