feat(pos): add open-register UI flow

- Add 'Open Register' modal with register number and opening amount inputs
- loadRegister now shows clickable warning when no register is open
- checkout() opens register modal instead of plain alert when no register
- Add openRegister() API call to POST /pos/api/register/open
- Expose showOpenRegisterModal, closeOpenRegisterModal, openRegister globally
- Add cache-bust query params to pos.css and pos.js
This commit is contained in:
2026-05-18 06:37:42 +00:00
parent 912fe4cef5
commit e38148e8d5
2 changed files with 68 additions and 4 deletions

View File

@@ -14,7 +14,7 @@
<meta name="theme-color" content="#F5A623" />
<script src="/pos/static/js/native-bridge.js" defer></script>
<link rel="stylesheet" href="/pos/static/css/pos.css">
<link rel="stylesheet" href="/pos/static/css/pos.css?v=2">
</head>
<body class="pos-shell" id="appBody">
@@ -490,6 +490,35 @@
</div>
</div>
<!-- ================================================================
OPEN REGISTER MODAL
================================================================ -->
<div class="modal-overlay" id="openRegisterModal">
<div class="modal-pago" style="width:420px;">
<div class="modal-header">
<h3>Abrir Caja</h3>
<button class="modal-close" onclick="POS.closeOpenRegisterModal()">&#x2715;</button>
</div>
<div style="padding:var(--space-6);">
<div style="display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4);">
<div class="form-group">
<label class="form-label">No. de Caja *</label>
<input type="number" class="form-input" id="regNumber" value="1" min="1" />
</div>
<div class="form-group">
<label class="form-label">Efectivo inicial *</label>
<input type="number" class="form-input" id="regOpeningAmount" value="0" min="0" step="0.01" />
</div>
</div>
<div id="registerOpenResult" style="min-height:1.5em;font-size:var(--text-body-sm);"></div>
</div>
<div class="modal-footer">
<button class="btn btn-ghost" onclick="POS.closeOpenRegisterModal()">Cancelar</button>
<button class="btn btn-primary" onclick="POS.openRegister()">Abrir Caja</button>
</div>
</div>
</div>
<!-- ================================================================
TOAST CONTAINER
================================================================ -->
@@ -504,7 +533,7 @@
<script src="/pos/static/js/app-init.js" defer></script>
<script src="/pos/static/js/push.js" defer></script>
<script src="/pos/static/js/printer.js" defer></script>
<script src="/pos/static/js/pos.js" defer></script>
<script src="/pos/static/js/pos.js?v=2" defer></script>
<script>
// Cancel sale button wiring