diff --git a/app/Http/Resources/ContainerResource.php b/app/Http/Resources/ContainerResource.php index 23cb7817..557ffe74 100644 --- a/app/Http/Resources/ContainerResource.php +++ b/app/Http/Resources/ContainerResource.php @@ -5,6 +5,7 @@ namespace App\Http\Resources; use App\Classes\ValueObjects\Constants\ContainerTypes; use App\Models\Remark; use Illuminate\Http\Resources\Json\JsonResource; +use Illuminate\Support\Facades\DB; class ContainerResource extends JsonResource { @@ -24,11 +25,13 @@ class ContainerResource extends JsonResource 'seal_reference' => $this->seal_reference, 'loading_date' => $this->loading_date ? $this->loading_date->format('d-m-Y') : $this->loading_date, 'transport' => new TransportResource($this->transports()->first()), - 'packing_lists' => PackingListResource::collection($this->whenLoaded('packingLists', function(){ - return $this->packingLists()->whereHas('packages')->get(); - })), + 'packages_count' => $this->packages->sum('quantity'), + 'total_cbm' => $this->packages()->sum(DB::raw('(width/100) * (height/100) * (length/100) * quantity')), 'remarks' => RemarkResource::collection($this->remarks), - 'status' => $this->status + 'status' => $this->status, + 'packing_lists' => $this->whenLoaded('packingLists', PackingListResource::collection($this->whenLoaded('packingLists', function(){ + return $this->packingLists()->whereHas('packages')->get(); + }))) ]; } } diff --git a/resources/assets/vue/components/containers/elements/ContainerComponent.vue b/resources/assets/vue/components/containers/elements/ContainerComponent.vue index f894385c..0fa42763 100644 --- a/resources/assets/vue/components/containers/elements/ContainerComponent.vue +++ b/resources/assets/vue/components/containers/elements/ContainerComponent.vue @@ -28,11 +28,11 @@

Packages

-

{{ item.packing_lists.reduce((total, obj) => total + obj.packages.reduce((total, obj) => obj.quantity + total, 0), 0) }}

+

{{ item.packages_count }}

Loaded CBM

-

{{ (Math.ceil((item.packing_lists.reduce((total, obj) => total + obj.packages.reduce((total, obj) => obj.cbm + total, 0), 0)) * 1000) / 1000).toFixed(3) }}

+

{{ (Math.ceil(item.total_cbm * 1000) / 1000).toFixed(3) }}

Status

@@ -49,52 +49,7 @@
-
-
-
-
-
-
Marking
-
Quantity
-
CBM
-
status
-
Delivery Details
-
Delivery Date
-
-
-
-
-
-
-
-
- -
{{packingList.packages.reduce((total, obj) => obj.quantity + total, 0)}}
-
{{ (Math.ceil((packingList.packages.reduce((total, obj) => obj.cbm + total, 0)) * 1000) / 1000).toFixed(3)}}
-
{{packingList.transport ? 'Delivery' : packingList.status === 5 ? 'On Hold' : 'Release'}}
-
{{packingList.order.address.contact ? packingList.order.address.contact.reference+' '+packingList.order.address.contact.phone : ''}}
{{packingList.order.address.street_one+' '+(packingList.order.address.street_two ? packingList.order.address.street_two : '')+', '+ packingList.order.address.district.name+', '+packingList.order.address.post_code+' '+packingList.order.address.state.name+', '+packingList.order.address.country.name}}
{{packingList.order.address.remark ? packingList.order.address.remark.content: ''}}
-
-

{{packingList.transport ? packingList.transport.current_schedule.eta : 'n/a'}}

-
-
-
Release
-
Hold
-
- -
-
-
-
-
-
-
+ diff --git a/resources/assets/vue/components/containers/elements/PackingListComponent.vue b/resources/assets/vue/components/containers/elements/PackingListComponent.vue new file mode 100644 index 00000000..62126d44 --- /dev/null +++ b/resources/assets/vue/components/containers/elements/PackingListComponent.vue @@ -0,0 +1,68 @@ + + diff --git a/resources/views/pages/containers.blade.php b/resources/views/pages/containers.blade.php index b876abab..b8ab329b 100644 --- a/resources/views/pages/containers.blade.php +++ b/resources/views/pages/containers.blade.php @@ -87,7 +87,7 @@
- + @@ -96,7 +96,7 @@
- + @@ -105,7 +105,7 @@
- +