gruene-seele/resources/views/admin/inventory/suppliers/_details.blade.php
Kevin Adametz 78679e0c55 Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan
Umsetzung der Warenwirtschafts-/Produktmanagement-Erweiterung gemaess
Entwicklungsplan V4.0:

- AP-00: Regressionsbasis fuer 5.1-Features (ProductPhase51Test)
- AP-01: URL-Bugfixes B1/B2 (suppliers/packaging-items, breitere url-Spalten)
- AP-04/04.1: iPad-taugliche, vereinheitlichte Tabellen-Aktionen
- AP-05: Einstellungen "Allgemein" mit UST-Saetzen (tax_rates) und
  Lieferzeit-Vorlagen (delivery_times, inkl. Tage-Feld)
- AP-06: Lieferanten um Bestellweg, Bestell-Mail/-URL und Lieferzeit erweitert
- AP-07/07.1: INCI um Lieferanten-Mehrfachwahl, UST und Lieferzeit erweitert;
  Lieferanten-Detailansicht im Modal mit pflegbaren INCI-/Verpackungslisten
- AP-08: Einkauf um UST-Snapshot, Netto/Brutto-Automatik und Duplizieren erweitert

Entwicklungsplan aktualisiert: alle Klaerungspunkte (§5) vom Kunden beantwortet
und in die jeweiligen APs eingearbeitet (AP-02/03/09/13/15), neues AP-18
(Hinweise-Doku unter Einstellungen) ergaenzt. Naechster Schritt eindeutig
markiert: AP-09 (Produktion auf Hersteller-Rezeptur, kein Fallback, Warnung).
2026-06-02 16:30:42 +00:00

161 lines
7.6 KiB
PHP

