feat(recepcion): pedir N.º referencia en transferencia y tarjeta (simple y combinado)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-17 18:15:06 -05:00
co-authored by Claude Sonnet 4.6
parent 3dcb4fcb42
commit 057439e140
+15 -7
View File
@@ -853,10 +853,10 @@ document.addEventListener('DOMContentLoaded', function() {
</select> </select>
</div> </div>
</div> </div>
<!-- N.º recibo tarjeta --> <!-- N.º recibo tarjeta / transferencia -->
<div id="panel-recibo" class="d-none mt-2"> <div id="panel-recibo" class="d-none mt-2">
<input type="text" id="inp-recibo" class="form-control form-control-sm" <input type="text" id="inp-recibo" class="form-control form-control-sm"
placeholder="N.º recibo / aprobación tarjeta" maxlength="40"> placeholder="N.º recibo / aprobación" maxlength="40">
</div> </div>
<!-- Panel pago combinado --> <!-- Panel pago combinado -->
<div id="panel-combinado" class="d-none mt-2 p-2 border rounded" style="background:#f8fafc"> <div id="panel-combinado" class="d-none mt-2 p-2 border rounded" style="background:#f8fafc">
@@ -866,11 +866,13 @@ document.addEventListener('DOMContentLoaded', function() {
</div> </div>
<div class="row g-2 align-items-center mb-1"> <div class="row g-2 align-items-center mb-1">
<div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-university me-1 text-primary"></i>Transferencia</label></div> <div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-university me-1 text-primary"></i>Transferencia</label></div>
<div class="col-7"><input type="number" id="comb-transferencia" class="form-control form-control-sm" placeholder="$0" min="0" step="100" oninput="sumarCombinado()"></div> <div class="col-4"><input type="number" id="comb-transferencia" class="form-control form-control-sm" placeholder="$0" min="0" step="100" oninput="sumarCombinado()"></div>
<div class="col-3"><input type="text" id="comb-transferencia-ref" class="form-control form-control-sm" placeholder="Ref." maxlength="40"></div>
</div> </div>
<div class="row g-2 align-items-center mb-1"> <div class="row g-2 align-items-center mb-1">
<div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-credit-card me-1 text-warning"></i>Tarjeta</label></div> <div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-credit-card me-1 text-warning"></i>Tarjeta</label></div>
<div class="col-7"><input type="number" id="comb-tarjeta" class="form-control form-control-sm" placeholder="$0" min="0" step="100" oninput="sumarCombinado()"></div> <div class="col-4"><input type="number" id="comb-tarjeta" class="form-control form-control-sm" placeholder="$0" min="0" step="100" oninput="sumarCombinado()"></div>
<div class="col-3"><input type="text" id="comb-tarjeta-ref" class="form-control form-control-sm" placeholder="Ref." maxlength="40"></div>
</div> </div>
<div class="row g-2 align-items-center"> <div class="row g-2 align-items-center">
<div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-ticket-alt me-1 text-info"></i>Bono</label></div> <div class="col-5"><label class="form-label mb-0 small fw-semibold"><i class="fas fa-ticket-alt me-1 text-info"></i>Bono</label></div>
@@ -1704,9 +1706,13 @@ function togglePagoCombinado() {
const metodo = document.getElementById('sel-pago').value; const metodo = document.getElementById('sel-pago').value;
const combinado = metodo === 'combinado'; const combinado = metodo === 'combinado';
const tarjeta = metodo === 'tarjeta'; const tarjeta = metodo === 'tarjeta';
const transferencia = metodo === 'transferencia';
const showRecibo = tarjeta || transferencia;
document.getElementById('panel-combinado').classList.toggle('d-none', !combinado); document.getElementById('panel-combinado').classList.toggle('d-none', !combinado);
document.getElementById('panel-recibo').classList.toggle('d-none', !tarjeta); document.getElementById('panel-recibo').classList.toggle('d-none', !showRecibo);
if (!tarjeta) document.getElementById('inp-recibo').value = ''; document.getElementById('inp-recibo').placeholder = transferencia
? 'N.º comprobante transferencia' : 'N.º recibo / aprobación tarjeta';
if (!showRecibo) document.getElementById('inp-recibo').value = '';
const inp = document.getElementById('inp-total'); const inp = document.getElementById('inp-total');
inp.readOnly = combinado; inp.readOnly = combinado;
inp.style.background = combinado ? '#e9ecef' : ''; inp.style.background = combinado ? '#e9ecef' : '';
@@ -1718,7 +1724,7 @@ function sumarCombinado() {
document.getElementById('inp-total').value = total || ''; document.getElementById('inp-total').value = total || '';
} }
function resetPagoCombinado() { function resetPagoCombinado() {
['comb-efectivo','comb-transferencia','comb-tarjeta','comb-bono'].forEach(id => document.getElementById(id).value = ''); ['comb-efectivo','comb-transferencia','comb-transferencia-ref','comb-tarjeta','comb-tarjeta-ref','comb-bono'].forEach(id => document.getElementById(id).value = '');
document.getElementById('panel-combinado').classList.add('d-none'); document.getElementById('panel-combinado').classList.add('d-none');
const inp = document.getElementById('inp-total'); const inp = document.getElementById('inp-total');
inp.readOnly = false; inp.readOnly = false;
@@ -1881,7 +1887,9 @@ async function guardarSolicitud() {
pagos_detalle: document.getElementById('sel-pago').value === 'combinado' ? { pagos_detalle: document.getElementById('sel-pago').value === 'combinado' ? {
efectivo: parseFloat(document.getElementById('comb-efectivo').value) || 0, efectivo: parseFloat(document.getElementById('comb-efectivo').value) || 0,
transferencia: parseFloat(document.getElementById('comb-transferencia').value) || 0, transferencia: parseFloat(document.getElementById('comb-transferencia').value) || 0,
ref_transferencia: document.getElementById('comb-transferencia-ref').value.trim() || null,
tarjeta: parseFloat(document.getElementById('comb-tarjeta').value) || 0, tarjeta: parseFloat(document.getElementById('comb-tarjeta').value) || 0,
ref_tarjeta: document.getElementById('comb-tarjeta-ref').value.trim() || null,
bono: parseFloat(document.getElementById('comb-bono').value) || 0, bono: parseFloat(document.getElementById('comb-bono').value) || 0,
} : null, } : null,
observaciones: document.getElementById('inp-obs').value.trim() || null, observaciones: document.getElementById('inp-obs').value.trim() || null,