diff --git a/app/Classes/Modules/Orders/ControllersLogic/ListOrdersV2Logic.php b/app/Classes/Modules/Orders/ControllersLogic/ListOrdersV2Logic.php new file mode 100644 index 00000000..c563051d --- /dev/null +++ b/app/Classes/Modules/Orders/ControllersLogic/ListOrdersV2Logic.php @@ -0,0 +1,56 @@ + 'Retrieved Orders', + 'message' => 'You have successfully retrieved a list of Orders' + ]; + } + + /** @var CanListOrders */ + private $canListOrders; + + /** @var ListsOrders */ + private $listsOrders; + + /** + * ListOrdersLogic constructor. + * @param CanListOrders $canListOrders + * @param ListsOrders $listsOrders + */ + public function __construct(CanListOrders $canListOrders, ListsOrders $listsOrders) + { + $this->canListOrders = $canListOrders; + $this->listsOrders = $listsOrders; + } + + public function logic(Request $request) : JsonResponse + { + $this->canListOrders->passes(); + + $query = $this->listsOrders->execute(array_merge($this->listsOrders->deserializeFilters($request->input('filters')), ['with_parcels' => true, 'type_in' => [OrderType::SHARED_CONTAINER, OrderType::DEDICATED_CONTAINER]])); + + return $this->collectionResponse(OrderV2Resource::collection($query)); + + } + + + +} diff --git a/app/Http/Controllers/Orders/ListOrdersV2Controller.php b/app/Http/Controllers/Orders/ListOrdersV2Controller.php new file mode 100644 index 00000000..f52d206d --- /dev/null +++ b/app/Http/Controllers/Orders/ListOrdersV2Controller.php @@ -0,0 +1,22 @@ +execute($request); + } +} diff --git a/resources/assets/vue/components/orders/elements/ListOrderComponent.vue b/resources/assets/vue/components/orders/elements/ListOrderComponent.vue new file mode 100644 index 00000000..b7c82ede --- /dev/null +++ b/resources/assets/vue/components/orders/elements/ListOrderComponent.vue @@ -0,0 +1,124 @@ + + + diff --git a/resources/assets/vue/components/orders/elements/OrderComponent.vue b/resources/assets/vue/components/orders/elements/OrderComponent.vue index da21cef8..a744f38a 100644 --- a/resources/assets/vue/components/orders/elements/OrderComponent.vue +++ b/resources/assets/vue/components/orders/elements/OrderComponent.vue @@ -62,15 +62,18 @@
Received -
{{item.parcels.received_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.quantity + total, 0)}}
+
{{item.parcels.received_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.quantity + total, 0)}}
+
-
In Transit -
{{item.parcels.in_transit_packages.flatMap(packing_list => packing_list.packages).concat(item.parcels.destination_warehouse_packages.flatMap(packing_list => packing_list.packages)).reduce((total, obj) => obj.quantity + total, 0)}}
+
{{item.parcels.in_transit_packages.flatMap(packing_list => packing_list.packages).concat(item.parcels.destination_warehouse_packages.flatMap(packing_list => packing_list.packages)).reduce((total, obj) => obj.quantity + total, 0)}}
+
-
Delivered -
{{item.parcels.delivered_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.quantity + total, 0)}}
+
{{item.parcels.delivered_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.quantity + total, 0)}}
+
-
@@ -90,7 +93,8 @@
Total CBM -
{{(Math.ceil((item.parcels.origin_warehouse_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.in_transit_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.destination_warehouse_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.delivered_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0)) * 10000) / 10000).toFixed(3)}}
+
{{(Math.ceil((item.parcels.origin_warehouse_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.in_transit_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.destination_warehouse_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0) + item.parcels.delivered_packages.flatMap(packing_list => packing_list.packages).reduce((total, obj) => obj.cbm + total, 0)) * 10000) / 10000).toFixed(3)}}
+
-
diff --git a/resources/assets/vue/components/orders/sections/OrderSectionComponent.vue b/resources/assets/vue/components/orders/sections/OrderSectionComponent.vue index 319ba7ca..c5beecc7 100644 --- a/resources/assets/vue/components/orders/sections/OrderSectionComponent.vue +++ b/resources/assets/vue/components/orders/sections/OrderSectionComponent.vue @@ -162,11 +162,11 @@
- + - +
@@ -179,11 +179,11 @@
- + - +
@@ -196,11 +196,11 @@
- + - +
@@ -213,11 +213,11 @@
- + - +
diff --git a/routes/order.php b/routes/order.php index 507b489f..73369dba 100644 --- a/routes/order.php +++ b/routes/order.php @@ -6,6 +6,7 @@ Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], f Route::get('/show/{id}', 'FetchOrderController@fetch')->name('show'); Route::get('/v2/show/{id}', 'FetchOrderV2Controller@fetch')->name('v2.show'); Route::get('/list', 'ListOrdersController@list')->name('list'); + Route::get('/v2/list', 'ListOrdersV2Controller@list')->name('v2.list'); Route::post('/create', 'CreateOrderController@create')->name('create'); Route::put('/confirm/{id}', 'ConfirmOrderController@confirm')->name('confirm'); Route::put('/cancel/{id}', 'CancelOrderController@cancel')->name('cancel');