@extends('admin.layout') @section('title', __('Destockage')) @section('content')

{{ __('Destockage') }}

@include('admin.gestan._stale_banner')

{{ __('Familles « DESTOCKAGE » et « PORTILLON DESTOCKAGE » de Gestan. Cliquez sur une ligne pour voir le descriptif.') }}

{{-- Recherche et pastilles filtrent dans la page : les lignes tiennent toutes sur une page, pas d'aller-retour. --}}
{{-- Les affiches des lignes visibles : le script y ajoute leurs ids. --}} {{ __('Affiches') }} {{ __('Exporter') }}
{{-- Deux rangs de pastilles, qui se combinent : le type, puis la disponibilité lue dans la désignation. Le chiffre de chacune compte ce qu'un clic montrerait, l'autre rang et la recherche compris : le script le tient à jour. --}} @if ($produits->isNotEmpty())
{{ __('Type') }} @foreach ($pastilles as $libelle => $count) @endforeach
{{ __('Disponibilité') }} @foreach ($dispos as $code => $count) @endforeach
@endif
@forelse ($produits as $i => $p) @php $dim = ($p['LONGUEUR'] ?? null) || ($p['HAUTEUR'] ?? null) ? ($p['LONGUEUR'] ?? '—') . ' × ' . ($p['HAUTEUR'] ?? '—') : '—'; $recherche = mb_strtolower(implode(' ', [ $p['CD_PRODUIT'], $p['LIB_PRODUIT'], $p['CODE_RAL'] ?? '', $p['FINITION'] ?? '', ])); // Le descriptif vient de l'éditeur riche de Gestan : on ne garde // que la mise en forme simple, sans aucun attribut. $descriptif = preg_replace( '/<(\/?)(\w+)[^>]*>/', '<$1$2>', strip_tags((string) ($p['DESCRIPTIF'] ?? ''), '

    1. ') ); @endphp
{{-- Le code passe à la ligne : cf. .destock-code --}} {{-- Hôte d-none, panneau animé : cf. js/accordeon.js. --}} @empty @endforelse
{{ __('Code') }} {{ __('Désignation') }} {{ __('L × H (mm)') }} {{ __('RAL') }} {{ __('Finition') }} {{ __('Prix HT') }} {{ __('Créateur') }}
{!! $descriptif !== '' ? $descriptif : e(__('Pas de descriptif dans Gestan.')) !!}
{{ __('Aucun produit en destockage.') }}
{{ __('Aucun produit ne correspond à cette recherche.') }}
@endsection @push('scripts') @endpush