Turnero: mejoras UI, historial detallado, kiosko scanner, firma por turno
- Kiosko: detector scanner (gap < 80ms), iconos 90px, fa-person-pregnant, ticket Arial - Recepción: vincular_paciente.php para persistir paciente_id antes de firmar consentimiento - Historial y dashboard: recepción desk, empleado recepción/muestras, exámenes y comentarios - display_global: turno más pequeño, lugar-nombre más grande - lab_pacientes: modal compacta con form-sm - Configuración: icono embarazada fa-person-pregnant en prioridades - ver_formulario_enviado: firma por campo (fix doble firma) - docker-compose.local.yml: override BD producción para dev local Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
ebbf4ac6cf
commit
f363631b32
@@ -494,10 +494,14 @@ function esc2(mixed $v): string {
|
||||
<img src="<?= htmlspecialchars($fFoto) ?>" alt="Foto - <?= $fLabel ?>">
|
||||
</div>
|
||||
<?php elseif ($isPro): ?>
|
||||
<?php if (!$modoPublico && !$yaHayCanvasPro): ?>
|
||||
<?php if (($modoTurnero && isUserLoggedIn()) || (!$modoPublico && !$yaHayCanvasPro)): ?>
|
||||
<!-- Canvas del profesional: solo aparece una vez -->
|
||||
<div class="firma-pro-widget no-print" id="fpw-<?= htmlspecialchars($cid) ?>"
|
||||
data-envio="<?= (int)$envio['id'] ?>" data-campo="<?= htmlspecialchars($cid) ?>">
|
||||
data-envio="<?= (int)$envio['id'] ?>" data-campo="<?= htmlspecialchars($cid) ?>"
|
||||
<?php if ($modoTurnero): ?>
|
||||
data-turno="<?= (int)$tcRow['turno_id'] ?>"
|
||||
data-formulario="<?= (int)$tcRow['formulario_id'] ?>"
|
||||
<?php endif; ?>>
|
||||
<p class="text-muted small mb-2"><i class="fas fa-pen me-1"></i>Dibuje su firma en el recuadro:</p>
|
||||
<canvas class="fpw-canvas" width="500" height="150"></canvas>
|
||||
<div class="mt-2 d-flex gap-2">
|
||||
@@ -807,10 +811,20 @@ function esc2(mixed $v): string {
|
||||
btnSave.innerHTML = '<i class="fas fa-spinner fa-spin me-1"></i>Guardando...';
|
||||
msg.textContent = '';
|
||||
|
||||
fetch('api/lab/firmar_profesional.php', {
|
||||
const turnoId = widget.dataset.turno;
|
||||
const formularioId = widget.dataset.formulario;
|
||||
const isTurnero = !!(turnoId && formularioId);
|
||||
const saveUrl = isTurnero
|
||||
? 'modules/turnero/api/firmar_profesional_consentimiento.php'
|
||||
: 'api/lab/firmar_profesional.php';
|
||||
const savePayload = isTurnero
|
||||
? { turno_id: parseInt(turnoId), formulario_id: parseInt(formularioId), svg: svg }
|
||||
: { envio_id: envioId, campo_id: campoId, svg: svg };
|
||||
|
||||
fetch(saveUrl, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ envio_id: envioId, campo_id: campoId, svg: svg })
|
||||
body: JSON.stringify(savePayload)
|
||||
})
|
||||
.then(function(r){ return r.json(); })
|
||||
.then(function(data) {
|
||||
|
||||
Reference in New Issue
Block a user