removed multiple booking on supplier booking controller

WIP supplier booking report in image file
WIP edit report page
WIP upload chinabankslip
This commit is contained in:
Jack Goh
2018-06-27 15:32:01 +08:00
parent 3ce9fdf9db
commit 390862a8be
3 changed files with 361 additions and 46 deletions
@@ -80,28 +80,10 @@ class BookingSupplierController extends Controller
// update booking status
$booking->status = 5;
$booking->admin_status = 4;
$booking->save();
$booking->save();
// TODO : generate a jpg version of report and save the path
//// one bookingsupplier has many booking
// $bookings = $request->input("booking");
// foreach ($bookings as $booking)
// {
// $bookingsupplierbooking = new Booking(array(
// 'book_id' => $booking->id,
// 'supplierbooking_id' => $supplier->id
// ));
// $bookingsupplierbooking->save();
// $new_supplierbooking = new SupplierBookingItem(array(
// 'book_id' => $booking->id,
// 'bank_in_amount'=>$booking['bank_in_amount'],
// 'date'=>$booking['date'],
// 'details'=>$booking['details'],
// 'supplierbooking_id' => $supplier->id
// ));
// $new_supplierbooking->save();
// }
return response()->json($bookingsupplier, 201);
}
@@ -202,6 +202,27 @@
<el-col :span="20" style="text-align:center">
</el-col>
</el-row>
</el-card>
<br>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>User BankinSlip</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12">
<el-col :span="22" style="text-align:center">
<img v-bind:src="booking_details.user_bankslip_path" class="image">
</el-col>
</el-row>
</el-card>
<br>
<el-card class="box-card">
<el-row :gutter="12">
<el-col :span="22" style="text-align:center">
<el-button :loading="loading_btn" @click="editReport" type="primary">Edit</el-button>
<el-button :loading="loading_btn" @click="completeReport" type="success">Done</el-button>
</el-col>
</el-row>
</el-card>
@@ -223,7 +244,7 @@
},
data() {
return {
status: 3,
status: 4,
loading_btn: false,
booking_details: {
id: null,
@@ -262,6 +283,13 @@
},
methods: {
completeReport(){
// TODO : send request to change status
this.$router.push({
name: 'booking.admin.cnslip',
params: {id: this.$route.params.id }
})
}
}
}
@@ -1,13 +1,13 @@
<template>
<el-main>
<progress-track v-model="status"/>
<progress-track v-model="status" />
<div align="center">
<h4 style="margin-top:5%;">Transfer In Progress</h4>
<h4 style="margin-top:5%;"></h4>
<br>
<h5> ETA : 3 days 14 Hours </h5>
<h5> Upload China Bankslip To Customer </h5>
<br>
<el-button type="primary" @click="$router.go(-1)">Go Back</el-button>
<!-- <el-button type="primary" @click="$router.go(-1)">Go Back</el-button> -->
</div>
<br>
<el-row justify="center" align="center">
@@ -16,7 +16,165 @@
<span>Order Details</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12">
<div class="el-row" style="margin-left: -6px; margin-right: -6px;">
<div class="el-col el-col-12" style="padding-left: 6px; padding-right: 6px;">
<div class="el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition" align="center">
<div class="el-table__body-wrapper is-scrolling-none">
<table class="el-table__body" style="width: 400px;" cellspacing="0" cellpadding="0" border="0">
<colgroup>
<col name="el-table_2_column_9" width="200">
<col name="el-table_2_column_10" width="200">
</colgroup>
<tbody>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell">Order Number :</div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell">{{ booking_details.id }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell">Date :</div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell">{{ booking_details.created_at }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell">Customer Marking :</div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell">CIEF/150ECE</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell"></div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell"></div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell">Term :</div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell">{{ booking_details.term }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_2_column_9 is-right ">
<div class="cell"></div>
</td>
<td class="el-table_2_column_10 is-left ">
<div class="cell"></div>
</td>
</tr>
<!---->
</tbody>
</table>
<!---->
<!---->
</div>
<!---->
<!---->
<!---->
<!---->
<div class="el-table__column-resize-proxy" style="display: none;"></div>
</div>
</div>
<div class="el-col el-col-12" style="padding-left: 6px; padding-right: 6px;">
<div class="el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition" align="center">
<div class="hidden-columns">
<div></div>
<div></div>
</div>
<!---->
<div class="el-table__body-wrapper is-scrolling-none">
<table class="el-table__body" style="width: 400px;" cellspacing="0" cellpadding="0" border="0">
<colgroup>
<col name="el-table_3_column_11" width="200">
<col name="el-table_3_column_12" width="200">
</colgroup>
<tbody>
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell">CNY/RMB :</div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">CNY {{ booking_details.amount }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell">+ Service Charge :</div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">CNY {{ booking_details.service_charge }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell">/ RATE :</div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">{{ booking_details.rate }}</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell"></div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">MYR {{ booking_details.bia }}</div>
</td>
</tr>
<!-- <tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell">+ GST 6% :</div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">MYR 4,430.88</div>
</td>
</tr> -->
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell"></div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell">
<b>MYR {{ booking_details.bia }}</b>
</div>
</td>
</tr>
<tr class="el-table__row">
<td class="el-table_3_column_11 is-right ">
<div class="cell"></div>
</td>
<td class="el-table_3_column_12 is-left ">
<div class="cell"></div>
</td>
</tr>
<!---->
</tbody>
</table>
<!---->
<!---->
</div>
<!---->
<!---->
<!---->
<!---->
<div class="el-table__column-resize-proxy" style="display: none;"></div>
</div>
</div>
</div>
<!-- <el-row :gutter="12">
<el-col :span="12">
<el-table :data="bookingConfirmTable" :show-header="false" align="center">
<el-table-column prop="data1" align="right" width="200" />
@@ -29,7 +187,7 @@
<el-table-column prop="data2" align="left" width="200" />
</el-table>
</el-col>
</el-row>
</el-row> -->
</el-card>
</el-row>
<br>
@@ -37,12 +195,47 @@
<el-row justify="center" align="center">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>BankinSlip</span>
<span>Supplier Form</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12">
<el-col :span="22" style="text-align:center">
<img src="http://via.placeholder.com/600x400" class="image">
<el-row :gutter="12" style="text-align:center">
<el-col :span="20" style="text-align:center">
<el-form ref="supplierBookingForm" :model="supplierBookingForm" :rules="rules">
<div align="center">
<!-- upload image -->
<el-upload :action="'/api/booking/' + booking_id + '/upload-user-bankslip'" :on-preview="handlePictureCardPreview" :on-remove="handleRemove"
list-type="picture-card" align="center">
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img :src="dialogImageUrl" width="100%" alt="">
</el-dialog>
<br>
<!-- upload image end -->
<el-form-item prop="supplier">
<el-select prop="supplier" v-model="supplierBookingForm.supplier" placeholder="Choose Supplier">
<el-option v-for="item in supplier_options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="rate">
<el-input v-model="supplierBookingForm.rate" type="text" placeholder="Rate" style="width: 80%" />
</el-form-item>
<el-form-item prop="rebate">
<el-input v-model="supplierBookingForm.rebate" type="text" placeholder="Rebate" style="width: 80%" />
</el-form-item>
<el-form-item prop="transfer_amount">
<el-input v-model="supplierBookingForm.transfer_amount" type="text" placeholder="Payment Amount" style="width: 80%" />
</el-form-item>
<el-form-item>
<el-button :loading="loading_btn" type="primary" @click="generateReport('supplierBookingForm')">Generate Report</el-button>
</el-form-item>
</div>
</el-form>
</el-col>
</el-row>
</el-card>
@@ -55,20 +248,132 @@
}
</style>
<script>
import VueCountdown from '@dmaksimovic/vue-countdown'
import ProgressTrack from '~/components/AdminProgressTrack'
import ProgressTrack from '~/components/AdminProgressTrack'
import axios from 'axios'
export default {
components: {
'progress-track': ProgressTrack
},
data () {
return {
status: 4
export default {
components: {
'progress-track': ProgressTrack
},
data() {
return {
status: 5,
loading_btn: false,
booking_details: {
id: null,
amount: null,
bia: null,
user_bankslip_path: null,
},
supplier: null,
supplier_options: null,
supplierBookingForm: {
supplier: null,
amount: null,
rebate: null,
rate: null,
transfer_amount: null,
},
value: '',
rules: {
supplier: [{
required: true,
message: 'Please input amount',
trigger: 'change'
}],
rebate: [{
required: true,
message: 'Please input bank name',
trigger: 'change'
}],
rate: [{
required: true,
message: 'Please input account name',
trigger: 'change'
}],
payment_amount: [{
required: true,
message: 'Please input branch',
trigger: 'change'
}]
},
}
},
beforeCreate() {
const loading = this.$loading({
lock: true,
text: 'Please wait..',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
axios
.get('/api/admin/booking/' + this.$route.params.id)
.then((response) => {
loading.close()
this.booking_details = response.data
}).catch((error) => {
console.log(error)
loading.close()
this.$router.push({
name: 'notfound'
})
})
axios
.get('/api/setting-supplier/')
.then((response) => {
loading.close()
this.supplier_options = response.data
}).catch((error) => {
loading.close()
console.log(error)
this.$router.push({
name: 'notfound'
})
})
},
methods: {
generateReport(formName) {
this.loading_btn = true
this.$refs[formName].validate((valid) => {
if (valid) {
let newReport = {
booking_id: this.$route.params.id,
supplier_id: this.supplierBookingForm.supplier,
amount: this.supplierBookingForm.amount,
rebate: this.supplierBookingForm.rebate,
rate: this.supplierBookingForm.rate,
transfer_amount: this.supplierBookingForm.transfer_amount,
}
axios.post('/api/supplier-booking', newReport)
.then((response) => {
this.loading_btn = false
this.$router.push({
name: 'booking.admin.supplier.report',
params: {id: this.$route.params.id }
})
// redirect to supplier report
})
.catch((error) => {
this.loading_btn = false
console.log(error)
// TODO : Show error message
})
} else {
this.loading_btn = false
}
})
},
}
},
methods: {
}
}
</script>
</script>