fix: corrección portal enfermero — pagos y agendamiento
- fix: portal.renderAgenda → portal._renderLista() (error JS al registrar pago) - feat: modal nueva agenda añade tipo_cliente (particular/seguro), seguro_nombre, autorizacion, valor_domicilio, valor_copago - feat: toggleSeguro() muestra/oculta campo EPS según tipo seleccionado - fix: abrir() resetea todos los campos nuevos en cada apertura del modal - datos de cobro se envían al guardar y se auto-asigna la enfermera creadora
This commit is contained in:
+56
-1
@@ -794,6 +794,46 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Tipo de cliente y cobros -->
|
||||
<div class="row g-2 mb-2">
|
||||
<div class="col-6">
|
||||
<label class="form-label small">Tipo de cliente</label>
|
||||
<select id="na-tipo-cliente" class="form-select form-select-sm"
|
||||
onchange="agendaNueva.toggleSeguro(this.value)">
|
||||
<option value="particular">👛 Particular</option>
|
||||
<option value="seguro">🛡️ Seguro / EPS</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6" id="na-bloque-seguro" style="display:none">
|
||||
<label class="form-label small">Seguro / EPS</label>
|
||||
<input type="text" id="na-seguro-nombre" class="form-control form-control-sm"
|
||||
placeholder="Ej: Sura, Nueva EPS…">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-2 mb-2" id="na-bloque-autorizacion">
|
||||
<div class="col-6">
|
||||
<label class="form-label small">N° de autorización</label>
|
||||
<input type="text" id="na-autorizacion" class="form-control form-control-sm"
|
||||
placeholder="Número de autorización">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-2 mb-3">
|
||||
<div class="col-6">
|
||||
<label class="form-label small">Valor domicilio</label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" id="na-valor-dom" class="form-control" min="0" step="1000" placeholder="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label class="form-label small">Copago cliente</label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">$</span>
|
||||
<input type="number" id="na-valor-cop" class="form-control" min="0" step="1000" placeholder="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notas -->
|
||||
<div class="mb-2">
|
||||
<label class="form-label small">Notas / instrucciones</label>
|
||||
@@ -899,6 +939,12 @@ const agendaNueva = {
|
||||
document.getElementById('na-hora').value = '';
|
||||
document.getElementById('na-tipo').value = '';
|
||||
document.getElementById('na-notas').value = '';
|
||||
document.getElementById('na-tipo-cliente').value = 'particular';
|
||||
document.getElementById('na-seguro-nombre').value = '';
|
||||
document.getElementById('na-autorizacion').value = '';
|
||||
document.getElementById('na-valor-dom').value = '';
|
||||
document.getElementById('na-valor-cop').value = '';
|
||||
agendaNueva.toggleSeguro('particular');
|
||||
document.getElementById('na-fecha').value = document.getElementById('portal-fecha').value;
|
||||
document.getElementById('na-sugerencias').classList.add('d-none');
|
||||
document.getElementById('na-paciente-elegido').classList.add('d-none');
|
||||
@@ -910,6 +956,10 @@ const agendaNueva = {
|
||||
this._modal.show();
|
||||
},
|
||||
|
||||
toggleSeguro(val) {
|
||||
document.getElementById('na-bloque-seguro').style.display = val === 'seguro' ? '' : 'none';
|
||||
},
|
||||
|
||||
async _buscarPacientes(q) {
|
||||
if (q.length < 2) {
|
||||
document.getElementById('na-sugerencias').classList.add('d-none');
|
||||
@@ -994,6 +1044,11 @@ const agendaNueva = {
|
||||
fecha_programada: fecha,
|
||||
hora_programada: document.getElementById('na-hora').value || null,
|
||||
tipo_servicio: document.getElementById('na-tipo').value || null,
|
||||
tipo_cliente: document.getElementById('na-tipo-cliente').value || 'particular',
|
||||
seguro_nombre: document.getElementById('na-seguro-nombre').value.trim() || null,
|
||||
autorizacion: document.getElementById('na-autorizacion').value.trim() || null,
|
||||
valor_domicilio: parseFloat(document.getElementById('na-valor-dom').value) || null,
|
||||
valor_copago: parseFloat(document.getElementById('na-valor-cop').value) || null,
|
||||
notas_admin: document.getElementById('na-notas').value.trim() || null,
|
||||
estado: 'programado',
|
||||
...(ENFERMERA_ID ? { enfermera_id: ENFERMERA_ID } : {}),
|
||||
@@ -1226,7 +1281,7 @@ const pagoModal = {
|
||||
|
||||
// Cerrar modal y re-renderizar
|
||||
if (this._bsModal) this._bsModal.hide();
|
||||
portal.renderAgenda();
|
||||
portal._renderLista();
|
||||
} catch(e) {
|
||||
alert('Error: ' + e.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user