feat: show COA and picked columns for completed orders

- Add 'completed' status to COA column visibility check
- Add 'completed' status to picked column visibility check
- Fix colspan calculation for proper total alignment
- Buyers can now view COAs and picked quantities on completed orders
This commit is contained in:
Jon Leopard
2025-11-20 16:55:56 -07:00
parent 8af01a6772
commit d9d8190835

View File

@@ -379,10 +379,10 @@
<th>SKU</th>
<th>Brand</th>
<th>Quantity</th>
@if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved']))
@if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed']))
<th>Picked</th>
@endif
@if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved']))
@if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed']))
<th class="text-center">COA</th>
@endif
<th>Unit Price</th>
@@ -408,14 +408,14 @@
<td class="{{ $item->isPreDeliveryRejected() ? 'line-through' : '' }}">{{ $item->product_sku }}</td>
<td class="{{ $item->isPreDeliveryRejected() ? 'line-through' : '' }}">{{ $item->brand_name }}</td>
<td class="{{ $item->isPreDeliveryRejected() ? 'line-through' : '' }}">{{ $item->quantity }}</td>
@if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved']))
@if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed']))
<td>
<span class="badge {{ $item->picked_qty == $item->quantity ? 'badge-success' : 'badge-warning' }} whitespace-nowrap">
{{ $item->picked_qty }} / {{ $item->quantity }}
</span>
</td>
@endif
@if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved']))
@if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed']))
<td class="text-center">
@php
// Get COA from item's batch, or fall back to product's first active batch
@@ -424,7 +424,7 @@
$primaryCoa = $coaFiles?->where('is_primary', true)->first() ?? $coaFiles?->first();
@endphp
@if($primaryCoa)
<a href="{{ Storage::disk('public')->url($primaryCoa->file_path) }}" target="_blank" class="btn btn-ghost btn-sm" title="View COA">
<a href="{{ route('coa.download', $primaryCoa->id) }}" target="_blank" class="btn btn-ghost btn-sm" title="View COA">
<span class="icon-[lucide--file-text] size-5 text-primary"></span>
</a>
@else
@@ -459,16 +459,19 @@
<tfoot>
<tr class="font-bold">
@php
// Base columns: Product, SKU, Brand, Quantity, Unit Price = 5
$colspan = 5;
// Base columns: Product, SKU, Brand, Quantity = 4
// Unit Price and Total are separate columns
$colspan = 4;
// Add Picked column if shown
if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved'])) {
if(in_array($order->status, ['in_progress', 'ready_for_manifest', 'ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed'])) {
$colspan++;
}
// Add COA column if shown
if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved'])) {
if(in_array($order->status, ['ready_for_delivery', 'approved_for_delivery', 'out_for_delivery', 'delivered', 'buyer_approved', 'completed'])) {
$colspan++;
}
// Add Unit Price column
$colspan++;
@endphp
<td colspan="{{ $colspan }}" class="text-right">Total:</td>
@if($order->status === 'ready_for_delivery' && $order->workorder_status >= 100)