diff --git a/app/Booking.php b/app/Booking.php index beae4a40..c63969cc 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -32,8 +32,8 @@ class Booking extends Model return $this->belongsTo('app\User'); } - public function bookingSupplier(){ - return $this->belongsTo('app\BookingSupplier '); + public function supplierBooking(){ + return $this->hasOne(SupplierBooking::class); } public function chinaBankSlip(){ diff --git a/app/Http/Controllers/BookingSupplierController.php b/app/Http/Controllers/BookingSupplierController.php index 763ba1c0..93caaf06 100644 --- a/app/Http/Controllers/BookingSupplierController.php +++ b/app/Http/Controllers/BookingSupplierController.php @@ -29,13 +29,18 @@ class BookingSupplierController extends Controller public function show($id) { - $bookingsupplier = SupplierBooking::has('supplier-booking')->findOrFail($id); + $booking = Booking::where('id', $id)->first(); - $response = [ - 'supplier-booking' => $bookingsupplier - ]; + if (!$booking){ + return response()->json(['message' => 'Booking not found'], 404); + } - return response()->json($response, 200); + $supplier_booking = $booking->supplierBooking()->first(); + $dt = new \DateTime($supplier_booking->created_at); + $supplier_booking->date = $dt->format('j F Y'); + + + return response()->json($supplier_booking ,200); } // Only for single booking @@ -61,7 +66,7 @@ class BookingSupplierController extends Controller $booking = Booking::find($booking_id); // update existing booking supplier if exist - $bookingsupplier = SupplierBooking::where('book_id', $booking_id)->first(); + $bookingsupplier = SupplierBooking::where('booking_id', $booking_id)->first(); if (!$bookingsupplier){ $bookingsupplier = new SupplierBooking(); @@ -72,19 +77,19 @@ class BookingSupplierController extends Controller $bookingsupplier->payment_method = $request->input('payment_method'); $bookingsupplier->transfer_amount = $transfer_amount; $bookingsupplier->rate = $rate; + $bookingsupplier->billing_amount = $billing; + $bookingsupplier->salestax_amount = $sales_tax; $bookingsupplier->rebate = $rebate; $bookingsupplier->amountInRMB = $amountInRMB; $bookingsupplier->rmbBankAmount = $rmbBankAmount; - $bookingsupplier->book_id = $booking->id; + $bookingsupplier->booking_id = $booking->id; $bookingsupplier->save(); // update booking status $booking->status = 4; $booking->admin_status = 4; $booking->save(); - - // TODO : generate a jpg version of report and save the path - + return response()->json($bookingsupplier, 201); } @@ -110,6 +115,7 @@ class BookingSupplierController extends Controller $bookingsupplier->rmbBankAmount = $rmbBankAmount; $bookingsupplier->save(); + /* For multiple booking */ // $supplierbookingitems = $request->input("supplierbookingitem"); // foreach ($bookings as $booking) // { diff --git a/app/Marking.php b/app/Marking.php index 84f70b6a..0984ba5c 100644 --- a/app/Marking.php +++ b/app/Marking.php @@ -7,4 +7,9 @@ use Illuminate\Database\Eloquent\Model; class Marking extends Model { protected $fillable = ['email','marking']; + + public function user() + { + return $this->belongsTo('app\User'); + } } diff --git a/app/SupplierBooking.php b/app/SupplierBooking.php index 9f660105..1fb5c4c5 100644 --- a/app/SupplierBooking.php +++ b/app/SupplierBooking.php @@ -16,7 +16,7 @@ class SupplierBooking extends Model } public function booking(){ - return $this->hasOne('App\Booking'); + return $this->belongTo('App\Booking'); } public function supplierBookingTtem() diff --git a/app/User.php b/app/User.php index 855641bb..27b460ef 100644 --- a/app/User.php +++ b/app/User.php @@ -102,4 +102,8 @@ class User extends Authenticatable implements JWTSubject return $this->hasMany(Booking::class); } + public function marking(){ + return $this->hasOne(Booking::class); + } + } diff --git a/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php b/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php new file mode 100644 index 00000000..f1a1dbd6 --- /dev/null +++ b/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php @@ -0,0 +1,34 @@ +dropForeign(['book_id']); + $table->dropColumn('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/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php b/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php new file mode 100644 index 00000000..15e2f5a2 --- /dev/null +++ b/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php @@ -0,0 +1,31 @@ +double('billing_amount'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php b/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php new file mode 100644 index 00000000..63cafbdd --- /dev/null +++ b/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php @@ -0,0 +1,31 @@ +double('salestax_amount'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/package.json b/package.json index e49dfbf3..ee3f5b8e 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@xkeshi/vue-countdown": "^0.6.0", "axios": "^0.18.0", "bootstrap": "^4.0.0", + "canvas2image": "^1.0.5", "element-ui": "^2.3.9", "jquery": "^3.3.1", "js-cookie": "^2.2.0", @@ -34,7 +35,7 @@ "vue-router": "^3.0.1", "vuex": "^3.0.1", "vuex-router-sync": "^5.0.0", - "webpack": "^3.11.0" + "webpack": "^4.14.0" }, "devDependencies": { "@vue/cli-plugin-eslint": "^3.0.0-beta.6", diff --git a/public/banklogo.png b/public/banklogo.png new file mode 100755 index 00000000..90b6a8c8 Binary files /dev/null and b/public/banklogo.png differ diff --git a/resources/assets/js/components/LocaleDropdown.vue b/resources/assets/js/components/LocaleDropdown.vue index ece0c2bf..16a54033 100644 --- a/resources/assets/js/components/LocaleDropdown.vue +++ b/resources/assets/js/components/LocaleDropdown.vue @@ -27,7 +27,7 @@ Update Rate - + diff --git a/resources/assets/js/pages/admin/booking/supplierReport.vue b/resources/assets/js/pages/admin/booking/supplierReport.vue index eb12d892..3b29933a 100644 --- a/resources/assets/js/pages/admin/booking/supplierReport.vue +++ b/resources/assets/js/pages/admin/booking/supplierReport.vue @@ -200,12 +200,14 @@ - - + + +
+ Download Now
-
+
User BankinSlip @@ -217,11 +219,11 @@ -
+
- Edit + Edit Done @@ -237,6 +239,7 @@ \ 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 445b12dd..61a54f43 100644 --- a/resources/assets/js/pages/admin/booking/uploadInvoice.vue +++ b/resources/assets/js/pages/admin/booking/uploadInvoice.vue @@ -5,7 +5,7 @@


-
+

Upload Invoice

@@ -181,7 +181,7 @@
- +
@@ -250,7 +250,6 @@ amount: null, bia: null, user_bankslip_path: null, - user_po_path: null, }, supplier: null, supplier_options: null, @@ -316,6 +315,7 @@ .then((response) => { loading.close() this.booking_details = response.data + console.log(this.booking_details) }).catch((error) => { console.log(error) loading.close() @@ -356,6 +356,9 @@ }, handlePreview(file) { console.log(file); + }, + handleExceed(file){ + console.log(file) } } } diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index 677b97a1..26f27f52 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -1,4 +1,7 @@