Corregir Tomas Prolongadas: filtrado de secciones, firmante por toma, detalle en historial
Tres bugs relacionados en el formulario "Control de Tomas de Muestras Prolongadas" (F-LAB-28), detectados en el turno E017: 1. El modal de documentos del historial abría el documento sin &embed=1, por lo que el filtrado de tomas irrelevantes (según examen seleccionado) nunca se aplicaba — se mostraban las 16 secciones posibles en vez de solo las 2-3 que aplicaban, con textos "Pendiente de firma" de más. 2. El guardado de firma en tomas progresivas usa un endpoint distinto (_guardarFirmaMP → guardar_toma.php) que no pasaba por el fix de nombre/cédula del firmante aplicado antes solo a _guardarFirmaPro. Como además una toma progresiva puede pasar por varios profesionales en el transcurso de horas, ahora se guarda identidad por-toma (campoId + '_pro_nombre'/'_pro_cedula'), no solo global. 3. El historial no mostraba quién atendió cada toma. get_consentimientos.php ahora expone tomas_detalle (etiqueta, hora, firmante) por consentimiento de toma progresiva, y el panel de documentos del historial lo renderiza en una tabla debajo del pill del formulario. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
ec552136bf
commit
2ba13add34
@@ -1111,8 +1111,8 @@ function _addExamWizardHtml(string $cid): string {
|
||||
<img src="<?= htmlspecialchars($fSvg) ?>" alt="<?= $fLabel ?>">
|
||||
</div>
|
||||
<?php if ($isPro):
|
||||
$_pn = $datosCliente['_pro_nombre'] ?? $profNombre ?? null;
|
||||
$_pd = $datosCliente['_pro_cedula'] ?? $profDocumento ?? null;
|
||||
$_pn = $datosCliente[$cid . '_pro_nombre'] ?? $datosCliente['_pro_nombre'] ?? $profNombre ?? null;
|
||||
$_pd = $datosCliente[$cid . '_pro_cedula'] ?? $datosCliente['_pro_cedula'] ?? $profDocumento ?? null;
|
||||
if ($_pn || $_pd): ?>
|
||||
<div class="firma-pro-ident" style="font-size:13px;line-height:1.5;margin-top:4px">
|
||||
<?php if ($_pn): ?><strong><?= esc2($_pn) ?></strong><br><?php endif; ?>
|
||||
@@ -2354,6 +2354,9 @@ function _guardarFirmaMP(widget, svg, msgEl, entry, campoId) {
|
||||
Object.assign(dr, window._mpSavedFirmas || {});
|
||||
// Guardar con campoId directo (sin _svg) para que get_consentimientos lo cuente
|
||||
dr[campoId] = svg;
|
||||
// Identidad del firmante por toma (puede cambiar de profesional entre tomas)
|
||||
if (window._profNombre) { dr[campoId + '_pro_nombre'] = window._profNombre; dr['_pro_nombre'] = window._profNombre; }
|
||||
if (window._profDocumento) { dr[campoId + '_pro_cedula'] = window._profDocumento; dr['_pro_cedula'] = window._profDocumento; }
|
||||
(window._mpSavedFirmas = window._mpSavedFirmas||{})[campoId] = svg;
|
||||
// Fix 5: cachear hora en el momento de guardar para el resumen final
|
||||
(window._mpTomaData = window._mpTomaData||{})[campoId] = {
|
||||
|
||||
Reference in New Issue
Block a user