feat(workshop): add new customer from new order modal
- Added POST /pos/api/service-orders/customers endpoint for workshop.edit users. - Added 'Nuevo cliente' modal reachable from the new service order form. - After creation the customer is automatically selected in the order.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<meta name="theme-color" content="#F5A623" />
|
||||
<link rel="shortcut icon" type="image/png" href="/pos/static/pwa/icon-192.png" />
|
||||
|
||||
<link rel="stylesheet" href="/pos/static/css/workshop.css?v=38">
|
||||
<link rel="stylesheet" href="/pos/static/css/workshop.css?v=39">
|
||||
<style>
|
||||
.so-notes-grid { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-2); align-items: start; }
|
||||
.so-notes-grid .form-label { margin: 0; padding-top: var(--space-2); }
|
||||
@@ -186,7 +186,10 @@
|
||||
<form id="newOrderForm" class="form-grid">
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="noCustomer">Cliente</label>
|
||||
<select class="form-input" id="noCustomer" required></select>
|
||||
<div style="display:flex;gap:var(--space-2);">
|
||||
<select class="form-input" id="noCustomer" required style="flex:1;"></select>
|
||||
<button class="btn btn--secondary" type="button" onclick="Workshop.openNewCustomerModalFromNewOrder()">+ Nuevo</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="noVehicle">Vehículo</label>
|
||||
@@ -376,6 +379,52 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- New customer modal -->
|
||||
<div class="modal-overlay" id="newCustomerModal">
|
||||
<div class="modal modal--sm">
|
||||
<div class="modal__header">
|
||||
<h2 class="modal__title">Nuevo cliente</h2>
|
||||
<button class="modal__close" onclick="Workshop.closeNewCustomerModal()">×</button>
|
||||
</div>
|
||||
<div class="modal__body">
|
||||
<form class="form-grid" id="newCustomerForm" onsubmit="return false;">
|
||||
<div class="form-field form-field--span2">
|
||||
<label class="form-label" for="ncName">Nombre *</label>
|
||||
<input class="form-input" id="ncName" placeholder="Nombre completo" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="ncPhone">Teléfono</label>
|
||||
<input class="form-input" id="ncPhone" placeholder="3312345678" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="ncEmail">Correo</label>
|
||||
<input class="form-input" id="ncEmail" placeholder="cliente@ejemplo.com" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="ncRfc">RFC</label>
|
||||
<input class="form-input" id="ncRfc" placeholder="XAXX010101000" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="ncPriceTier">Lista de precios</label>
|
||||
<select class="form-input" id="ncPriceTier">
|
||||
<option value="1">Mostrador</option>
|
||||
<option value="2">Taller</option>
|
||||
<option value="3">Mayoreo</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-field form-field--span2">
|
||||
<label class="form-label" for="ncAddress">Dirección</label>
|
||||
<input class="form-input" id="ncAddress" placeholder="Calle, número, colonia" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal__footer">
|
||||
<button class="btn btn--ghost" onclick="Workshop.closeNewCustomerModal()">Cancelar</button>
|
||||
<button class="btn btn--primary" onclick="Workshop.saveNewCustomer()">Guardar cliente</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Catalog modal -->
|
||||
<div class="modal-overlay" id="catalogModal">
|
||||
<div class="modal modal--lg">
|
||||
@@ -432,7 +481,7 @@
|
||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||
<script src="/pos/static/js/sidebar.js?v=36" defer></script>
|
||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||
<script src="/pos/static/js/workshop.js?v=38" defer></script>
|
||||
<script src="/pos/static/js/workshop.js?v=39" defer></script>
|
||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||
<script src="/pos/static/js/pwa-install.js" defer></script>
|
||||
<script src="/pos/static/js/chat.js" defer></script>
|
||||
|
||||
Reference in New Issue
Block a user