{{-- New-Unity ERP | purchases/costs/create.blade.php | v1.5 | 25/07/2026 --}} {{-- v1.5 — Multi-proveedor: después de seleccionar producto muestra costos existentes. --}} {{-- checkExisting pasa supplier_id; el select de proveedor re-verifica al cambiar. --}} {{-- v1.4 — selectProductCost(): verifica existencia de costo via AJAX antes de seleccionar. --}} {{-- Si ya tiene costo: modal de aviso con botón 'Ir a editar' en lugar de seleccionar. --}} {{-- v1.3 — Vigencia dropdown de días. --}} {{-- v1.2 — Vigencia bidireccional. Pre-llenado desde RFQ. --}} {{-- cost_status siempre 'applied' al guardar manualmente. --}} {{-- v1.1 — Modal de búsqueda con filtros en cascada Group → Category → Brand. --}} {{-- v1.0 — Formulario inicial. --}} @extends('layouts.vertical') @section('content')

@if($fromRfq ?? null) {{ __('purchases.confirm-cost-rfq', ['num' => ($fromRfq ?? null)?->rfq_number]) }} @else {{ __('purchases.new-product-cost') }} @endif

{{ __('purchases.back') }}
{{-- Alerta si viene de RFQ --}} @if($fromRfq ?? null)
{{ __('purchases.rfq-awarded-note', ['num' => ($fromRfq ?? null)?->rfq_number, 'supplier' => ($fromRfq ?? null)?->awardedSupplier?->commercial_name]) }}
@endif
@csrf {{-- Hidden: trazabilidad RFQ --}} @if($fromRfq ?? null) @endif
{{-- Left column --}}
{{-- Product & Supplier --}}
{{ __('purchases.product-supplier') }}
{{-- Product --}}
@if(($fromRfq ?? null) && ($rfqItems ?? collect())->isNotEmpty()) {{-- Pre-llenado desde RFQ: mostrar todos los productos --}} @foreach($rfqItems as $rfqItem)
{{ $rfqItem->product?->product_name }} {{ __('purchases.sku-label') }} {{ $rfqItem->product?->sku }} {{ $rfqItem->product?->material_type }}
{{ __('purchases.qty-label') }} {{ $rfqItem->quantity }} {{ $rfqItem->unit }}
{{-- Si es un solo producto lo pasamos como product_id --}} @if($rfqItems->count() === 1) @endif @endforeach @if($rfqItems->count() > 1) {{ __('purchases.multiple-products-rfq') }} @endif @else {{-- Búsqueda normal --}}
{{ $product?->product_name }} {{ __('purchases.sku-label') }} {{ $product?->sku }} {{ $product?->material_type }}
@endif
{{-- Supplier --}}
@if($fromRfq ?? null) {{ __('purchases.preselected-awarded') }} @endif
{{-- Panel: costos ya registrados para este producto --}} {{-- Aviso: proveedor seleccionado ya tiene costo --}} {{-- Currency --}}
{{-- Cost & Taxes --}}
{{ __('purchases.cost-taxes') }}
{{-- List Cost --}}
@if(($fromRfq ?? null) && ($rfqItems ?? collect())->count() === 1) {{ __('purchases.reference-label') }} ${{ number_format($rfqItems->first()->reference_cost, 2) }} @php $qi = $rfqQuote?->items?->first(); @endphp @if($qi && $qi->variance_perc != 0) ({{ $qi->variance_perc > 0 ? '+' : '' }}{{ number_format($qi->variance_perc, 2) }}%) @endif @endif
$
@error('cost')
{{ $message }}
@enderror
{{-- IVA --}}
%
{{-- IEPS --}}
%
{{-- Totales calculados --}}
{{ __('purchases.iva-amount') }} $0.00
{{ __('purchases.ieps-amount') }} $0.00
{{ __('purchases.col-total-cost') }} $0.00
{{ __('purchases.currency') }} MXN
{{-- Right column --}}
{{-- Validity — Bidireccional días↔fecha --}}
{{ __('purchases.validity') }}
{{-- Fecha calculada (readonly) --}}
{{ __('purchases.valid-until-label') }}
{{-- Info RFQ si viene de adjudicación --}} @if($fromRfq ?? null)
{{ __('purchases.from-rfq', ['num' => ($fromRfq ?? null)?->rfq_number]) }}
{{ __('purchases.supplier-label') }} {{ ($fromRfq ?? null)?->awardedSupplier?->commercial_name }}
@if(($rfqQuote ?? null)?->delivery_days)
{{ __('purchases.delivery-label') }} {{ $rfqQuote->delivery_days }} {{ __('purchases.days') }}
@endif @if(($rfqQuote ?? null)?->payment_terms)
{{ __('purchases.payment-label') }} {{ $rfqQuote->payment_terms }}
@endif
@else
{{ __('purchases.how-it-works') }}
  • {{ __('purchases.hiw-1') }}
  • {{ __('purchases.hiw-2') }}
  • {{ __('purchases.hiw-3') }}
  • {{ __('purchases.hiw-4') }}
@endif
{{ __('purchases.cancel') }}
{{-- Modal: producto ya tiene costo registrado --}} {{-- Modal de búsqueda de productos (solo si no viene de RFQ) --}} @if(!($fromRfq ?? null)) @endif
@endsection @section('scripts') @parent @endsection