feat(workshop): remove quality_check and add edit order modal
- Removed 'Control de calidad' from service order pipeline (VALID_TRANSITIONS, status labels, Kanban columns). - Added editable fields for customer, vehicle, branch, mechanic, priority, mileage, fuel level, estimated completion/cost and reception notes. - Added customer/vehicle autocomplete in the edit order modal.
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=35">
|
||||
<link rel="stylesheet" href="/pos/static/css/workshop.css?v=36">
|
||||
<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); }
|
||||
@@ -244,6 +244,84 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Edit order modal -->
|
||||
<div class="modal-overlay" id="editOrderModal">
|
||||
<div class="modal modal--md">
|
||||
<div class="modal__header">
|
||||
<h2 class="modal__title">Editar orden</h2>
|
||||
<button class="modal__close" onclick="Workshop.closeEditOrderModal()">×</button>
|
||||
</div>
|
||||
<div class="modal__body">
|
||||
<form class="form-grid" id="editOrderForm" onsubmit="return false;">
|
||||
<div class="form-field form-field--span2" style="position:relative;">
|
||||
<label class="form-label" for="eoCustomerSearch">Cliente</label>
|
||||
<input class="form-input" id="eoCustomerSearch" autocomplete="off" placeholder="Buscar cliente..." oninput="Workshop.searchCustomersForSO()" />
|
||||
<div id="eoCustomerResults" style="display:none;position:absolute;z-index:10;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15);"></div>
|
||||
<input type="hidden" id="eoCustomerId" />
|
||||
</div>
|
||||
<div class="form-field form-field--span2" style="position:relative;">
|
||||
<label class="form-label" for="eoVehicleSearch">Vehículo</label>
|
||||
<input class="form-input" id="eoVehicleSearch" autocomplete="off" placeholder="Buscar por placa..." oninput="Workshop.searchVehiclesForSO()" />
|
||||
<div id="eoVehicleResults" style="display:none;position:absolute;z-index:10;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15);"></div>
|
||||
<input type="hidden" id="eoVehicleId" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoBranch">Sucursal</label>
|
||||
<select class="form-input" id="eoBranch"></select>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoMechanic">Mecánico asignado</label>
|
||||
<select class="form-input" id="eoMechanic"><option value="">— Ninguno —</option></select>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoPriority">Prioridad</label>
|
||||
<select class="form-input" id="eoPriority">
|
||||
<option value="low">Baja</option>
|
||||
<option value="normal">Normal</option>
|
||||
<option value="high">Alta</option>
|
||||
<option value="urgent">Urgente</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoFuelLevel">Nivel de combustible</label>
|
||||
<select class="form-input" id="eoFuelLevel">
|
||||
<option value="">—</option>
|
||||
<option value="empty">Vacío</option>
|
||||
<option value="quarter">1/4</option>
|
||||
<option value="half">1/2</option>
|
||||
<option value="three_quarters">3/4</option>
|
||||
<option value="full">Lleno</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoMileageIn">Kilometraje entrada</label>
|
||||
<input class="form-input" type="number" id="eoMileageIn" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoMileageOut">Kilometraje salida</label>
|
||||
<input class="form-input" type="number" id="eoMileageOut" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoEstimatedCompletion">Entrega estimada</label>
|
||||
<input class="form-input" type="datetime-local" id="eoEstimatedCompletion" />
|
||||
</div>
|
||||
<div class="form-field">
|
||||
<label class="form-label" for="eoEstimatedCost">Costo estimado</label>
|
||||
<input class="form-input" type="number" id="eoEstimatedCost" step="0.01" />
|
||||
</div>
|
||||
<div class="form-field form-field--span2">
|
||||
<label class="form-label" for="eoNotes">Notas de recepción</label>
|
||||
<textarea class="form-input" id="eoNotes" rows="3"></textarea>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal__footer">
|
||||
<button class="btn btn--ghost" onclick="Workshop.closeEditOrderModal()">Cancelar</button>
|
||||
<button class="btn btn--primary" onclick="Workshop.saveOrderChanges()">Guardar cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Catalog modal -->
|
||||
<div class="modal-overlay" id="catalogModal">
|
||||
<div class="modal modal--lg">
|
||||
@@ -300,7 +378,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=35" defer></script>
|
||||
<script src="/pos/static/js/workshop.js?v=36" 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