From ae7bf422dee9dcd0b397a70e86d02ad4b80f8640 Mon Sep 17 00:00:00 2001 From: lonetrinity Date: Tue, 24 Jul 2018 12:30:03 +0800 Subject: [PATCH 1/3] pagination for admin booking table --- resources/assets/js/pages/admin/home.vue | 28 ++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index 501256b5..4f0b1f93 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -47,6 +47,15 @@ +
+ + Previous + + Page {{pagination.current_page}} of {{pagination.last_page}} + + Next + +
@@ -59,9 +68,10 @@ export default { data () { return { status: null, + pagination: [], bookingTable: [ ], - url: 'api/admin/booking', + url: 'api/admin/booking', loading_btn: false, } }, @@ -80,7 +90,7 @@ export default { this.loading_btn = true axios.get(this.url).then(response => { this.loading_btn = false; - this.bookingTable = response.data + this.bookingTable = response.data.data this.$message({ showClose: true, message: 'Booking is updated', @@ -89,6 +99,20 @@ export default { }) }) }, + makePagination(data){ + let pagination ={ + current_page: data.current_page, + last_page: data.last_page, + next_page_url: data.next_page_url, + prev_page_url: data.prev_page_url + } + this.pagination = pagination + console.log(this.pagination) + }, + fetchPaginateBooking(url) { + this.url = url + this.getBooking() + }, filterHandlerStatus (value, row, column) { const status = row.track_status; if(value ==="Success") From 74e602836bbf3d546adf4de326e27890ee87f8f5 Mon Sep 17 00:00:00 2001 From: lonetrinity Date: Tue, 24 Jul 2018 14:10:31 +0800 Subject: [PATCH 2/3] fix pagination for admin booking table --- app/Http/Controllers/BookingController.php | 2 +- resources/assets/js/pages/admin/home.vue | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 05ce2205..6efd7281 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -80,7 +80,7 @@ class BookingController extends Controller $user = Auth::user(); $bookings = Booking::select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status') ->orderby('updated_at','desc') - ->get(); + ->paginate(10); // reformat to fit frontend structure foreach ($bookings as $booking) { diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index 4f0b1f93..e2bbb1d2 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -67,11 +67,11 @@ export default { middleware: 'admin', data () { return { - status: null, - pagination: [], - bookingTable: [ - ], + status: null, + prev_page_url: null, + bookingTable: [], url: 'api/admin/booking', + pagination: [], loading_btn: false, } }, @@ -79,10 +79,12 @@ export default { this.getBooking() }, methods: { - getBooking() { + getBooking(){ let $this = this axios.get(this.url).then(response => { - this.bookingTable = response.data + this.bookingTable = response.data.data + $this.makePagination(response.data) + console.log(response) }) }, RefreshBooking() { From 978df88b0af27fee3c4c4de277e3012e36d653bc Mon Sep 17 00:00:00 2001 From: lonetrinity Date: Tue, 24 Jul 2018 14:15:01 +0800 Subject: [PATCH 3/3] fixTWo pagination for admin booking table --- resources/assets/js/pages/admin/home.vue | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index e2bbb1d2..8c689d93 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -67,11 +67,10 @@ export default { middleware: 'admin', data () { return { - status: null, - prev_page_url: null, + status: null, bookingTable: [], url: 'api/admin/booking', - pagination: [], + pagination: {prev_page_url: null}, loading_btn: false, } },