Firma del paciente / responsable
@@ -1614,7 +1623,22 @@ document.addEventListener('DOMContentLoaded', function() {
} catch(e) {}
}
_mpApplyExamVisibility(examName);
- if (_mpModoTurnero) _mpRenderBadges();
+ if (_mpModoTurnero) {
+ _mpRenderBadges();
+ var _chkd = Array.from(document.querySelectorAll('[name="_c8j2g16[]"]:checked,[name="_c8j2g16"]:checked'));
+ var _autoT = null;
+ for (var _i = 0; _i < _chkd.length && !_autoT; _i++) {
+ var _n = _chkd[_i].value, _g = _mpGetGroupsForExam(_n);
+ if (!Object.keys(_g).length) continue;
+ var _conf = _mpTomasConfig && Object.keys(_g).some(function(k){ return _mpTomasConfig[k]; });
+ if (!_conf) _autoT = { name: _n, groups: _g, isModify: false };
+ }
+ if (!_autoT && _chkd.length) {
+ var _n = _chkd[0].value, _g = _mpGetGroupsForExam(_n);
+ if (Object.keys(_g).length) _autoT = { name: _n, groups: _g, isModify: true };
+ }
+ if (_autoT) _mpShowCfgPanel(_autoT.name, _autoT.groups, _autoT.isModify);
+ }
});
// Botón "Usar todas"
@@ -2505,6 +2529,48 @@ document.querySelectorAll('.turnero-firma-item').forEach(function(widget) {
});
});
});
+
+(function() {
+ var btn = document.getElementById('btn-completar-pro');
+ if (!btn) return;
+ btn.addEventListener('click', function() {
+ var msgEl = document.getElementById('btn-completar-pro-msg');
+ btn.disabled = true;
+ btn.innerHTML = '
Guardando...';
+ var campos = {};
+ document.querySelectorAll('[name]').forEach(function(el) {
+ var raw = el.name, isArr = raw.slice(-2) === '[]', name = isArr ? raw.slice(0,-2) : raw;
+ if (el.type === 'checkbox') { if (el.checked) { if (!Array.isArray(campos[name])) campos[name] = []; campos[name].push(el.value); } }
+ else if (el.type === 'radio') { if (el.checked) campos[name] = el.value; }
+ else if (el.value !== '') campos[name] = el.value;
+ });
+ fetch(window.location.href, {
+ method: 'POST', headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ mp_completar: true, datos_respuestas: campos })
+ })
+ .then(function(r) { return r.json(); })
+ .then(function(d) {
+ if (d.ok) {
+ document.getElementById('btn-completar-pro-wrap').style.display = 'none';
+ var ok = document.createElement('div');
+ ok.className = 'alert alert-success mt-4 d-flex align-items-center gap-2 no-print';
+ ok.innerHTML = '
Completado correctamente.
';
+ document.getElementById('btn-completar-pro-wrap').parentNode.appendChild(ok);
+ try { window.parent.postMessage({ type: 'turneroFirmado' }, '*'); } catch(e) {}
+ } else {
+ msgEl.innerHTML = '
' + (d.error || 'Error al guardar') + '';
+ btn.disabled = false;
+ btn.innerHTML = '
Guardar y completar';
+ }
+ })
+ .catch(function() {
+ msgEl.innerHTML = '
Error de conexión.';
+ btn.disabled = false;
+ btn.innerHTML = '
Guardar y completar';
+ });
+ });
+})();
+