{% extends "base.html" %} {% from "_macros.html" import avatar %} {% block title %}Messprotokolle{% endblock %} {% block heading %}Messprotokolle{% endblock %} {% block topbar_actions %} + Neue Vorlage {% endblock %} {% block content %}

Vorlagen

{{ stats.templates }}

Mess-Templates

Bestanden

{{ stats.passed }}

i.O. (in Ordnung)

Nicht bestanden

{{ stats.failed }}

n.i.O. (außer Toleranz)

Teilweise

{{ stats.partial }}

einzelne Maße offen

Offen

{{ stats.open }}

noch nicht gemessen

Mess-Vorlagen ({{ templates_|length }})

Vorlagen mit Soll-Werten und Toleranzen — eine Vorlage = ein Bauteil-Typ

{% if templates_ %} {% for t in templates_ %} {% set total = (t.passed_count or 0) + (t.failed_count or 0) %} {% set pass_pct = (t.passed_count * 100 / total) if total else 0 %} {% endfor %}
Vorlage Beschreibung Maße Erfasst Quote
{{ t.name }}
{% if t.item_ident %}
{{ t.item_ident }}
{% endif %}
{{ t.description or '—' }} {% set npts = t.points_json | length // 50 %} {%- set points_count = (t.points_json | from_json | length) if (t.points_json and (t.points_json | from_json) is iterable) else '?' -%} {{ points_count }} Maß(e) {{ t.record_count or 0 }} {% if total %}
{{ t.passed_count }} ✓ · {{ t.failed_count }} ✗
{% else %}noch keine Erfassung{% endif %}
+ Messung Bearbeiten
{% else %}
Noch keine Vorlagen. Erste Vorlage anlegen →
{% endif %}

Letzte Messungen

{{ records|length }} Einträge, neueste zuerst

{% if records %} {% for r in records %} {% endfor %}
Wann Vorlage Seriennr. Status Geprüft von
{{ r.created_at[:16] }} {{ r.template_name }} {{ r.serial_no or '—' }} {% if r.status == 'passed' %}i.O. ✓ {% elif r.status == 'failed' %}n.i.O. ✗ {% elif r.status == 'partial' %}teilweise {% else %}offen{% endif %} {% if r.first_name %}{{ r.first_name }} {{ r.last_name }}{% else %}—{% endif %} Öffnen
{% else %}
Noch keine Messungen erfasst.
{% endif %}
{% endblock %}