diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 6658cb6e..b675e7b5 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -452,16 +452,16 @@ class BookingController extends Controller /* Validation */ if (!$booking) { - return response()->json(['message'=>'Access denied'], 200); + return response()->json(['message'=>'Access denied'], 403); } $validator = Validator::make($request->all(), [ - 'file' => 'image|mimes:jpg,jpeg,bmp,png,xls,xlsx,doc,docx,pdf' + 'file' => 'mimes:jpg,jpeg,bmp,png,xls,xlsx,doc,docx,pdf' ]); if($validator->fails()) { - return response()->json(['message'=>'Incorrect format'],200); + return response()->json(['message'=>'Incorrect format'],400); } $validator = Validator::make($request->all(), [ @@ -475,7 +475,7 @@ class BookingController extends Controller if(!$user_input_file = $request->file('file')) { - return response()->json(['message' => 'No file detected'], 400); + return response()->json(['message' => 'No file detected'], 404); } /* End Validation */ @@ -495,7 +495,8 @@ class BookingController extends Controller $user_po->save(); $booking->status = 6; - $booking->admin_status = 7; + // $booking->admin_status = 7; + $booking->admin_status = 6; $booking->save(); return response()->json(['message'=>'Success'],200); @@ -678,16 +679,16 @@ class BookingController extends Controller /* Validation */ if (!$booking) { - return response()->json(['message'=>'Access denied'], 200); + return response()->json(['message'=>'Access denied'], 403); } $validator = Validator::make($request->all(), [ - 'invoice_path' => 'mimes:jpg,jpeg,bmp,png,pdf,doc,docx' + 'invoice_path' => 'mimes:jpg,jpeg,bmp,png,xls,xlsx,doc,docx,pdf' ]); if($validator->fails()) { - return response()->json(['message'=>'Incorrect format'],200); + return response()->json(['message'=>'Incorrect format'],400); } $validator = Validator::make($request->all(), [ diff --git a/resources/assets/js/pages/admin/booking/bookingDetail.vue b/resources/assets/js/pages/admin/booking/bookingDetail.vue new file mode 100644 index 00000000..82d2b812 --- /dev/null +++ b/resources/assets/js/pages/admin/booking/bookingDetail.vue @@ -0,0 +1,262 @@ + + + \ No newline at end of file diff --git a/resources/assets/js/pages/admin/booking/uploadInvoice.vue b/resources/assets/js/pages/admin/booking/uploadInvoice.vue index 8d08a264..cfc0652f 100644 --- a/resources/assets/js/pages/admin/booking/uploadInvoice.vue +++ b/resources/assets/js/pages/admin/booking/uploadInvoice.vue @@ -192,6 +192,7 @@ @@ -199,7 +200,7 @@
Drop file here or click to upload
-
jpg/png/pdf files with a size less than 3mb
+
bmp/jpeg/jpg/png/pdf/xls/xlxs/doc/docx files with a size less than 3mb

@@ -369,12 +370,16 @@ }, handleRemove(file, fileList) { console.log(file, fileList); + // Should send some reqeust to controller to delete the file }, handlePreview(file) { console.log(file); }, handleExceed(file){ console.log(file) + }, + uploadError(file,fileList){ + this.$message.warning(`Incorrect file format or file size too big.`) } } } diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index d9e5f9b5..80b66878 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -86,7 +86,7 @@ export default { switch (this.status) { case 1: this.$router.push({ - name: 'booking.admin.pending', + name: 'booking.admin.booking.detail', params: {id: booking_id } }) break diff --git a/resources/assets/js/pages/booking/uploadPo.vue b/resources/assets/js/pages/booking/uploadPo.vue index 97f104fc..c786eaa7 100644 --- a/resources/assets/js/pages/booking/uploadPo.vue +++ b/resources/assets/js/pages/booking/uploadPo.vue @@ -20,9 +20,10 @@ @@ -308,8 +309,6 @@ export default { axios .post('/api/booking/' + this.$route.params.id + '/confirm-po') .then((response) => { - console.log(12); - console.log(response); this.$message({ showClose: true, message: 'Your PO has been uploaded. We are processing the Invoice.', @@ -332,6 +331,7 @@ export default { }, handleRemove (file, fileList) { console.log(file, fileList) + // Should send some reqeust to controller to delete the file }, handlePreview (file) { console.log(file) @@ -341,6 +341,9 @@ export default { }, beforeRemove (file, fileList) { return this.$confirm(`确定移除 ${file.name}?`) + }, + uploadError(file,fileList){ + this.$message.warning(`Incorrect file format or file size too big.`) } } } diff --git a/resources/assets/js/router/routes.js b/resources/assets/js/router/routes.js index 4e2231a0..3bec3b2b 100644 --- a/resources/assets/js/router/routes.js +++ b/resources/assets/js/router/routes.js @@ -26,6 +26,7 @@ const Completed = () => import('~/pages/booking/completed').then(m => m.default const PurchaseOrder = () => import('~/pages/booking/po').then(m => m.default || m) // Admin booking +const BookingDetail = () => import('~/pages/admin/booking/bookingDetail').then(m => m.default || m) const Verification = () => import('~/pages/admin/booking/verification').then(m => m.default || m) const Supplier = () => import('~/pages/admin/booking/supplierBooking').then(m => m.default || m) const SupplierReport = () => import('~/pages/admin/booking/supplierReport').then(m => m.default || m) @@ -72,6 +73,7 @@ export default [ { path: '/booking/:id/complete', name: 'booking.user.complete', component: Completed }, // Admin booking + { path: '/booking/:id/booking-detail', name: 'booking.admin.booking.detail', component: BookingDetail }, { path: '/booking/:id/verification', name: 'booking.admin.verification', component: Verification }, { path: '/booking/:id/supplier', name: 'booking.admin.supplier', component: Supplier }, { path: '/booking/:id/supplier-report', name: 'booking.admin.supplier.report', component: SupplierReport },