feat: 6 nuevas funcionalidades - notas obligatorias turno, reporte enfermero, plantilla WhatsApp, adjuntar orden modal, roles solo lectura, fix valores copago

This commit is contained in:
Lizandro Guarnizo
2026-04-02 09:41:49 -05:00
parent 052a263659
commit d8ceb3f822
14 changed files with 2794 additions and 49 deletions
+12 -8
View File
@@ -9,10 +9,11 @@ if (!isUserLoggedIn()) {
exit;
}
if (isEnfermero()) { header('Location: enfermero_portal.php'); exit; }
$adminNombre = $_SESSION['admin_user']['full_name'] ?? $_SESSION['admin_user']['username'] ?? 'Admin';
$ordenIdParam = (int)($_GET['orden_id'] ?? 0);
$pacIdParam = (int)($_GET['paciente_id']?? 0);
$domIdParam = (int)($_GET['id'] ?? 0);
$adminNombre = $_SESSION['admin_user']['full_name'] ?? $_SESSION['admin_user']['username'] ?? 'Admin';
$puedeEscribir = hasModuleWrite('lab_domicilios');
$ordenIdParam = (int)($_GET['orden_id'] ?? 0);
$pacIdParam = (int)($_GET['paciente_id']?? 0);
$domIdParam = (int)($_GET['id'] ?? 0);
?>
<!DOCTYPE html>
<html lang="es">
@@ -59,9 +60,11 @@ $domIdParam = (int)($_GET['id'] ?? 0);
<h1 id="header-titulo"><i class="fas fa-house-medical text-primary"></i> Domicilios</h1>
<small class="text-muted"><?= htmlspecialchars($adminNombre) ?></small>
</div>
<?php if ($puedeEscribir): ?>
<button class="btn btn-primary btn-sm" id="btn-nuevo-domicilio" onclick="abrirFormulario()">
<i class="fas fa-plus me-1"></i> Nuevo Domicilio
</button>
<?php endif; ?>
</header>
<!-- Tabs -->
@@ -320,7 +323,7 @@ $domIdParam = (int)($_GET['id'] ?? 0);
<div class="input-group">
<span class="input-group-text">$</span>
<input type="number" class="form-control" name="valor_domicilio" id="dom-valor-dom"
min="0" step="1000" placeholder="0">
min="0" step="1" placeholder="0">
</div>
</div>
<div class="col-md-4">
@@ -328,7 +331,7 @@ $domIdParam = (int)($_GET['id'] ?? 0);
<div class="input-group">
<span class="input-group-text">$</span>
<input type="number" class="form-control" name="valor_copago" id="dom-valor-cop"
min="0" step="1000" placeholder="0">
min="0" step="1" placeholder="0">
</div>
</div>
<div class="col-md-4">
@@ -336,7 +339,7 @@ $domIdParam = (int)($_GET['id'] ?? 0);
<div class="input-group">
<span class="input-group-text">$</span>
<input type="number" class="form-control" name="copago_laboratorio" id="dom-copago-lab"
min="0" step="1000" placeholder="0">
min="0" step="1" placeholder="0">
</div>
</div>
</div>
@@ -582,7 +585,8 @@ function domQuitarOrden() {
document.getElementById('dom-orden-input').value = '';
_domRenderOrdenPreview();
}
const COLOR_DOM = { programado:'secondary', confirmado:'info', en_camino:'primary', en_domicilio:'warning', completado:'success', cancelado:'danger', reprogramado:'dark' };
const COLOR_DOM = { programado:'secondary', confirmado:'info', en_camino:'primary', en_domicilio:'warning', completado:'success', cancelado:'danger', reprogramado:'dark' };
const PUEDE_ESCRIBIR = <?= $puedeEscribir ? 'true' : 'false' ?>;
let domSeleccionado = <?= $domIdParam ?: 'null' ?>;
let _domActual = null; // objeto completo del domicilio activo en el panel de detalle
let paginaActual = 1;