frontend suggested changes

This commit is contained in:
omair saleh
2021-09-02 22:20:01 +08:00
parent 842fc52b4e
commit 050dc8ac7b
10 changed files with 118 additions and 49 deletions
@@ -89,6 +89,8 @@ class FetchContainersStatusUpdateFromVTPortalProcessor
$eta = Carbon::parse($eta);
$etd = Carbon::parse($eta)->subDays(5);
$delayDate = $containerDetails[6];
$containerStatus = $containerDetails[9];
@@ -98,25 +100,23 @@ class FetchContainersStatusUpdateFromVTPortalProcessor
$transport = $container->transports()->first();
if(!$transport){
$transportObject = new TransportObject(TransportType::SEA, null, null, $eta, null, ApprovalStatus::APPROVED);
$transportObject = new TransportObject(TransportType::SEA, null, null, $etd, null, ApprovalStatus::APPROVED);
/** @var Transport $transport */
$transport = $this->createsTransport->execute($transportObject, $container);
$this->createsSchedule->execute($transport, new ScheduleObject($eta->subDays(5), $eta, ApprovalStatus::APPROVED));
$this->createsSchedule->execute($transport, new ScheduleObject($etd, $eta, ApprovalStatus::APPROVED));
}
if($delayDate){
$delayDate = Carbon::parse($delayDate);
$transport = $container->transports()->first();
$schedule = $transport->schedules()->where('eta', '=', $delayDate)->first();
$etd = $delayDate->subDays(5);
if($schedule){
$etd = $schedule->etd;
if(!$transport->schedules()->where('eta', '=', $delayDate)->first()) {
$etd = $transport->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()->etd;
$transport->schedules()->update(['status' => ApprovalStatus::EXPIRED]);
$this->createsSchedule->execute($transport, new ScheduleObject($etd, $delayDate, ApprovalStatus::APPROVED));
}
$this->createsSchedule->execute($transport, new ScheduleObject($etd, $delayDate, ApprovalStatus::APPROVED));
}
if($containerStatus === 'Unstuffing'){
+1 -1
View File
@@ -20,7 +20,7 @@ class ContainerResource extends JsonResource
'container_type' => $this->container_type,
'container_number' => $this->container_number,
'seal_reference' => $this->seal_reference,
'transport' => TransportResource::collection($this->transports),
'transport' => new TransportResource($this->transports()->first()),
];
}
}
+1 -1
View File
@@ -24,7 +24,7 @@ class TransportResource extends JsonResource
'drop_date' => $this->drop_date ? $this->drop_date->format('d-m-Y') : $this->drop_date,
'status' => $this->status,
'current_schedule' => new ScheduleResource($this->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()),
'schedule_history' => ScheduleResource::collection($this->schedules()->where('status', '!=', ApprovalStatus::APPROVED)->get())
'schedule_history' => ScheduleResource::collection($this->schedules()->where('status', '=', ApprovalStatus::EXPIRED)->get())
];
}
}
-1
View File
@@ -21,7 +21,6 @@ class OrdersTableSeeder extends Seeder
*/
public function run()
{
FetchWarehouseReceiveListFromVTPortalJob::withChain([
new FetchLoadedContainersFromVTPortalJob,
new FetchPackingListFromVTPortalJob,
@@ -30,25 +30,29 @@
</div>
</div>
</div>
<div class="col-auto">
<div class="col-6">
<div class="row">
<div class="col-auto" v-if="item.employee">
<div class="row align-items-center">
<div class="row align-items-center m-b-5">
<div class="col">
<h6 class="no-margin fs-12">Account Owner</h6>
<h6 class="no-margin">{{item.employee.name}}</h6>
</div>
</div>
<div class="row align-items-center">
<div class="col">
<h6 class="no-margin fs-12">Account Owner</h6>
<h6 class="no-margin">{{item.employee.email}}</h6>
</div>
</div>
</div>
<div class="col-auto" v-if="item.contact">
<div class="row align-items-center">
<div class="row align-items-center m-b-5">
<div class="col">
<h6 class="no-margin fs-12">Contact Number</h6>
<h6 class="no-margin">{{item.contact.phone}}</h6>
</div>
</div>
</div>
<div class="col-auto" v-if="item.contact">
<div class="row align-items-center">
<div class="col">
<h6 class="no-margin fs-12">WeChat ID</h6>
@@ -57,35 +61,39 @@
</div>
</div>
<div class="col-auto">
<div class="row" v-if="item.identification">
<div class="col">
<div class="row align-items-center">
<div class="row">
<div class="col-auto">
<div class="row" v-if="item.identification">
<div class="col">
<h6 class="no-margin fs-12">{{ item.type === 0 ? 'Identification Card' : 'SSM Registration' }}</h6>
<h6 class="no-margin"> {{item.identification.reference}}</h6>
</div>
<div class="col-auto p-l-0" v-for="file in item.identification.files" v-bind:key="file.id" >
<document-file-viewer-component :file="file">
<template slot="button">
<div class="icon-thumbnail fs-14 text-white icon-25 bg-primary btn-rounded m-l-5">
<i class="fa fa-file-image-o fs-14"></i>
</div>
</template>
</document-file-viewer-component>
<div class="row align-items-center">
<div class="col">
<h6 class="no-margin fs-12">{{ item.type === 0 ? 'Identification Card' : 'SSM Registration' }}</h6>
<h6 class="no-margin"> {{item.identification.reference}}</h6>
</div>
<div class="col-auto p-l-0" v-for="file in item.identification.files" v-bind:key="file.id" >
<document-file-viewer-component :file="file">
<template slot="button">
<div class="icon-thumbnail fs-14 text-white icon-25 bg-primary btn-rounded m-l-5">
<i class="fa fa-file-image-o fs-14"></i>
</div>
</template>
</document-file-viewer-component>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row parentContainer" v-if="!item.identification">
<div class="col">
<div class="row">
<div class="col no-padding">
<button class="btn btn-sm btn-success btn-block b-rad-none requestModal" data-type="identificationVerificationModal">Upload Identification</button>
<div class="row parentContainer" v-if="!item.identification">
<div class="col">
<div class="row">
<div class="col no-padding">
<button class="btn btn-sm btn-success btn-block b-rad-none requestModal" data-type="identificationVerificationModal">Upload Identification</button>
</div>
</div>
<modal-component type="identificationVerificationModal">
<identification-verification-form-component section="orderListSection" :data="item"></identification-verification-form-component>
</modal-component>
</div>
</div>
<modal-component type="identificationVerificationModal">
<identification-verification-form-component section="orderListSection" :data="item"></identification-verification-form-component>
</modal-component>
</div>
</div>
</div>
@@ -66,15 +66,29 @@
</div>
</div>
<div class="row p-t-10 p-b-10">
<div class="col-auto p-r-0">
<div class="row justify-content-center">
<div class="col-auto">
<i class="fa fa-check fs-15 p-t-15" :class="{'text-primary': status !== 'Ready To Ship', 'muted': status === 'Ready To Ship'}"></i>
<div class="col-auto p-r-0 p-t-10">
<div class="row" v-for="schedule in item.container.transport.schedule_history" :key="schedule.id">
<div class="col">
<div class="row justify-content-center">
<div class="col-auto">
<i class="fa fa-times fs-15 text-danger"></i>
</div>
</div>
<div class="row justify-content-center">
<div class="col-auto">
<div class="b-l b-dashed b-danger" style="height: 35px;"></div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-auto">
<div class="b-l b-dashed " style="height: 40px;" :class="{'b-primary': status === 'Preparing Delivery' || status === 'Delivered', 'b-grey': status !== 'Preparing Delivery' || status !== 'Delivered'}"></div>
<i class="fa fa-check fs-15" :class="{'text-primary': status !== 'Ready To Ship', 'muted': status === 'Ready To Ship'}"></i>
</div>
</div>
<div class="row justify-content-center">
<div class="col-auto">
<div class="b-l b-dashed " style="height: 35px;" :class="{'b-primary': status === 'Preparing Delivery' || status === 'Delivered', 'b-grey': status !== 'Preparing Delivery' || status !== 'Delivered'}"></div>
</div>
</div>
<div class="row justify-content-center">
@@ -84,11 +98,31 @@
</div>
</div>
<div class="col p-l-0">
<div class="row m-b-15" v-for="schedule in item.container.transport.schedule_history" :key="schedule.id">
<div class="col">
<div class="row no-margin">
<div class="col-auto">
<small class="fs-10 all-caps muted">Etd</small>
<h6 class="no-margin small">{{schedule.etd}}</h6>
</div>
<div class="col-auto">
<small class="fs-10 all-caps muted">Eta</small>
<h6 class="no-margin small">{{schedule.eta}}</h6>
</div>
</div>
</div>
</div>
<div class="row m-b-15">
<div class="col">
<div class="col-auto">
<small class="fs-10 all-caps muted">Shipping Date</small>
<h6 class="no-margin small">{{item.container ? item.container.transport[0].current_schedule.etd : 'n/a'}}</h6>
<div class="row no-margin">
<div class="col-auto" v-if="!item.container.transport.schedule_history.length">
<small class="fs-10 all-caps muted">Etd</small>
<h6 class="no-margin small">{{item.container ? item.container.transport.current_schedule.etd : 'n/a'}}</h6>
</div>
<div class="col-auto">
<small class="fs-10 all-caps muted">{{!item.container.transport.schedule_history.length ? 'Eta' : 'Rescheduled Eta' }}</small>
<h6 class="no-margin small">{{item.container ? item.container.transport.current_schedule.eta : 'n/a'}}</h6>
</div>
</div>
</div>
</div>
@@ -38,7 +38,15 @@
</div>
<div class="row" v-if="expanded" >
<div class="col bg-white p-t-15 p-b-15">
<div class="row m-b-5" v-if="item.transport.tracking_number">
<div class="row m-b-5">
<div class="col-auto p-r-5">
<p class="no-margin all-caps fs-10 light">Order Number</p>
</div>
<div class="col p-l-5">
<p class="no-margin bold text-info fs-12">{{item.order.reference}}</p>
</div>
</div>
<div class="row m-b-5">
<div class="col-auto p-r-5">
<p class="no-margin all-caps fs-10 light">Description</p>
</div>
@@ -0,0 +1,12 @@
<template>
<div class="row">
<div class="col-5">
<list-component section="warehouseListSection" :endpoint="route('api.packing_list.list')" :options="{type: 1, status: 2, per_page: 20, order_by: {column: 'created_at', DESC: false}}">
<template slot="list" slot-scope="{data}">
<parcel-component v-for="packages in data.packages" :data="packages" :key="packages.id"></parcel-component>
</template>
</list-component>
</div>
</div>
</template>
@@ -0,0 +1,4 @@
@extends('layouts.base_portal')
@section('inner_content')
<warehouse-list-section-component></warehouse-list-section-component>
@endsection
+4
View File
@@ -61,6 +61,10 @@ Route::get('/address', function () {
return view('pages.addresses.index');
})->name('address');
Route::get('/warehouse-list', function () {
return view('pages.warehouse_list');
})->name('warehouse.list');
Route::get('/customer/{marking}', function ($marking) {
$connection = CompanyConnection::where('invitee_reference', $marking)->first();
$id = $connection->invitee->company->id;