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'}}
-
-
-
-
-
-
-
-
-
-
+
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 @@
+
+
+
+
+
+
+
+
+
+
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'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@