{{-- DomPDF's built-in fonts carry no CJK glyphs: without this the Chinese sheet prints "???". Only loaded for zh_CN so the other five locales keep the original Helvetica layout. --}} @if (str_starts_with(app()->getLocale(), 'zh')) @endif @php $data = is_string($machine->data) ? json_decode($machine->data, true) : $machine->data ?? []; // Normalize Data Blocks $generalInfo = $data['generalInfo'] ?? []; $techDetail = $data['techDetail'] ?? []; $machineSpecs = $data['machineSpecs'] ?? []; $accessories = $data['loomAccessories'] ?? []; $beams = $data['beamsAndRollers'] ?? []; $camDetails = $data['camDetails'] ?? []; $dobbyDetails = $data['dobbyDetails'] ?? []; $jacquard = $data['jacquardDetails'] ?? []; $priceInfo = $data['priceInfo'] ?? []; $other = $data['other_info'] ?? []; $qty = $priceInfo['quantity'] ?? ($generalInfo['quantity'] ?? ($generalInfo['quantity_of_machines'] ?? '')); $typeStr = strtolower($machine->type_of_machine ?? ''); $isWeaving = str_contains($typeStr, 'weaving') || str_contains($typeStr, 'loom'); $isKnitting = str_contains($typeStr, 'knitting'); // Determine Main Header Title $docTitle = __('Other machines'); if ($isWeaving) { $docTitle = __('Weaving machine'); } elseif ($isKnitting) { $docTitle = __('Knitting machine'); } @endphp {{-- LOGO --}}
ITG Logo
@php // Volvemos al cálculo dinámico que asegura que no queden huecos abajo $imgRowspan = 7; if ($isWeaving) { $imgRowspan += 4; // 1 encabezado + 3 datos } elseif ($isKnitting) { $imgRowspan += 3; // 1 encabezado + 2 datos } else { $imgRowspan += 1; // 1 fila vacía } @endphp {{-- ============================================== --}} {{-- UNIFIED TOP ROW (Image + General Info) --}} {{-- ============================================== --}} {{-- AQUÍ ESTÁ LA MAGIA: LA FILA FANTASMA --}} {{-- No se va a ver en el PDF, pero obliga al generador a bloquear los anchos exactos al 60% y 40% (15+25) --}} {{-- LEFT HALF: IMAGE --}} {{-- RIGHT HALF: INFO - Fila 1 (Encabezado) --}} {{-- Envolvemos el texto largo para que salte de renglón si es necesario y NO empuje la imagen --}} {{-- SPECIFIC INFO APPENDED DYNAMICALLY BASED ON TYPE --}} @if ($isWeaving) @elseif($isKnitting) @else @endif
{{ $docTitle }}
@if ($machine->mainImage) @else
{{ __('No image available') }}
@endif
{{ __('General info') }}
{{ __('Brand') }}: {{ $machine->brand }}
{{ __('Model') }}: {{ $machine->model }}
{{ __('Width') }}: {{ machine_value($generalInfo['width'] ?? '') }}
{{ __('RPM') }}: {{ machine_value($generalInfo['rpm'] ?? '') }}
{{ __('Year') }}: {{ $machine->year }}
{{ __('Quantity of machines') }}:
{{ machine_value($qty) }}
{{ __('Specific info') }}
{{ __('Voltage (V)') }}: {{ machine_value($techDetail['voltage'] ?? ($machineSpecs['voltage'] ?? '')) }}
{{ __('Frequency (Hz)') }}: {{ machine_value($techDetail['frequency'] ?? ($machineSpecs['frequency'] ?? '')) }}
{{ __('Type of fabric produced') }}: {{ __(machine_value($machineSpecs['fabric_type'] ?? '')) }}
{{ __('Specific info') }}
{{ __('N. bars') }}: {{ machine_value($techDetail['n_bars'] ?? ($machineSpecs['n_bars'] ?? '')) }}
{{ __('N. fineness') }}: {{ machine_value($techDetail['n_fineness'] ?? ($machineSpecs['n_fineness'] ?? '')) }}
{{ __('Type of machine') }}: {{ machine_enum_label(machine_value($machineSpecs['type_of_machine'] ?? '')) }}
@if ($isWeaving) {{-- WEAVING: Machine Status & Type of Motion --}} @php $motion = strtolower($machineSpecs['movement_type'] ?? ''); @endphp {{-- WEAVING: Machine Status & Type of Motion --}} {{-- Encabezado Izquierdo --}} {{-- Encabezado Derecho (Ocupa 5 filas de alto) --}} {{-- Fila 1 Derecha --}} {{-- Valores Izquierdo (Ocupan las 4 filas restantes de alto) --}} {{-- Fila 2 Derecha --}} {{-- Fila 3 Derecha --}} {{-- Fila 4 Derecha --}} {{-- Fila 5 Derecha --}}
{{ __('Machine status') }}{{ __('Type of motion') }}{{ __('Dobby') }} {{ $motion == 'dobby' ? 'X' : '' }}
{{ __('In working condition / Stopped (how many months)') }} {{ machine_enum_label($machineSpecs['status'] ?? '') }} @if (($machineSpecs['status'] ?? '') === 'stopped')


{{ __('Since') }}: {{ machine_value($machineSpecs['stopped_since'] ?? '') }}

@endif @if (($machineSpecs['status'] ?? '') === 'other')

{{ machine_value($machineSpecs['other_status_description'] ?? '') }}

@endif
{{ __('Cams') }} {{ $motion == 'cams' ? 'X' : '' }}
{{ __('Crank') }} {{ $motion == 'crank' ? 'X' : '' }}
{{ __('Jacquard') }} {{ $motion == 'jacquard' ? 'X' : '' }}
{{ __('E-sheet') }} {{ $motion == 'e-sheet' || $motion == 'e_sheet' ? 'X' : '' }}
{{-- WEAVING: CAM Specifications (Conditional) --}} @if ($motion === 'cams' && !empty($camDetails))
{{ __('CAM specifications') }}
{{ __('Cam model') }}: {{ machine_value($camDetails['cam_model'] ?? '') }}
{{ __('Total levers on loom') }}: {{ machine_value($camDetails['total_levers'] ?? '') }} {{ __('Levers installed/in use') }}: {{ machine_value($camDetails['levers_in_use'] ?? '') }}
@endif {{-- WEAVING: Dobby Specifications (Conditional) --}} @if ($motion === 'dobby' && !empty($dobbyDetails))
{{ __('Dobby specifications') }}
{{ __('Dobby model') }}: {{ machine_value($dobbyDetails['dobby_model'] ?? '') }}
{{ __('Total levers on loom') }}: {{ machine_value($dobbyDetails['total_levers'] ?? '') }} {{ __('Levers installed/in use') }}: {{ machine_value($dobbyDetails['levers_in_use'] ?? '') }}
@endif {{-- WEAVING: Accessories / Loom --}} {{-- Encabezados Principales --}} {{-- Fila 1 - Accesorios --}} {{-- Celda Derecha "Other Info" (Ocupa las 5 filas hacia abajo) --}} {{-- Fila 2 - Accesorios --}} {{-- Fila 3 - Accesorios --}} {{-- Fila 4 - Accesorios --}} {{-- Fila 5 - Accesorios --}}
{{ __('Accessories / loom') }} {{ __('Other info') }}
{{ __('Quantity colors') }} {{ machine_value($accessories['n_colors'] ?? '') }} {{ __('Cloth roller') }} @if (!is_placeholder_value($beams['cloth_roller_quantity'] ?? null)) {{ $beams['cloth_roller_quantity'] }} @endif {{ __('Big Batcher') }} {{ $beams['batching_motion'] ?? false ? 'X' : '' }} {{ machine_value($other['additional_information'] ?? '') }}
{{ __('Quantity weft feeders') }} {{ machine_value($accessories['n_weft_feeders'] ?? '') }} {{ __('Beams') }}: {{ __('Lower') }} {{ machine_value($beams['n_lower_beams'] ?? '') }} {{ __('Upper') }} {{ machine_value($beams['n_upper_beams'] ?? '') }}
{{ __('Quantity frames') }} {{ machine_value($accessories['n_frames'] ?? '') }} {{ __('Flange dia') }}: {{ __('Lower') }} {{ machine_value($beams['n_lower_flange_diameter'] ?? '') }} {{ __('Upper') }} {{ machine_value($beams['n_upper_flange_diameter'] ?? '') }}
{{ __('Quantity heald') }} {{ machine_value($accessories['n_healds'] ?? '') }}
{{ __('Quantity droppers') }} {{ machine_value($accessories['n_droppers'] ?? '') }}
{{-- WEAVING: Jacquard Block --}} @if (!empty($jacquard)) @php $isGantry = $jacquard['is_gantry_included'] ?? false; $isHarness = $jacquard['is_harness_included'] ?? false; @endphp
{{ __('Jacquard') }}
{{ __('Brand model') }}: {{ machine_value($jacquard['brand'] ?? '') }} {{ machine_value($jacquard['model'] ?? '') }} {{ __('Controller model') }}: {{ machine_value($jacquard['controller_brand_model'] ?? '') }}
{{ __('Hook capacity') }}:
{{ machine_value($jacquard['total_hooks'] ?? '') }}
{{ __('Gantry included') }}: {{ __('Yes') }} {{ $isGantry ? 'X' : '' }} {{ __('No') }} {{ !$isGantry ? 'X' : '' }}
{{ __('Harness included?') }} {{ __('Yes') }} {{ $isHarness ? 'X' : '' }} {{ __('No') }} {{ !$isHarness ? 'X' : '' }}
{{ __('N. hooks installed') }}: {{ machine_value($jacquard['n_installed_hooks'] ?? '') }}
{{ __('Year of model') }}: {{ machine_value($jacquard['year'] ?? '') }}
{{ __('Please add extra info and all extra parts...') }}
{{ __('(healds, gears, etc...)') }}
{{ machine_value($other['additional_information'] ?? '') }}
@endif @elseif($isKnitting) {{-- ============================================== --}} {{-- KNITTING SPECIFIC BLOCK --}} {{-- ============================================== --}} {{-- Columna Izquierda: Fila 1 --}} {{-- Columna Derecha: Se expande hacia abajo ocupando 6 filas en total --}} {{-- Columna Izquierda: Fila 2 --}} {{-- Columna Izquierda: Fila 3 --}} {{-- Columna Izquierda: Fila 4 --}} {{-- Columna Izquierda: Fila 5 --}} {{-- Columna Izquierda: Fila 6 --}}
{{ __('Weaving type') }} {{ __('Please add any extra info and all extra parts and material (Needles, electronics, etc...)') }}
{{ __('(healds, droppers, frames, gears, etc...)') }}
{{ machine_value($other['additional_information'] ?? '') }}
{{ machine_enum_label(machine_value($techDetail['weaving_type'] ?? ($machineSpecs['weaving_type'] ?? ''))) }}
{{ __('Fabric winder') }}
{{ machine_enum_label(machine_value($techDetail['fabric_winder'] ?? ($machineSpecs['fabric_winder'] ?? ''))) }}
{{ __('Machine movement') }}
{{ machine_enum_label(machine_value($techDetail['machine_movement'] ?? ($machineSpecs['machine_movement'] ?? ''))) }}
@else {{-- ============================================== --}} {{-- OTHER MACHINES SPECIFIC BLOCK --}} {{-- ============================================== --}}
{{ __('Please add any extra info and all extra spare parts and material') }}
{{ __('(healds, droppers, frames, gears, needles, electronics, etc...)') }} {{-- El contenedor principal para la información extra --}}
{{ machine_value($other['additional_information'] ?? '') }}
@endif