renamed booking supplier book_id to booking_id

updated bookingSupplier to supplierBooking
updated get supplier api in supplier report
added download button to download report
This commit is contained in:
Jack Goh
2018-07-02 21:26:12 +08:00
parent bd55d385f7
commit 647c42a30e
5 changed files with 77 additions and 14 deletions
+2 -2
View File
@@ -32,8 +32,8 @@ class Booking extends Model
return $this->belongsTo('app\User'); return $this->belongsTo('app\User');
} }
public function bookingSupplier(){ public function supplierBooking(){
return $this->belongsTo('app\BookingSupplier '); return $this->hasOne(SupplierBooking::class);
} }
public function chinaBankSlip(){ public function chinaBankSlip(){
@@ -29,13 +29,15 @@ class BookingSupplierController extends Controller
public function show($id) public function show($id)
{ {
$bookingsupplier = SupplierBooking::has('supplier-booking')->findOrFail($id); $booking = Booking::where('id', $id)->first();
$response = [ if (!$booking){
'supplier-booking' => $bookingsupplier return response()->json(['message' => 'Booking not found'], 404);
]; }
return response()->json($response, 200); $supplier_booking = $booking->supplierBooking()->first();
return response()->json($supplier_booking ,200);
} }
// Only for single booking // Only for single booking
@@ -62,7 +64,7 @@ class BookingSupplierController extends Controller
$booking = Booking::find($booking_id); $booking = Booking::find($booking_id);
// update existing booking supplier if exist // update existing booking supplier if exist
$bookingsupplier = SupplierBooking::where('book_id', $booking_id)->first(); $bookingsupplier = SupplierBooking::where('booking_id', $booking_id)->first();
if (!$bookingsupplier){ if (!$bookingsupplier){
$bookingsupplier = new SupplierBooking(); $bookingsupplier = new SupplierBooking();
@@ -76,7 +78,7 @@ class BookingSupplierController extends Controller
$bookingsupplier->rebate = $rebate; $bookingsupplier->rebate = $rebate;
$bookingsupplier->amountInRMB = $amountInRMB; $bookingsupplier->amountInRMB = $amountInRMB;
$bookingsupplier->rmbBankAmount = $rmbBankAmount; $bookingsupplier->rmbBankAmount = $rmbBankAmount;
$bookingsupplier->book_id = $booking->id; $bookingsupplier->booking_id = $booking->id;
$bookingsupplier->save(); $bookingsupplier->save();
// update booking status // update booking status
+1 -1
View File
@@ -16,7 +16,7 @@ class SupplierBooking extends Model
} }
public function booking(){ public function booking(){
return $this->hasOne('App\Booking'); return $this->belongTo('App\Booking');
} }
public function supplierBookingTtem() public function supplierBookingTtem()
@@ -0,0 +1,34 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class RenameBookingForeignkeyFromSupplierbookingTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('supplier_bookings', function($table)
{
$table->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()
{
//
}
}
@@ -200,7 +200,9 @@
</div> </div>
<el-row :gutter="12" style="text-align:center"> <el-row :gutter="12" style="text-align:center">
<el-col :span="20" style="text-align:center"> <el-col :span="20" style="text-align:center">
<canvas id="myCanvas" v-insert-message="exampleContent"></canvas> <canvas id="myCanvas" ref="myCanvas" v-insert-message="supplier_booking"></canvas>
<br>
<el-button @click="downloadReport()" type="text">Download Now</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
@@ -236,6 +238,7 @@
<script> <script>
import ProgressTrack from '~/components/AdminProgressTrack' import ProgressTrack from '~/components/AdminProgressTrack'
import axios from 'axios' import axios from 'axios'
import Canvas2Image from 'canvas2image'
export default { export default {
components: { components: {
@@ -251,6 +254,8 @@
bia: null, bia: null,
user_bankslip_path: null, user_bankslip_path: null,
}, },
supplier_booking:{
},
supplier: null, supplier: null,
supplier_options: null, supplier_options: null,
exampleContent: "This is TEXT" exampleContent: "This is TEXT"
@@ -278,10 +283,32 @@
}) })
}) })
axios
.get('/api/supplier-booking/' + this.$route.params.id)
.then((response) => {
loading.close()
this.supplier_booking = response.data
}).catch((error) => {
console.log(error)
loading.close()
this.$router.push({
name: 'notfound'
})
})
}, },
methods: { methods: {
downloadReport(){
let canvas = document.getElementById('myCanvas')
var dataString = canvas.toDataURL("image/png");
console.log(dataString)
var link = document.createElement("a");
link.download = 'image';
link.href = dataString;
link.click();
},
completeReport() { completeReport() {
// TODO : send request to change status // TODO : send request to change status
this.loading_btn = true this.loading_btn = true
@@ -356,10 +383,10 @@
ctx.textAlign = "right"; ctx.textAlign = "right";
//// Row 1 //// Row 1
ctx.fillText("Payment Voucher :", column1X, rowHeight[1] - 5); ctx.fillText("Payment Voucher :", column1X, rowHeight[1] - 5);
ctx.fillText("0323", column3X, rowHeight[1] - 5); ctx.fillText(binding.value.id, column3X, rowHeight[1] - 5);
//// Row 2 //// Row 2
ctx.fillText("Date :", column1X, rowHeight[2] - 5); ctx.fillText("Date :", column1X, rowHeight[2] - 5);
ctx.fillText("4 September 2017", column3X, rowHeight[2] - 5); ctx.fillText(binding.value.created_at, column3X, rowHeight[2] - 5);
//// Row 3 //// Row 3
ctx.fillText("Marking :", column1X, rowHeight[3] - 5); ctx.fillText("Marking :", column1X, rowHeight[3] - 5);
ctx.font = "bold 14px Arial"; ctx.font = "bold 14px Arial";
@@ -369,7 +396,7 @@
ctx.font = "13px Arial"; ctx.font = "13px Arial";
//// Row 4 //// Row 4
ctx.fillText("Payment For(Order No.) :", column1X, rowHeight[4] - 5); ctx.fillText("Payment For(Order No.) :", column1X, rowHeight[4] - 5);
ctx.fillText("010707", column3X, rowHeight[4] - 5); ctx.fillText(binding.value.id, column3X, rowHeight[4] - 5);
//// Row 4 //// Row 4
ctx.fillText("Payment For :", column1X, rowHeight[5] - 5); ctx.fillText("Payment For :", column1X, rowHeight[5] - 5);
ctx.fillText("Full Payment", column3X, rowHeight[5] - 5); ctx.fillText("Full Payment", column3X, rowHeight[5] - 5);