From 9432cdaaadcc020e83e90078c8c2dc558749bb2f Mon Sep 17 00:00:00 2001 From: Jack Goh Date: Wed, 27 Jun 2018 18:28:58 +0800 Subject: [PATCH 1/4] updated upload invoice UI --- .../js/pages/admin/booking/completed.vue | 165 +++++++ .../js/pages/admin/booking/uploadInvoice.vue | 404 ++++++++++++++++-- resources/assets/js/router/routes.js | 3 +- 3 files changed, 539 insertions(+), 33 deletions(-) create mode 100644 resources/assets/js/pages/admin/booking/completed.vue diff --git a/resources/assets/js/pages/admin/booking/completed.vue b/resources/assets/js/pages/admin/booking/completed.vue new file mode 100644 index 00000000..42585d3c --- /dev/null +++ b/resources/assets/js/pages/admin/booking/completed.vue @@ -0,0 +1,165 @@ + + + diff --git a/resources/assets/js/pages/admin/booking/uploadInvoice.vue b/resources/assets/js/pages/admin/booking/uploadInvoice.vue index 37196cb3..7a02b347 100644 --- a/resources/assets/js/pages/admin/booking/uploadInvoice.vue +++ b/resources/assets/js/pages/admin/booking/uploadInvoice.vue @@ -1,13 +1,20 @@ @@ -55,20 +253,162 @@ } + \ No newline at end of file diff --git a/resources/assets/js/router/routes.js b/resources/assets/js/router/routes.js index e6b8f8de..9af1c989 100644 --- a/resources/assets/js/router/routes.js +++ b/resources/assets/js/router/routes.js @@ -30,6 +30,7 @@ const Supplier = () => import('~/pages/admin/booking/supplierBooking').then(m => const SupplierReport = () => import('~/pages/admin/booking/supplierReport').then(m => m.default || m) const UploadCNSlip = () => import('~/pages/admin/booking/uploadChinaBankslip').then(m => m.default || m) const UploadInvoice = () => import('~/pages/admin/booking/uploadInvoice').then(m => m.default || m) +const adminCompleted = () => import('~/pages/admin/booking/completed').then(m => m.default || m) // const Completed = () => import('~/pages/booking/uploadUserBankSlip').then(m => m.default || m) const AdminHome = () => import('~/pages/admin/home').then(m => m.default || m) @@ -75,7 +76,7 @@ export default [ { path: '/booking/:id/supplier-report', name: 'booking.admin.supplier.report', component: SupplierReport }, { path: '/booking/:id/upload-cn-bankslip', name: 'booking.admin.cnslip', component: UploadCNSlip }, { path: '/booking/:id/upload-invoice', name: 'booking.admin.invoice', component: UploadInvoice }, - // { path: '/booking/:id/complete', name: 'booking.complete', component: Completed }, + { path: '/booking/:id/admin/complete', name: 'booking.admin.complete', component: adminCompleted }, { path: '/admin', name: 'admin.home', component: AdminHome }, { path: '*', name: 'notfound', component: NotFound } From 2b4ddadfcb3a115a175ebfecf931ad335f315d52 Mon Sep 17 00:00:00 2001 From: Jack Goh Date: Thu, 28 Jun 2018 10:06:26 +0800 Subject: [PATCH 2/4] rename book_id in po table to booking_id to perform ORM relantionship added relationship between booking and po updated settings shows for different role added function to display po for admin --- app/Booking.php | 4 + app/Http/Controllers/BookingController.php | 7 ++ app/PurchaseOrder.php | 5 + ..._rename_booking_foreignkey_in_po_table.php | 33 ++++++ .../js/pages/admin/booking/uploadInvoice.vue | 4 +- resources/assets/js/pages/settings/index.vue | 100 ++++++++++-------- routes/api.php | 3 + 7 files changed, 110 insertions(+), 46 deletions(-) create mode 100644 database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php diff --git a/app/Booking.php b/app/Booking.php index a6be11c4..6daa1d89 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -43,5 +43,9 @@ class Booking extends Model public function userBankSlip(){ return $this->hasOne(UserBankSlip::class); } + + public function purchaseOrder(){ + return $this->hasOne(PurchaseOrder::class); + } } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 2a0daed0..396af86e 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -427,6 +427,13 @@ class BookingController extends Controller return response()->json(['message'=>'Success'],200); } + public function showPurchaseOrder($id){ + $booking = Booking::where('id',$id)->first(); + $user_po = $booking->purchaseOrder()->first(); + + return response()->json(['po_path'=> $user_po],200); + } + public function delete(Booking $book_id) { $booking = Booking::where('user_id', Auth::user())->where('id', $book_id)->firstOrFail(); diff --git a/app/PurchaseOrder.php b/app/PurchaseOrder.php index 72345a6f..71227d02 100644 --- a/app/PurchaseOrder.php +++ b/app/PurchaseOrder.php @@ -7,4 +7,9 @@ use Illuminate\Database\Eloquent\Model; class PurchaseOrder extends Model { protected $fillable = ['image_url','amount','booking_id']; + + public function booking() + { + return $this->belongsTo(Booking::class); + } } diff --git a/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php b/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php new file mode 100644 index 00000000..27f8b18a --- /dev/null +++ b/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php @@ -0,0 +1,33 @@ +dropForeign('book_id'); + $table->integer('booking_id')->unsigned(); + $table->foreign('booking_id')->references('id')->on('bookings'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/resources/assets/js/pages/admin/booking/uploadInvoice.vue b/resources/assets/js/pages/admin/booking/uploadInvoice.vue index 7a02b347..1c05fbc3 100644 --- a/resources/assets/js/pages/admin/booking/uploadInvoice.vue +++ b/resources/assets/js/pages/admin/booking/uploadInvoice.vue @@ -345,7 +345,7 @@ }) axios - .get('/api/setting-supplier/') + .get('/api/booking/'+ this.$route.params.id +'/po') .then((response) => { loading.close() this.supplier_options = response.data @@ -359,7 +359,7 @@ }, methods: { - submitChinaSlip(formName) { + uploadPo(formName) { this.loading_btn = true this.$refs[formName].validate((valid) => { diff --git a/resources/assets/js/pages/settings/index.vue b/resources/assets/js/pages/settings/index.vue index dcdac990..9dfd7811 100644 --- a/resources/assets/js/pages/settings/index.vue +++ b/resources/assets/js/pages/settings/index.vue @@ -4,9 +4,8 @@ @@ -22,50 +21,63 @@ + .settings-card .card-body { + padding: 0; + } + \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index 1b2ca525..fe413583 100644 --- a/routes/api.php +++ b/routes/api.php @@ -103,6 +103,9 @@ Route::group(['middleware' => ['role:admin']], function() { Route::post('/booking/{id}/upload-china-bankslip','ChinaBankSlipController@store'); Route::patch('/booking/{id}/update-china-bankslip','ChinaBankSlipController@update'); + + Route::get('/booking/{id}/po', 'BookingController@showPurchaseOrder'); + }); From 1d740a08ea84ba2d2f48ebdddc29575a27bc192b Mon Sep 17 00:00:00 2001 From: Jack Goh Date: Thu, 28 Jun 2018 10:33:00 +0800 Subject: [PATCH 3/4] added waiting invoice and po frontend --- app/Http/Controllers/BookingController.php | 2 +- resources/assets/js/components/AdminProgressTrack.vue | 1 + resources/assets/js/components/ProgressTrack.vue | 1 + resources/assets/js/pages/home.vue | 2 +- resources/assets/js/router/routes.js | 3 +++ 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 396af86e..0aa06493 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -422,7 +422,7 @@ class BookingController extends Controller public function confirmPurchaseOrder($id){ $booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first(); - $booking->status = 5; + $booking->status = 6; $booking->save(); return response()->json(['message'=>'Success'],200); } diff --git a/resources/assets/js/components/AdminProgressTrack.vue b/resources/assets/js/components/AdminProgressTrack.vue index dfae9647..3cff63df 100644 --- a/resources/assets/js/components/AdminProgressTrack.vue +++ b/resources/assets/js/components/AdminProgressTrack.vue @@ -6,6 +6,7 @@ + diff --git a/resources/assets/js/components/ProgressTrack.vue b/resources/assets/js/components/ProgressTrack.vue index 00c85c5d..0161e8b0 100644 --- a/resources/assets/js/components/ProgressTrack.vue +++ b/resources/assets/js/components/ProgressTrack.vue @@ -6,6 +6,7 @@ + diff --git a/resources/assets/js/pages/home.vue b/resources/assets/js/pages/home.vue index 26528fe4..a0b23006 100644 --- a/resources/assets/js/pages/home.vue +++ b/resources/assets/js/pages/home.vue @@ -57,7 +57,7 @@
X1 :
-
1.56
+
1.70
1.64
diff --git a/resources/assets/js/router/routes.js b/resources/assets/js/router/routes.js index 9af1c989..b7089932 100644 --- a/resources/assets/js/router/routes.js +++ b/resources/assets/js/router/routes.js @@ -23,6 +23,7 @@ const Transfer = () => import('~/pages/booking/transfer').then(m => m.default || const UploadPo = () => import('~/pages/booking/uploadPo').then(m => m.default || m) const PoComplete = () => import('~/pages/booking/poComplete').then(m => m.default || m) const Completed = () => import('~/pages/booking/completed').then(m => m.default || m) +const PurchaseOrder = () => import('~/pages/booking/po').then(m => m.default || m) // Admin booking const Verification = () => import('~/pages/admin/booking/verification').then(m => m.default || m) @@ -61,8 +62,10 @@ export default [ { path: '/booking/:id/transfer', name: 'booking.user.transfer', component: Transfer }, { path: '/booking/:id/upload-po', name: 'booking.user.uploadpo', component: UploadPo }, { path: '/booking/:id/po-complete', name: 'booking.user.pocomplete', component: PoComplete }, + { path: '/booking/:id/po', name: 'booking.complete', component: PurchaseOrder }, { path: '/booking/:id/complete', name: 'booking.complete', component: Completed }, + // { path: '/admin', // component: Admin, // children: [ From 0e212f2751a241be0f0aa2228ac54264d46150d6 Mon Sep 17 00:00:00 2001 From: Jack Goh Date: Thu, 28 Jun 2018 10:33:21 +0800 Subject: [PATCH 4/4] added waiting po page --- resources/assets/js/pages/booking/po.vue | 115 +++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 resources/assets/js/pages/booking/po.vue diff --git a/resources/assets/js/pages/booking/po.vue b/resources/assets/js/pages/booking/po.vue new file mode 100644 index 00000000..fe69da23 --- /dev/null +++ b/resources/assets/js/pages/booking/po.vue @@ -0,0 +1,115 @@ + + +