mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
finalize last mile delivery
This commit is contained in:
@@ -2,10 +2,14 @@
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Classes\Modules\Accounts\DataTransferObjects\RegistrationObject;
|
||||
use App\Classes\Modules\Accounts\Services\CreatesUser;
|
||||
use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject;
|
||||
use App\Classes\Modules\Addresses\Processors\CreateAddressFromOldAddressProcessor;
|
||||
use App\Classes\Modules\Addresses\Services\CreatesAddress;
|
||||
use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject;
|
||||
use App\Classes\Modules\Companies\DataTransferObjects\EmploymentObject;
|
||||
use App\Classes\Modules\Companies\Processors\AssignEmployeeProcessor;
|
||||
use App\Classes\Modules\Companies\Processors\CreateCompanyModuleProcessor;
|
||||
use App\Classes\Modules\Companies\Processors\CreateCompanyProcessor;
|
||||
use App\Classes\Modules\Companies\Services\ApprovesCompanyConnection;
|
||||
@@ -20,7 +24,9 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||
use App\Classes\ValueObjects\Constants\CompanyType;
|
||||
use App\Classes\ValueObjects\Constants\BusinessType;
|
||||
|
||||
use App\Classes\ValueObjects\Constants\RoleTypes;
|
||||
use App\Models\CompanyModule;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
use App\Models\Company;
|
||||
@@ -58,8 +64,14 @@ class LastMileDeliveryTableSeeder extends Seeder
|
||||
/** @var CreatesContact */
|
||||
private $createsContact;
|
||||
|
||||
/** @var CreatesUser */
|
||||
private $createsUser;
|
||||
|
||||
/** @var AssignEmployeeProcessor */
|
||||
private $assignEmployeeProcessor;
|
||||
|
||||
/**
|
||||
* CompaniesTableSeeder constructor.
|
||||
* LastMileDeliveryTableSeeder constructor.
|
||||
* @param CreateCompanyProcessor $createCompanyProcessor
|
||||
* @param UpdatesCompanyStatus $updatesCompanyStatus
|
||||
* @param CreateCompanyModuleProcessor $createCompanyModuleProcessor
|
||||
@@ -70,8 +82,10 @@ class LastMileDeliveryTableSeeder extends Seeder
|
||||
* @param CreatesAddress $createsAddress
|
||||
* @param CreatesCompany $createsCompany
|
||||
* @param CreatesContact $createsContact
|
||||
* @param CreatesUser $createsUser
|
||||
* @param AssignEmployeeProcessor $assignEmployeeProcessor
|
||||
*/
|
||||
public function __construct(CreateCompanyProcessor $createCompanyProcessor, UpdatesCompanyStatus $updatesCompanyStatus, CreateCompanyModuleProcessor $createCompanyModuleProcessor, CreateContactProcessor $createContactProcessor, CreatesCompanyConnection $createsCompanyConnection, ApprovesCompanyConnection $approvesCompanyConnection, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, CreatesAddress $createsAddress, CreatesCompany $createsCompany, CreatesContact $createsContact)
|
||||
public function __construct(CreateCompanyProcessor $createCompanyProcessor, UpdatesCompanyStatus $updatesCompanyStatus, CreateCompanyModuleProcessor $createCompanyModuleProcessor, CreateContactProcessor $createContactProcessor, CreatesCompanyConnection $createsCompanyConnection, ApprovesCompanyConnection $approvesCompanyConnection, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, CreatesAddress $createsAddress, CreatesCompany $createsCompany, CreatesContact $createsContact, CreatesUser $createsUser, AssignEmployeeProcessor $assignEmployeeProcessor)
|
||||
{
|
||||
$this->createCompanyProcessor = $createCompanyProcessor;
|
||||
$this->updatesCompanyStatus = $updatesCompanyStatus;
|
||||
@@ -83,6 +97,8 @@ class LastMileDeliveryTableSeeder extends Seeder
|
||||
$this->createsAddress = $createsAddress;
|
||||
$this->createsCompany = $createsCompany;
|
||||
$this->createsContact = $createsContact;
|
||||
$this->createsUser = $createsUser;
|
||||
$this->assignEmployeeProcessor = $assignEmployeeProcessor;
|
||||
}
|
||||
|
||||
|
||||
@@ -116,6 +132,14 @@ class LastMileDeliveryTableSeeder extends Seeder
|
||||
$contact = new ContactObject('Office Number', '0182909252', '', '');
|
||||
$this->createsContact->execute($companyModule, $contact);
|
||||
|
||||
$user_object = new RegistrationObject('Winson', 'admin@last-mile-delivery.com', '1234567abcabc', '1234567abcabc', RoleTypes::USER, ApprovalStatus::APPROVED);
|
||||
|
||||
/** @var User $user */
|
||||
$user = $this->createsUser->execute($user_object);
|
||||
|
||||
$Object = new EmploymentObject($companyModule, $user);
|
||||
$this->assignEmployeeProcessor->execute($Object);
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
+1
-5
@@ -52,8 +52,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<delivery-orders-table-section-component></delivery-orders-table-section-component>
|
||||
<!--<order-section-component :data="company"></order-section-component>-->
|
||||
<delivery-orders-table-section-component :data="company"></delivery-orders-table-section-component>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,9 +63,6 @@
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
// components: {
|
||||
// Vuetable
|
||||
// },
|
||||
props: {
|
||||
company_id: {
|
||||
type: Number,
|
||||
|
||||
+14
-50
@@ -4,7 +4,7 @@
|
||||
<loading-component style="height: 200px; top: 0;" key="1" color="success" v-show="$store.getters.isLoading(section)"></loading-component>
|
||||
<div class="row" v-show="!$store.getters.isLoading(section)">
|
||||
<div class="col">
|
||||
<div class="row m-b-15">
|
||||
<div class="row m-b-15" v-if="$store.getters.getCompanyModuleType === 8">
|
||||
<div class="col-auto p-r-5">
|
||||
<a :href="route('last_mile_delivery.order.export')" target="_blank">
|
||||
<button type="button" class="btn btn-sm btn-block p-t-10 p-b-10 p-r-35 p-l-35 btn-complete b-rad-none">
|
||||
@@ -46,7 +46,7 @@
|
||||
<tbody>
|
||||
<tr v-for="data in $store.getters.getListData(section)">
|
||||
<th scope="col"><input type="checkbox" /></th>
|
||||
<td><a :href="'https://www.tracking.my/lineclear/'+data.reference" target="_blank">{{data.reference}}</a></td>
|
||||
<td>{{data.reference}}<a :href="'https://www.tracking.my/lineclear/'+data.reference" target="_blank"><div class="btn btn-xs btn-success m-l-10">Track <i class="fa fa-angle-right m-l-5"></i></div></a></td>
|
||||
<td>{{data.company_module.marking}}</td>
|
||||
<td>Walk In</td>
|
||||
<td>{{data.packingList.type === 0 ? 'Package' : data.packingList.type === 1 ? 'Pallet' : 'Documents'}}</td>
|
||||
@@ -80,17 +80,25 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import componentHandler from '../../../general/mixins/componentHandler';
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
section: 'ListOrderTableSection',
|
||||
emptyListSection: false,
|
||||
filters: {
|
||||
filters: this.data ? {
|
||||
company_module_id: this.data.company_module.id,
|
||||
per_page: 20,
|
||||
order_by: {
|
||||
column: 'id',
|
||||
DESC: true,
|
||||
},
|
||||
} : {
|
||||
per_page: 100,
|
||||
order_by: {
|
||||
column: 'id',
|
||||
DESC: true,
|
||||
}
|
||||
},
|
||||
metaData: {
|
||||
from: null,
|
||||
@@ -121,56 +129,12 @@
|
||||
let listDecorators = this.$store.getters.getListDetails(this.section);
|
||||
this.submit(this.route('api.delivery.order.list') + '?page=' + listDecorators.page + '&filters=' + JSON.stringify(listDecorators.filters), 'get', this.section, false, false)
|
||||
},
|
||||
updateOrderBy(field) {
|
||||
field === this.filters.order_by.column ? this.filters.order_by.DESC = !this.filters.order_by.DESC : '';
|
||||
this.filters.order_by.column = field;
|
||||
this.updateFilters(this.filters);
|
||||
},
|
||||
updateOrderStatusFilter(status) {
|
||||
this.orderStatusFilterDropDownStatus = false;
|
||||
this.orderStatus = status;
|
||||
|
||||
switch(status) {
|
||||
case 'Active':
|
||||
this.filters.status_in = [2];
|
||||
break;
|
||||
|
||||
case 'Complete':
|
||||
this.filters.status_in = [3];
|
||||
break;
|
||||
|
||||
case 'Pending Verification':
|
||||
this.filters.status_in = [1];
|
||||
break;
|
||||
|
||||
case 'Cancelled':
|
||||
this.filters.status_in = [4, 5, 6];
|
||||
break;
|
||||
}
|
||||
|
||||
this.updateFilters(this.filters);
|
||||
},
|
||||
updatePerPageFilter(number) {
|
||||
this.perPageFilterDropDownStatus = false;
|
||||
this.filters.per_page = parseInt(number);
|
||||
this.updateFilters(this.filters);
|
||||
},
|
||||
updateFilters(filters){
|
||||
this.filters = filters;
|
||||
this.setDecoratorDefault();
|
||||
this.submit(this.route('api.delivery.order.list') + '?page=' + this.metaData.current_page + '&filters=' + JSON.stringify(this.filters), 'get', this.section, false, false)
|
||||
},
|
||||
successHandler(response){
|
||||
this.$store.dispatch('completeList', {'name': this.section, 'data': response.payload.data});
|
||||
this.$refs.pagination.makePagination(response.payload.meta, response.payload.links);
|
||||
this.metaData = response.payload.meta;
|
||||
},
|
||||
resetFilter() {
|
||||
this.filters.order_by.column = 'id';
|
||||
this.filters.order_by.DESC = false;
|
||||
this.filters.reference_like = '';
|
||||
this.updateFilters(this.filters);
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mixins: [componentHandler]
|
||||
}
|
||||
</script>
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
export default {
|
||||
methods: {
|
||||
routesGuard(){
|
||||
(!this.$store.getters.isAuthenticated && this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = this.route('login') : '';
|
||||
(this.$store.getters.isAuthenticated && !this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = this.route('dashboard') : '';
|
||||
(!this.$store.getters.isAuthenticated && this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = window.location.href.indexOf(this.route('last_mile_delivery.login')) === 0 ? this.route('last_mile_delivery.login') : this.route('login') : '';
|
||||
(this.$store.getters.isAuthenticated && !this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = [7, 8].includes(this.$store.getters.getCompanyModuleType) ? this.route('last_mile_delivery.dashboard') : this.route('dashboard') : '';
|
||||
},
|
||||
isProtectedRoute(){
|
||||
const unprotectedRoutes = [this.route('login'), this.route('account.email.verification'), this.route('company.claim'), this.route('last_mile_delivery.login')];
|
||||
|
||||
+2
-3
@@ -10,9 +10,8 @@ export default {
|
||||
'Authorization': 'Bearer '+getters.getAccessToken
|
||||
}
|
||||
}).then(response => {
|
||||
|
||||
if(response.status === 401 && window.location.href !== route('login')){
|
||||
dispatch('userAuthentication', {access_token: '', redirect_url: '/'});
|
||||
if(response.status === 401 && (window.location.href !== route('login') || window.location.href.indexOf(this.route('last_mile_delivery.login')) <= -1)){
|
||||
dispatch('userAuthentication', {access_token: '', redirect_url: [7, 8].includes(getters.getCompanyModuleType) ? route('last_mile_delivery.login') : route('login')});
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
@@ -1,42 +1,8 @@
|
||||
<div class="row d-none" :class="[{'d-flex': $store.getters.isAdmin}]" v-if="$store.getters.isAdmin">
|
||||
<div class="row d-none" :class="[{'d-flex': $store.getters.getCompanyModuleType === 8}]" v-if="$store.getters.getCompanyModuleType === 8">
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="row p-b-5 b-b b-grey m-b-10 m-l-0 m-r-0">
|
||||
<div class="col no-padding">
|
||||
<h6>Orders List</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row m-l-0 m-r-0">
|
||||
<div class="col">
|
||||
<list-component key="2" section="customerWithoutConfirmedOrdersListSection" :endpoint="route('api.company.list')" :options="{'has_business_module_type': 1, 'created_after': '18-09-2021','without_confirmed_orders': true}">
|
||||
<template slot="list" slot-scope="{data}">
|
||||
<company-component :data="data"></company-component>
|
||||
</template>
|
||||
</list-component>
|
||||
<list-component section="searchOrderListSection" :endpoint="route('api.order.list')" :options="{reference_like:query, with_packing_lists: true}" :columns=3 v-if="$store.getters.isShowing('searchOrderSection')">
|
||||
<template slot="list" slot-scope="{data}">
|
||||
<order-component :data="data"></order-component>
|
||||
</template>
|
||||
</list-component>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="row p-b-5 b-b b-grey m-b-10 m-l-0 m-r-0">
|
||||
<div class="col no-padding">
|
||||
<h6>Customers List</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row m-l-0 m-r-0">
|
||||
<div class="col">
|
||||
<list-component key="2" section="customerListSection" :endpoint="route('api.company.list')" :options="{'has_business_module_type': 1}">
|
||||
<template slot="list" slot-scope="{data}">
|
||||
<company-component :data="data"></company-component>
|
||||
</template>
|
||||
</list-component>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<delivery-orders-table-section-component></delivery-orders-table-section-component>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<div class="row d-none" :class="[{'d-flex': !$store.getters.isAdmin}]" v-if="!$store.getters.isAdmin">
|
||||
<div class="row d-none" :class="[{'d-flex': $store.getters.getCompanyModuleType === 7}]" v-if="$store.getters.getCompanyModuleType === 7">
|
||||
<div class="col">
|
||||
<delivery-customer-profile-section-component :company_id="$store.getters.getCompanyId"></delivery-customer-profile-section-component>
|
||||
</div>
|
||||
@@ -1,5 +1,5 @@
|
||||
@extends('layouts.base_portal')
|
||||
@section('inner_content')
|
||||
@include('pages.delivery.customers')
|
||||
@include('pages.delivery.customer')
|
||||
@include('pages.delivery.admin')
|
||||
@endsection
|
||||
Reference in New Issue
Block a user