@php
$orderMethodLabels = [
'email' => __('Per E-Mail'),
'online_shop' => __('Online-Shop'),
];
@endphp
<div id="supplier-details" data-supplier-id="{{ $supplier->id }}">
<div class="row">
<div class="col-md-6">
<dl class="row mb-0">
<dt class="col-sm-5">{{ __('Name') }}</dt>
<dd class="col-sm-7">{{ $supplier->name }}</dd>
<dt class="col-sm-5">{{ __('Land') }}</dt>
<dd class="col-sm-7">{{ $supplier->country?->de ?? '—' }}</dd>
<dt class="col-sm-5">{{ __('Kategorien') }}</dt>
<dd class="col-sm-7">
@forelse($supplier->supplierCategories as $cat)
<span class="badge badge-secondary">{{ $cat->name }}</span>
@empty
@endforelse
</dd>
<dt class="col-sm-5">{{ __('Webseite') }}</dt>
<dd class="col-sm-7">
@if($supplier->url)
<a href="{{ $supplier->url }}" target="_blank" rel="noopener">{{ $supplier->url }}</a>
@else
@endif
</dd>
</dl>
</div>
<div class="col-md-6">
<dl class="row mb-0">
<dt class="col-sm-5">{{ __('Bestellweg') }}</dt>
<dd class="col-sm-7">{{ $orderMethodLabels[$supplier->order_method] ?? '—' }}</dd>
<dt class="col-sm-5">{{ __('Bestell-E-Mail') }}</dt>
<dd class="col-sm-7">{{ $supplier->order_email ?: '—' }}</dd>
<dt class="col-sm-5">{{ __('Bestell-URL') }}</dt>
<dd class="col-sm-7">
@if($supplier->order_url)
<a href="{{ $supplier->order_url }}" target="_blank" rel="noopener">{{ $supplier->order_url }}</a>
@else
@endif
</dd>
<dt class="col-sm-5">{{ __('Lieferzeit') }}</dt>
<dd class="col-sm-7">
{{ $supplier->delivery_time ?: '—' }}
@if($supplier->delivery_time_days !== null)
<span class="text-muted">({{ $supplier->delivery_time_days }} {{ __('Tage') }})</span>
@endif
</dd>
<dt class="col-sm-5">{{ __('Ansprechpartner') }}</dt>
<dd class="col-sm-7">{{ $supplier->contact_person ?: '—' }}</dd>
<dt class="col-sm-5">{{ __('E-Mail') }}</dt>
<dd class="col-sm-7">{{ $supplier->email ?: '—' }}</dd>
<dt class="col-sm-5">{{ __('Telefon') }}</dt>
<dd class="col-sm-7">{{ $supplier->phone ?: '—' }}</dd>
</dl>
</div>
</div>
@if($supplier->notes)
<div class="mt-2">
<strong>{{ __('Notizen') }}:</strong>
<div class="text-muted">{!! nl2br(e($supplier->notes)) !!}</div>
</div>
@endif
<hr>
<div class="row">
<div class="col-md-6 mb-3">
<h6 class="font-weight-bold">{{ __('Zugeordnete INCIs') }}</h6>
<ul class="list-group mb-2" id="supplier-ingredient-list">
@forelse($supplier->ingredients as $ingredient)
<li class="list-group-item d-flex justify-content-between align-items-center py-1">
<span>{{ $ingredient->name }}</span>
<span class="text-nowrap">
<a href="{{ route('admin_product_ingredient_edit', $ingredient->id) }}" target="_blank"
class="btn btn-link p-0 mr-2" title="{{ __('Zur Bearbeitung') }}">
<i class="fas fa-arrow-right"></i>
</a>
<button type="button" class="btn btn-link text-danger p-0 js-detach-ingredient"
data-url="{{ route('admin.inventory.suppliers.ingredients.detach', [$supplier, $ingredient]) }}"
title="{{ __('Entfernen') }}">
<i class="far fa-trash-alt"></i>
</button>
</span>
</li>
@empty
<li class="list-group-item text-muted py-1">{{ __('Noch keine INCIs zugeordnet.') }}</li>
@endforelse
</ul>
<div class="input-group input-group-sm">
<select class="form-control" id="add-ingredient-select">
<option value="">{{ __('INCI wählen …') }}</option>
@foreach($availableIngredients as $ingredient)
<option value="{{ $ingredient->id }}">{{ $ingredient->name }}</option>
@endforeach
</select>
<div class="input-group-append">
<button type="button" class="btn btn-primary js-attach-ingredient"
data-url="{{ route('admin.inventory.suppliers.ingredients.attach', $supplier) }}"
data-select="#add-ingredient-select">
{{ __('Hinzufügen') }}
</button>
</div>
</div>
</div>
<div class="col-md-6 mb-3">
<h6 class="font-weight-bold">{{ __('Zugeordnete Verpackungsartikel') }}</h6>
<ul class="list-group mb-2" id="supplier-packaging-list">
@forelse($supplier->packagingItems as $item)
<li class="list-group-item d-flex justify-content-between align-items-center py-1">
<span>{{ $item->name }}</span>
<span class="text-nowrap">
<a href="{{ route('admin.inventory.packaging-items.edit', $item) }}" target="_blank"
class="btn btn-link p-0 mr-2" title="{{ __('Zur Bearbeitung') }}">
<i class="fas fa-arrow-right"></i>
</a>
<button type="button" class="btn btn-link text-danger p-0 js-detach-packaging"
data-url="{{ route('admin.inventory.suppliers.packaging-items.detach', [$supplier, $item]) }}"
title="{{ __('Entfernen') }}">
<i class="far fa-trash-alt"></i>
</button>
</span>
</li>
@empty
<li class="list-group-item text-muted py-1">{{ __('Noch keine Verpackungsartikel zugeordnet.') }}</li>
@endforelse
</ul>
<div class="input-group input-group-sm">
<select class="form-control" id="add-packaging-select">
<option value="">{{ __('Verpackungsartikel wählen …') }}</option>
@foreach($availablePackagingItems as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@endforeach
</select>
<div class="input-group-append">
<button type="button" class="btn btn-primary js-attach-packaging"
data-url="{{ route('admin.inventory.suppliers.packaging-items.attach', $supplier) }}"
data-select="#add-packaging-select">
{{ __('Hinzufügen') }}
</button>
</div>
</div>
</div>
</div>
</div>