@extends('layouts.app') @section('title',$order->code) @section('content') @php($statusLabels = ['draft'=>'Rascunho','in_production'=>'Em produção','ready'=>'Pronto para entrega','delivered'=>'Entregue','cancelled'=>'Cancelada'])

{{ $order->code }}

{{ $statusLabels[$order->status] ?? $order->status }}
{{ $order->customer->name }} · pedido em {{ $order->ordered_at->format('d/m/Y') }}
Voltar às ordens
Cliente

{{ $order->customer->name }}

Abrir ficha completa
Receita vinculada

{{ $order->prescription?->issued_at?->format('d/m/Y') ?? 'Sem receita' }}

Previsão de entrega

{{ $order->promised_at?->format('d/m/Y') ?? 'Não definida' }}

Total negociado

R$ {{ number_format((float)$order->total_amount,2,',','.') }}

@if((float)$order->discount > 0)
Desconto: R$ {{ number_format((float)$order->discount,2,',','.') }}
@endif
@include('orders._pupil_measurement') @if($order->status==='draft' && ! $hasCreditPlan)

Negociação da ordem

Defina desconto, previsão e observações antes de iniciar a produção ou gerar o crediário.
Subtotal R$ {{ number_format((float)$order->subtotal,2,',','.') }}
@csrf @method('PUT')
@endif @if($order->status==='draft' && ! $hasCreditPlan)

Adicionar item

@csrf
@endif

Itens

Produtos, lentes, armações e serviços desta ordem.
Subtotal R$ {{ number_format((float)$order->subtotal,2,',','.') }}
@if($hasCreditPlan && $order->status==='draft')
Os itens e valores estão bloqueados porque esta OS já possui crediário gerado.
@endif
@forelse($order->items as $item) @empty@endforelse
ItemQtd.UnitárioTotal
{{ $item->description }}
{{ $item->product?->type ?? $item->item_type }}
{{ number_format((float)$item->quantity,3,',','.') }}R$ {{ number_format((float)$item->unit_price,2,',','.') }}R$ {{ number_format((float)$item->total_amount,2,',','.') }}@if($order->status==='draft' && ! $hasCreditPlan)
@csrf @method('DELETE')
@endif
Adicione armação, lentes ou serviços.

Pagamento e crediário

O parcelamento fica vinculado diretamente a esta ordem de serviço.
Crédito disponível do cliente
R$ {{ number_format((float)$customerSummary['available_credit'],2,',','.') }}
@if($hasCreditPlan)
Crediário vinculado. O valor negociado da OS foi congelado para manter as parcelas consistentes.
@foreach($orderInstallmentRows as $row) @endforeach
ParcelaVencimentoValorPagoSaldoSituação
{{ $row['installment']->installment_number }}/{{ $row['installment']->total_installments }} {{ $row['installment']->due_date->format('d/m/Y') }} R$ {{ number_format($row['gross'],2,',','.') }} R$ {{ number_format($row['allocated'],2,',','.') }} R$ {{ number_format($row['balance'],2,',','.') }} {{ $row['status_label'] }}
Se houver pagamento registrado ou PIX/boleto ainda ativo, o cancelamento da OS será bloqueado para proteger o financeiro.
@elseif($order->status==='draft') @if(! $customerSummary['credit_account'])
Este cliente ainda não possui crediário. Abra a ficha do cliente e configure o limite de crédito.
@elseif($customerSummary['credit_account']->status !== 'active')
O crediário deste cliente está bloqueado. Regularize na ficha do cliente antes de parcelar a OS.
@elseif((float)$order->total_amount <= 0)
Adicione itens e defina o valor final da OS antes de gerar o parcelamento.
@elseif((float)$order->total_amount > (float)$customerSummary['available_credit'])
O total da OS é maior que o crédito disponível do cliente. Aumente o limite ou reduza o valor negociado antes de parcelar.
@else
@csrf
@endif @else

Esta OS não possui parcelamento de crediário vinculado.

@endif

Andamento

Ao iniciar produção, o estoque dos itens controlados é baixado automaticamente. Cancelamentos devolvem esse estoque uma única vez e também tratam o crediário vinculado com segurança.

@if($order->status==='draft')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif($order->status==='in_production')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif($order->status==='ready')
@csrf @method('PATCH')
@csrf @method('PATCH')
@else Fluxo encerrado: {{ $statusLabels[$order->status] ?? $order->status }} @endif
@endsection