67a0e674ca
Marine maintenance management: work orders with photos, ISM/SWP procedures, MSDS, inventory, RFQ/purchases, vessel history, bilingual PDF reports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
81 lines
3.9 KiB
HTML
81 lines
3.9 KiB
HTML
{% extends 'base.html' %}
|
|
{% block title %}Editar {{ swp.code }} {{ version.version }}{% endblock %}
|
|
{% block page_title %}✏️ Editar {{ swp.code }} — {{ version.version }}{% endblock %}
|
|
{% block topbar_actions %}
|
|
<a href="{{ url_for('swp_detail', sid=swp.id) }}" class="btn btn-secondary">← Cancelar</a>
|
|
{% endblock %}
|
|
{% block content %}
|
|
|
|
{% if version.status == 'active' %}
|
|
<div class="card mb-4" style="padding:12px 16px;background:rgba(244,162,97,0.08);border:1px solid rgba(244,162,97,0.3)">
|
|
<div style="font-size:13px;color:var(--warning)">
|
|
⚠️ Esta versión ya está <strong>aprobada y activa</strong>. Los cambios se guardarán pero considera si es mejor crear una Nueva Versión para mantener el historial.
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="card" style="max-width:860px">
|
|
<form method="POST">
|
|
<div class="form-grid">
|
|
<div class="form-group">
|
|
<label>Motivo del cambio</label>
|
|
<input type="text" name="change_reason" value="{{ version.change_reason or '' }}"
|
|
placeholder="Ej: Corrección inicial">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Fecha de Vigencia</label>
|
|
<input type="date" name="effective_date" value="{{ version.effective_date or '' }}">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Resumen de diferencias</label>
|
|
<input type="text" name="diff_summary" value="{{ version.diff_summary or '' }}">
|
|
</div>
|
|
</div>
|
|
<hr style="border-color:rgba(255,255,255,0.08);margin:16px 0">
|
|
<div class="form-grid">
|
|
<div class="form-group full">
|
|
<label>Propósito</label>
|
|
<textarea name="purpose" rows="2">{{ version.purpose or '' }}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Alcance</label>
|
|
<textarea name="scope" rows="2">{{ version.scope or '' }}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Riesgos Identificados <span style="color:var(--gray);font-size:11px">(uno por línea)</span></label>
|
|
<textarea name="hazards" rows="4">{% set h=json.loads(version.hazards or '[]') %}{% for i in h %}{{ i }}
|
|
{% endfor %}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>EPP Requerido <span style="color:var(--gray);font-size:11px">(uno por línea)</span></label>
|
|
<textarea name="ppe" rows="3">{% set p=json.loads(version.ppe or '[]') %}{% for i in p %}{{ i }}
|
|
{% endfor %}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Herramientas y Materiales <span style="color:var(--gray);font-size:11px">(uno por línea)</span></label>
|
|
<textarea name="tools" rows="3" placeholder="Multímetro Destornillador aislado Cinta aislante">{% set to=json.loads(version.tools or '[]') %}{% for i in to %}{{ i }}
|
|
{% endfor %}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Pasos del Procedimiento <span style="color:var(--gray);font-size:11px">(uno por línea)</span></label>
|
|
<textarea name="steps" rows="8">{% set s=json.loads(version.steps or '[]') %}{% for i in s %}{{ i }}
|
|
{% endfor %}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Medidas de Emergencia</label>
|
|
<textarea name="emergency" rows="3">{{ version.emergency or '' }}</textarea>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Referencias y Normativa <span style="color:var(--gray);font-size:11px">(una por línea)</span></label>
|
|
<textarea name="ref_standards" rows="3">{% set r=json.loads(version.ref_standards or '[]') %}{% for i in r %}{{ i }}
|
|
{% endfor %}</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="flex gap-3 mt-6">
|
|
<button type="submit" class="btn btn-primary">💾 Guardar Cambios</button>
|
|
<a href="{{ url_for('swp_detail', sid=swp.id) }}" class="btn btn-secondary">Cancelar</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|