@extends('layouts.admin.home') @section('title') {{ __('admin.pages.orders.title') }} @endsection @section('content') @php $status = $order->admin_status ?? $order->resolveAdminStatus((int) ($order->provider_id ?? 0) ?: null); $acceptedOffer = $order->offer; $timelineEntries = $order->timeline->sortByDesc('action_at')->values(); $cancellationEntries = $timelineEntries->where('timeline_no', 12)->values(); $partialReceives = collect($order->partial_receive ?? [])->sortByDesc('created_at')->values(); $paymentBadgeClass = (int) ($order->payment_status ?? 0) === 1 ? 'bg-success-subtle text-success' : 'bg-warning-subtle text-warning'; $paymentLabel = (int) ($order->payment_status ?? 0) === 1 ? __('admin.dashboard.paid_badge') : __('admin.dashboard.pending_badge'); $orderType = match ((int) ($order->order_type ?? 0)) { 1 => __('admin.pages.common.order'), 2 => __('admin.pages.common.quotation'), 3 => __('admin.pages.common.maintenance'), default => '---', }; $requestMode = (int) ($order->request_type ?? 0) === 2 ? __('admin.pages.orders.scheduled') : __('admin.pages.orders.standard'); @endphp
{{ __('admin.pages.orders.back_to_orders') }}
{{ __('admin.pages.orders.type') }}
{{ $orderType }}
{{ __('admin.pages.orders.mode') }}
{{ $requestMode }}
{{ __('admin.pages.orders.status') }}
{{ $status['text'] }}
{{ __('admin.pages.orders.customer') }}
{{ $order->user?->name ?? '-' }}
{{ $order->user?->email ?? '-' }}
{{ __('admin.pages.orders.vendor') }}
{{ $order->provider?->name ?? '-' }}
{{ $order->provider?->email ?? '-' }}
{{ __('admin.pages.orders.payment') }}
{{ __('admin.pages.orders.commercial_snapshot') }}
{{ $paymentLabel }}
{{ __('admin.pages.orders.items_cost') }} {{ number_format((float) ($order->items_cost ?? 0), 2) }}
Discount {{ number_format((float) ($order->discount ?? 0), 2) }}
{{ __('admin.pages.orders.vat_amount') }} {{ number_format((float) ($order->vat_amount ?? 0), 2) }}
{{ __('admin.pages.orders.delivery_fee') }} {{ number_format((float) ($order->delivery_fee ?? 0), 2) }}
{{ __('admin.pages.orders.total_cost') }} {{ number_format((float) ($order->total_cost ?? 0), 2) }}
{{ __('admin.pages.orders.payment_type') }} {{ $order->payment_type ?? '-' }}
{{ __('admin.pages.orders.transaction_id') }} {{ $order->getway_transaction_id ?? '-' }}
{{ __('admin.pages.orders.order_items') }}
@forelse($order->items as $item) @php $deliveryDuration = $order->delivery_duration ?? ($acceptedOffer?->delivery_time ?? '-'); @endphp @empty @endforelse
# {{ __('admin.pages.orders.product_name') }} {{ __('admin.pages.orders.product_quantity') }} {{ __('admin.pages.orders.expiry_date') }} {{ __('admin.pages.orders.delivery_duration') }}
{{ $loop->iteration }} {{ $item->product?->name ?? '-' }} {{ $item->quantity }} {{ optional($item->product?->expiry_date)->format('Y-m-d') ?? '-' }} {{ $deliveryDuration }}
{{ __('admin.pages.orders.no_items_found') }}
{{ __('admin.pages.orders.order_summary') }}
{{ __('admin.pages.orders.address') }} {{ $order->address ?? '-' }}
{{ __('admin.pages.orders.device_category') }} {{ $order->device_category?->name ?? '-' }}
{{ __('admin.pages.orders.device_name') }} {{ $order->device_name ?? '-' }}
{{ __('admin.pages.orders.serial_number') }} {{ $order->serial_number ?? '-' }}
{{ __('admin.pages.orders.budget') }} {{ $order->budget ?? '-' }}
{{ __('admin.pages.orders.preferred_service_time') }} {{ $order->preferred_service_time ?? '-' }}
{{ __('admin.pages.orders.schedule_start') }} {{ $order->schedule_start_date ?? '-' }}
{{ __('admin.pages.orders.created_at') }} {{ optional($order->created_at)->format('Y-m-d H:i') }}
{{ __('admin.pages.orders.accepted_offer') }}
@if($acceptedOffer)
{{ __('admin.pages.orders.offer_id') }} #{{ $acceptedOffer->id }}
{{ __('admin.pages.orders.vendor') }} {{ $acceptedOffer->provider?->name ?? '-' }}
{{ __('admin.pages.orders.cost') }} {{ number_format((float) ($acceptedOffer->cost ?? 0), 2) }}
{{ __('admin.pages.orders.delivery_time') }} {{ $acceptedOffer->delivery_time ?? '-' }}
{{ __('admin.pages.orders.warranty') }} {{ $acceptedOffer->warranty ?? '-' }}
{{ __('admin.pages.orders.notes') }}
{{ $acceptedOffer->notes ?? '-' }}
@else
{{ __('admin.pages.orders.no_accepted_offer') }}
@endif
{{ __('admin.pages.orders.offers_list') }}
@forelse($order->offers->sortByDesc('id') as $offer) @php $offerStatus = strtolower((string) $offer->status); $offerLabel = $offerStatus === '2' || $offerStatus === 'accepted' ? __('admin.pages.orders.statuses.accepted') : ($offerStatus === '3' || $offerStatus === 'rejected' ? __('admin.pages.orders.statuses.rejected') : __('admin.pages.orders.statuses.pending')); $offerClass = $offerLabel === __('admin.pages.orders.statuses.accepted') ? 'bg-success-subtle text-success' : ($offerLabel === __('admin.pages.orders.statuses.rejected') ? 'bg-danger-subtle text-danger' : 'bg-warning-subtle text-warning'); @endphp @empty @endforelse
{{ __('admin.pages.orders.offer') }} {{ __('admin.pages.orders.vendor') }} {{ __('admin.pages.orders.status') }} {{ __('admin.pages.orders.cost') }} {{ __('admin.pages.orders.delivery_time') }} {{ __('admin.pages.orders.notes') }}
#{{ $offer->id }} {{ $offer->provider?->name ?? '-' }} {{ $offerLabel }} {{ number_format((float) ($offer->cost ?? 0), 2) }} {{ $offer->delivery_time ?? '-' }} {{ $offer->notes ?? '-' }}
{{ __('admin.pages.orders.no_offers') }}
{{ __('admin.pages.orders.timeline') }}
@forelse($timelineEntries as $entry) @empty @endforelse
{{ __('admin.pages.orders.step') }} {{ __('admin.pages.orders.actor') }} {{ __('admin.pages.orders.timeline_no') }} {{ __('admin.pages.orders.action_at') }}
{{ timelineName((int) $entry->timeline_no) }} {{ $entry->user?->name ?? ('User #' . ($entry->user_id ?? '-')) }} {{ $entry->timeline_no }} {{ optional($entry->action_at ?? $entry->created_at)->format('Y-m-d H:i') }}
{{ __('admin.pages.orders.no_timeline') }}
{{ __('admin.pages.orders.cancellation_history') }}
@forelse($cancellationEntries as $entry)
{{ timelineName((int) $entry->timeline_no) }}
{{ __('admin.pages.orders.cancelled_by') }} {{ $entry->user?->name ?? ('User #' . ($entry->user_id ?? '-')) }}
{{ optional($entry->action_at ?? $entry->created_at)->format('Y-m-d H:i') }}
@empty
{{ __('admin.pages.orders.no_cancellation') }}
@endforelse
{{ __('admin.pages.orders.partial_receive') }}
@forelse($partialReceives as $partialReceive)
{{ __('admin.pages.orders.partial_id', ['id' => $partialReceive->id]) }}
{{ optional($partialReceive->created_at)->format('Y-m-d') }}
{{ __('admin.pages.orders.offer_id') }}
{{ $partialReceive->offer_id ?? '-' }}
{{ __('admin.pages.orders.received_quantity') }}
{{ $partialReceive->received_quantity ?? '-' }}
{{ __('admin.pages.orders.received_all') }}
{{ (int) ($partialReceive->received_all_quantity ?? 0) === 1 ? __('admin.pages.orders.yes') : __('admin.pages.orders.no') }}
{{ __('admin.pages.orders.reason') }}
{{ $partialReceive->reason_for_partial ?? '-' }}
@empty
{{ __('admin.pages.orders.no_partial_receives') }}
@endforelse
{{ __('admin.pages.orders.internal_notes') }}

{{ $order->notes ?? __('admin.pages.orders.no_notes') }}

@endsection @section('script') @endsection