mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-22 05:54:08 +00:00
frontend suggested changes
This commit is contained in:
+8
-8
@@ -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'){
|
||||
|
||||
@@ -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()),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user