{% extends "base.html" %} {% from "_macros.html" import app_pill, item_type_badge, action_badge, avatar, money, sparkline_widget %} {% block title %}{{ item.ident }}{% endblock %} {% block breadcrumb %}

Artikel / {{ item.ident }}

{% endblock %} {% block heading %}{{ item.ident }}{% endblock %} {% block topbar_actions %} {{ app_pill(item.source_app) }} {{ item_type_badge(item.item_type) }} Stückliste CNC-Programme 3D-Ansicht Bearbeiten {% endblock %} {% block content %} {# v1.12.0: Inline-Sparkline Verkaufs-Mengen 12 Monate #}
{{ sparkline_widget("/api/sparkline/item/" ~ item.id, "Verkaufte Menge letzte 12 Monate", "qty", "Stk") }}
{% if request.query_params.get('error') %}

Aktion blockiert

{{ request.query_params.get('error') }}

{% endif %}

Stammdaten

Beschreibung

{{ item.description or '—' }}

Hinweis

{{ item.description_2 or '—' }}

Bestand

{{ item.quantity_total }} / Min {{ item.quantity_min }} {% if item.on_order %}{{ item.on_order }} bestellt{% endif %}

Bestell-Mindestmenge

{{ item.order_quantity_min }}

Einmal-Verbrauch

{{ 'Ja' if item.is_onetime_use else 'Nein' }}

Bestellbar

{{ 'Ja' if item.is_orderable else 'Nein' }}

Kategorien

{% if categories %}
{% for c in categories %} {{ c.dimension }}: {{ c.name }} {% endfor %}
{% else %}

Keine Kategorien zugeordnet.

{% endif %}

Lagerorte

{{ locations|length }} Position(en)

{% if locations %} {% for l in locations %} {% endfor %}
CodeGrößeMenge
{{ l.location_code }}{{ l.size or '—' }}{{ l.quantity }}
{% else %}
Kein Lagerort zugewiesen
{% endif %}

Lieferanten & Preise

{% if vendors %} {% for v in vendors %} {% endfor %}
LieferantStatusPreis
{{ v.vendor_name }} {% if v.is_primary %}Hauptlieferant{% else %}Alternativ{% endif %} {{ money(v.price) }}
{% else %}
Kein Lieferant hinterlegt
{% endif %}

QR-Etikett

Aufkleben & mit Scanner-App identifizieren

QR-Code

Codiert: takoma://item/{{ item.ident }}

Etikett drucken PNG herunterladen
{% if item.item_type in ('measuring_equipment', 'clamping') and inspection %}

Prüfstatus

DGUV V3 / ISO-Kalibrierung

Anschaffung

{{ inspection.acquired_date or '—' }}

Intervall

{% if inspection.inspection_interval_months %}{{ inspection.inspection_interval_months }} Monate{% else %}—{% endif %}

Letzte Prüfung

{{ inspection.last_inspection_date or '—' }}

Nächste Prüfung

{{ inspection.next_inspection_date or '—' }}

{% if inspection.status == 'overdue' %}

Überfällig seit {{ -inspection.days_to_next }} Tagen

Prüfung muss umgehend durchgeführt werden — Verwendung kann gesperrt sein.

{% elif inspection.status == 'warning' %}

Fällig in {{ inspection.days_to_next }} Tagen

Prüftermin einplanen.

{% elif inspection.status == 'ok' %}

In Ordnung — nächste Prüfung in {{ inspection.days_to_next }} Tagen

{% else %}

Noch keine Prüfung erfasst

Letzte Prüfung unten eintragen, um den Zyklus zu starten.

{% endif %}
{% if inspection.inspection_note %}
Notiz {{ inspection.inspection_note }}
{% endif %}

Prüfung erfassen

Anschaffungsdatum bearbeiten
{% endif %} {% if rentals %}

Aktuell ausgeliehen

{{ rentals|length }} offen

{% for r in rentals %}
{{ avatar(r.first_name, r.last_name) }}

{{ r.first_name }} {{ r.last_name }}

{{ r.machine_name or 'Werkbank' }} · {{ r.quantity }}× · {{ r.rented_at }}

{% endfor %}
{% endif %}

Bestand buchen

Manueller Eingang, Auslagerung, Inventur, Verschrottung

aktueller Bestand: {{ item.quantity_total }}

{% if item.item_type in ('tool','measuring_equipment','clamping') and item.quantity_total > 0 %}

Werkzeug ausleihen

verfügbar: {{ item.quantity_total }}

{% endif %}

Historie

letzte {{ history|length }} Vorgänge

{% for h in history %}
{{ avatar(h.first_name, h.last_name) }}
{{ action_badge(h.action_code, h.action_name) }} {% if h.quantity %}{{ h.quantity }}×{% endif %}

{{ h.first_name or '—' }} {{ h.last_name or '' }}

{{ h.created_at }}

{% else %}
Keine Historie
{% endfor %}
{# v1.12.2: Drag&Drop für technische Zeichnungen #} {% with attach_entity_type='item', attach_entity_id=item.id, attach_title='Technische Zeichnungen' %} {% include '_attachments_dropzone.html' %} {% endwith %} {% endblock %}