Completed Multi Datagrid Component
This commit is contained in:
parent
12c94c21ed
commit
ac5fd1a36b
|
|
@ -2,12 +2,15 @@
|
|||
|
||||
namespace Webkul\Admin\DataGrids;
|
||||
|
||||
use Webkul\Ui\DataGrid\DataGrid;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Webkul\Sales\Models\OrderAddress;
|
||||
use Webkul\Ui\DataGrid\DataGrid;
|
||||
use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus;
|
||||
|
||||
class OrderDataGrid extends DataGrid
|
||||
{
|
||||
use ProvideDataGridPlus;
|
||||
|
||||
protected $index = 'id';
|
||||
|
||||
protected $sortOrder = 'desc';
|
||||
|
|
@ -15,15 +18,15 @@ class OrderDataGrid extends DataGrid
|
|||
public function prepareQueryBuilder()
|
||||
{
|
||||
$queryBuilder = DB::table('orders')
|
||||
->leftJoin('addresses as order_address_shipping', function($leftJoin) {
|
||||
->leftJoin('addresses as order_address_shipping', function ($leftJoin) {
|
||||
$leftJoin->on('order_address_shipping.order_id', '=', 'orders.id')
|
||||
->where('order_address_shipping.address_type', OrderAddress::ADDRESS_TYPE_SHIPPING);
|
||||
->where('order_address_shipping.address_type', OrderAddress::ADDRESS_TYPE_SHIPPING);
|
||||
})
|
||||
->leftJoin('addresses as order_address_billing', function($leftJoin) {
|
||||
->leftJoin('addresses as order_address_billing', function ($leftJoin) {
|
||||
$leftJoin->on('order_address_billing.order_id', '=', 'orders.id')
|
||||
->where('order_address_billing.address_type', OrderAddress::ADDRESS_TYPE_BILLING);
|
||||
->where('order_address_billing.address_type', OrderAddress::ADDRESS_TYPE_BILLING);
|
||||
})
|
||||
->addSelect('orders.id','orders.increment_id', 'orders.base_sub_total', 'orders.base_grand_total', 'orders.created_at', 'channel_name', 'status')
|
||||
->addSelect('orders.id', 'orders.increment_id', 'orders.base_sub_total', 'orders.base_grand_total', 'orders.created_at', 'channel_name', 'status')
|
||||
->addSelect(DB::raw('CONCAT(' . DB::getTablePrefix() . 'order_address_billing.first_name, " ", ' . DB::getTablePrefix() . 'order_address_billing.last_name) as billed_to'))
|
||||
->addSelect(DB::raw('CONCAT(' . DB::getTablePrefix() . 'order_address_shipping.first_name, " ", ' . DB::getTablePrefix() . 'order_address_shipping.last_name) as shipped_to'));
|
||||
|
||||
|
|
@ -92,19 +95,19 @@ class OrderDataGrid extends DataGrid
|
|||
'filterable' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if ($value->status == 'processing') {
|
||||
return '<span class="badge badge-md badge-success">'. trans('admin::app.sales.orders.order-status-processing') .'</span>';
|
||||
return '<span class="badge badge-md badge-success">' . trans('admin::app.sales.orders.order-status-processing') . '</span>';
|
||||
} elseif ($value->status == 'completed') {
|
||||
return '<span class="badge badge-md badge-success">'. trans('admin::app.sales.orders.order-status-success') .'</span>';
|
||||
return '<span class="badge badge-md badge-success">' . trans('admin::app.sales.orders.order-status-success') . '</span>';
|
||||
} elseif ($value->status == "canceled") {
|
||||
return '<span class="badge badge-md badge-danger">'. trans('admin::app.sales.orders.order-status-canceled') .'</span>';
|
||||
return '<span class="badge badge-md badge-danger">' . trans('admin::app.sales.orders.order-status-canceled') . '</span>';
|
||||
} elseif ($value->status == "closed") {
|
||||
return '<span class="badge badge-md badge-info">'. trans('admin::app.sales.orders.order-status-closed') .'</span>';
|
||||
return '<span class="badge badge-md badge-info">' . trans('admin::app.sales.orders.order-status-closed') . '</span>';
|
||||
} elseif ($value->status == "pending") {
|
||||
return '<span class="badge badge-md badge-warning">'. trans('admin::app.sales.orders.order-status-pending') .'</span>';
|
||||
return '<span class="badge badge-md badge-warning">' . trans('admin::app.sales.orders.order-status-pending') . '</span>';
|
||||
} elseif ($value->status == "pending_payment") {
|
||||
return '<span class="badge badge-md badge-warning">'. trans('admin::app.sales.orders.order-status-pending-payment') .'</span>';
|
||||
return '<span class="badge badge-md badge-warning">' . trans('admin::app.sales.orders.order-status-pending-payment') . '</span>';
|
||||
} elseif ($value->status == "fraud") {
|
||||
return '<span class="badge badge-md badge-danger">'. trans('admin::app.sales.orders.order-status-fraud') . '</span>';
|
||||
return '<span class="badge badge-md badge-danger">' . trans('admin::app.sales.orders.order-status-fraud') . '</span>';
|
||||
}
|
||||
},
|
||||
]);
|
||||
|
|
@ -137,4 +140,4 @@ class OrderDataGrid extends DataGrid
|
|||
'icon' => 'icon eye-icon',
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace Webkul\Admin\Http\Controllers\Sales;
|
||||
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Webkul\Admin\DataGrids\OrderDataGrid;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
use \Webkul\Sales\Repositories\OrderCommentRepository;
|
||||
|
|
@ -58,6 +59,10 @@ class OrderController extends Controller
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
if (request()->ajax()) {
|
||||
return app(OrderDataGrid::class)->toJson();
|
||||
}
|
||||
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@
|
|||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
@inject('orderGrid', 'Webkul\Admin\DataGrids\OrderDataGrid')
|
||||
{!! $orderGrid->render() !!}
|
||||
<datagrid-plus src="{{ route('admin.sales.orders.index') }}"></datagrid-plus>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -37,5 +36,5 @@
|
|||
@stop
|
||||
|
||||
@push('scripts')
|
||||
@include('admin::export.export', ['gridName' => $orderGrid])
|
||||
@include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\OrderDataGrid')])
|
||||
@endpush
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=eb0a3b5cb55832965c59",
|
||||
"/js/ui.js": "/js/ui.js?id=928bc19bf654fa8ff6ee",
|
||||
"/css/ui.css": "/css/ui.css?id=6d93a4a052e38d6aa795"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,3 @@
|
|||
Route::view('/ui-kit', 'ui::partials.ui-kit');
|
||||
|
||||
Route::view('/helper-classess', 'ui::partials.helper-classes')->name('ui.helper.classes');
|
||||
|
||||
Route::get('test1', function () {
|
||||
return app('Webkul\Admin\DataGrids\ProductDataGrid')->toJson();
|
||||
})->name('ui.test1');
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div v-if="isDataLoaded" :key="dataGridIndex">
|
||||
<div class="table" v-if="isDataLoaded" :key="dataGridIndex">
|
||||
<div class="grid-container">
|
||||
<div class="datagrid-filters">
|
||||
<div class="filter-left">
|
||||
|
|
@ -685,7 +685,11 @@
|
|||
|
||||
<div
|
||||
class="pagination shop mt-50"
|
||||
v-if="typeof paginated !== 'undefined' && paginated"
|
||||
v-if="
|
||||
typeof paginated !== 'undefined' &&
|
||||
paginated &&
|
||||
records.data.length > 0
|
||||
"
|
||||
>
|
||||
<a
|
||||
v-for="(link, index) in records.links"
|
||||
|
|
@ -712,7 +716,7 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
props: ["csrf", "src"],
|
||||
props: ["src"],
|
||||
|
||||
data: function() {
|
||||
return {
|
||||
|
|
@ -757,6 +761,8 @@ export default {
|
|||
},
|
||||
|
||||
mounted: function() {
|
||||
this.getCsrf();
|
||||
|
||||
this.hitUrl();
|
||||
},
|
||||
|
||||
|
|
@ -1485,6 +1491,16 @@ export default {
|
|||
} else {
|
||||
e.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
getCsrf: function() {
|
||||
let token = document.head.querySelector('meta[name="csrf-token"]');
|
||||
|
||||
if (token) {
|
||||
this.csrf = token.content;
|
||||
} else {
|
||||
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue