feat(recepcion): mostrar contador de exámenes seleccionados
Badge junto al título "Exámenes solicitados" que muestra cuántos exámenes lleva el turno actual. Se actualiza en tiempo real al agregar o quitar ítems del TomSelect. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
fa591873a9
commit
3d26700e16
@@ -709,7 +709,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
<!-- ── Sección 3: Exámenes ── -->
|
||||
<div class="ficha-section">
|
||||
<h6><i class="fas fa-vial me-1"></i>Exámenes solicitados</h6>
|
||||
<h6><i class="fas fa-vial me-1"></i>Exámenes solicitados
|
||||
<span id="exam-count-badge" class="badge bg-primary ms-1 d-none"></span>
|
||||
</h6>
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input" type="checkbox" id="chk-solo-muestras" onchange="toggleSoloMuestras()">
|
||||
<label class="form-check-label small fw-semibold text-warning" for="chk-solo-muestras">
|
||||
@@ -1150,14 +1152,22 @@ let pollingConsentimientosId = null;
|
||||
|
||||
let examTS;
|
||||
|
||||
function _actualizarContadorExamenes() {
|
||||
const badge = document.getElementById('exam-count-badge');
|
||||
if (!badge || !examTS) return;
|
||||
const n = examTS.items.length;
|
||||
badge.textContent = n;
|
||||
badge.classList.toggle('d-none', n === 0);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
examTS = new TomSelect('#sel-examenes', {
|
||||
plugins: ['remove_button'],
|
||||
maxOptions: null,
|
||||
selectOnTab: false,
|
||||
|
||||
onItemAdd() { recalcularPrecios(); examTS.setTextboxValue(''); examTS.refreshOptions(false); examTS.close(); },
|
||||
onItemRemove: () => recalcularPrecios(),
|
||||
onItemAdd() { recalcularPrecios(); _actualizarContadorExamenes(); examTS.setTextboxValue(''); examTS.refreshOptions(false); examTS.close(); },
|
||||
onItemRemove() { recalcularPrecios(); _actualizarContadorExamenes(); },
|
||||
onType(str) {
|
||||
if (!str) return;
|
||||
requestAnimationFrame(() => {
|
||||
|
||||
Reference in New Issue
Block a user