diff --git a/ver_formulario_enviado.php b/ver_formulario_enviado.php index 5c5d458..6f5b54b 100644 --- a/ver_formulario_enviado.php +++ b/ver_formulario_enviado.php @@ -455,6 +455,7 @@ function esc2(mixed $v): string { // Rastrear si ya se renderizó la firma inline (para no duplicarla al pie) $_renderedFirmaProfesional = false; $_renderedFirmaPaciente = false; + $_esquemaTieneFirmaPaciente = false; // el esquema tiene campo tipo=firma foreach ($esquema as $campo): $tipo = $campo['tipo'] ?? ''; @@ -478,8 +479,15 @@ function esc2(mixed $v): string { $fColor = $isPro ? '#198754' : '#1565c0'; $fLabel = htmlspecialchars($campo['label'] ?? ($isPro ? 'Firma profesional' : 'Firma paciente')); - // Campo paciente sin firma: omitir (no hay nada que mostrar) - if (!$fSvg && !$fFoto && !$isPro) continue; + // Campo paciente sin firma: omitir en vista normal. + // En turnero pendiente se muestra el canvas en su posición del esquema. + if (!$fSvg && !$fFoto && !$isPro) { + if ($modoTurnero && $modoEditar) { + $_esquemaTieneFirmaPaciente = true; + } else { + continue; + } + } $yaHayCanvasPro = $isPro && $_renderedFirmaProfesional; if ($isPro) $_renderedFirmaProfesional = true; @@ -496,6 +504,21 @@ function esc2(mixed $v): string {
Foto - <?= $fLabel ?>
+ + +

He leído el documento. Dibuje su firma:

+ +
+ + +
+
@@ -545,9 +568,8 @@ function esc2(mixed $v): string { $cid = $campo['id'] ?? null; if (!$cid) continue; - // ── Modo editar: campos interactivos solo para envíos normales. - // En turnero el documento es de solo lectura; solo la firma es interactiva. - if ($modoEditar && !$modoTurnero): + // ── Modo editar (turnero o envío normal): campos interactivos ── + if ($modoEditar): $prefill = $todos[$cid] ?? ''; $label = esc2($campo['label'] ?? $cid); $req = !empty($campo['required']) ? ' required' : ''; @@ -706,8 +728,8 @@ function esc2(mixed $v): string { - - + +
Firma del paciente / responsable