updated admin booking show function with user, china, po, invoice slip

removed one step from admin tracking
integrated admin booking complete
changed admin complete order component name
This commit is contained in:
Jack Goh
2018-06-29 19:18:54 +08:00
parent d80f048f5a
commit ca74cfae23
6 changed files with 269 additions and 104 deletions
+36 -13
View File
@@ -95,7 +95,7 @@ class BookingController extends Controller
// TODO : transfer_amount change name to bia
$booking->transfer_amount = $booking->bia;
$booking->track_status = "(". $booking->admin_status ."/8)";
$booking->track_status = "(". $booking->admin_status ."/7)";
switch ($booking->admin_status) {
case 1:
$status_desc = "Waiting customer upload bank slip";
@@ -132,7 +132,7 @@ class BookingController extends Controller
public function show($id)
{
$booking = Booking::where('user_id',Auth::user()->id)->where('id', $id)->first();
// just added to try
$user_bankslip = $booking->userBankSlip()->first();
$china_bankslip = $booking->chinaBankSlip()->first();
$po = $booking->purchaseOrder()->first();
@@ -175,21 +175,44 @@ class BookingController extends Controller
public function adminShow($id)
{
$booking = Booking::where('id', $id)->first();
$user_bankslip_path = $booking->userBankSlip()->first()->bankslip_path;
$booking->user_bankslip_path = Storage::url($user_bankslip_path);
$booking = Booking::where('id', $id)->firstOrFail();
$user_bankslip = $booking->userBankSlip()->first();
$china_bankslip = $booking->chinaBankSlip()->first();
$po = $booking->purchaseOrder()->first();
$invoice = $booking->invoice()->first();
if($booking){
$date1 = new DateTime($booking->created_at);
$date2 = new DateTime();
$difference_in_seconds = ($date1->format('U') + 600) - ($date2->format('U'));
$booking->timeout = $difference_in_seconds;
if ($user_bankslip){
$booking->user_bankslip_path = Storage::url($user_bankslip->bankslip_path);
$booking->reject_reason = $user_bankslip->reject_reason;
$date1 = new DateTime($user_bankslip->updated_at);
}
if (!$booking){
return response()->json(['success'=>false, 'message'=>'not found'], 404);
}
return $booking;
if($china_bankslip){
$booking->china_bankslip_path = Storage::url($china_bankslip->china_bank_slip_path);
}
if($po){
$booking->user_po_path = Storage::url($po->image_path);
}
if($invoice){
$booking->invoice_path = Storage::url($invoice->invoice_path);
}
$date1 = new DateTime($booking->created_at);
$date2 = new DateTime();
$difference_in_seconds = ($date1->format('U') + 600) - ($date2->format('U'));
$booking->timeout = $difference_in_seconds;
if (!$booking){
return response()->json(['success'=>false, 'message'=>'not found'], 404);
}
return $booking;
}
}
@@ -6,8 +6,7 @@
<el-step title="Supplier Booking"/>
<el-step title="Supplier Report"/>
<el-step title="Upload China Bankslip To Booking"/>
<el-step title="Waiting Purchase Order"/>
<el-step title="Invoice"/>
<el-step title="Purchase Order/Invoice"/>
<el-step title="Completed"/>
</el-steps>
</el-row>
@@ -5,9 +5,11 @@
<div align="center">
<h4 style="margin-top:5%;">Order Completed</h4>
<br>
<el-button type="primary" @click="$router.go(-1)">Go Back</el-button>
</div>
<br>
<!-- upload card -->
<!-- bankslip -->
<br>
<el-row :gutter="12" justify="center" align="center">
<el-col :span="8">
@@ -18,29 +20,14 @@
</div>
<el-row :gutter="12" type="flex">
<el-col :span="12">
<a target=" _blank" href="https://placeholder.com">
<img width="100%" height="100%" src="http://via.placeholder.com/700x800">
<a target=" _blank" href="#">
<img v-bind:src="booking_details.user_po_path" class="image">
</a>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :span="8">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>Invoice</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12" type="flex">
<el-col :span="12">
<a target=" _blank" href="https://placeholder.com">
<img width="100%" height="100%" src="http://via.placeholder.com/700x800">
</a>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :span="8">
<el-card class="box-card">
<div slot="header" class="clearfix">
@@ -49,24 +36,37 @@
</div>
<el-row :gutter="12" type="flex">
<el-col :span="12">
<a target=" _blank" href="https://placeholder.com">
<img width="100%" height="100%" src="http://via.placeholder.com/700x800">
<a target=" _blank" href="#">
<img v-bind:src="booking_details.china_bankslip_path" class="image">
</a>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :span="8">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>Invoice</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12" type="flex">
<el-col :span="12">
<img v-bind:src="booking_details.invoice_path" class="image">
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
<br>
<!-- bank slips END -->
<!-- order details -->
<el-row justify="center" align="center">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>Order Details</span>
<!-- <el-button style="float: right; padding: 3px 0" type="text">Operation button</el-button> -->
</div>
<el-row :gutter="12">
<!-- <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" />
@@ -79,7 +79,177 @@
<el-table-column prop="data2" align="left" width="200" />
</el-table>
</el-col>
</el-row>
</el-row> -->
<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" />
<el-table-column prop="data2" align="left" width="200" />
</el-table>
</el-col>
<el-col :span="12">
<el-table :data="bookingConfirmTable2" :show-header="false" align="center">
<el-table-column prop="data1" align="right" width="200" />
<el-table-column prop="data2" align="left" width="200" />
</el-table>
</el-col>
</el-row> -->
</el-card>
</el-row>
<br>
@@ -87,12 +257,12 @@
<el-row justify="center" align="center">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>Order Bankin Slip</span>
<span>Payment Bankin Slip</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">
<img v-bind:src="booking_details.user_bankslip_path" class="image">
</el-col>
</el-row>
</el-card>
@@ -100,13 +270,14 @@
</el-main>
</template>
<style>
.booking-details {
font-weight: bold;
}
.booking-details {
font-weight: bold;
}
</style>
<script>
import VueCountdown from '@dmaksimovic/vue-countdown'
import ProgressTrack from '~/components/AdminProgressTrack'
import axios from 'axios'
export default {
components: {
@@ -115,49 +286,37 @@ export default {
data () {
return {
status: 8,
bookingConfirmTable: [{
data1: 'Order Number :',
data2: '001'
}, {
data1: 'Date :',
data2: '25/5/2018'
}, {
data1: 'Customer Marking :',
data2: 'CIEF/150ECE'
}, {
data1: '',
data2: ''
}, {
data1: 'Payment Method :',
data2: 'Cash/Bank Transfer'
}, {
data1: '',
data2: ''
}],
bookingConfirmTable2: [{
data1: 'CNY/RMB :',
data2: 'CNY 120,500.00'
}, {
data1: '+ Service Charge :',
data2: 'CNY 20.00'
}, {
data1: '/ RATE :',
data2: '1.63'
}, {
data1: '',
data2: 'MYR 73,848.04'
}, {
data1: '+ GST 6% :',
data2: 'MYR 4,430.88'
}, {
data1: '',
data2: 'MYR 78,278.92'
}, {
data1: '',
data2: ''
}]
loading_btn: false,
booking_details:{
id: null,
amount: null,
bia: null,
user_bankslip_path: null,
}
}
},
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) => {
this.booking_details = response.data
loading.close()
}).catch((error) => {
console.log(error)
loading.close()
this.$router.push({
name: 'notfound'
})
})
},
methods: {
}
@@ -320,30 +320,14 @@
axios
.get('/api/admin/booking/' + this.$route.params.id)
.then((response) => {
loading.close()
.then((response) => {
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: {
submitChinaSlip(formName) {
@@ -3,7 +3,7 @@
<progress-track v-model="status"/>
<div align="center">
<h4 style="margin-top:5%;">Processing Invoice</h4>
<h4 style="margin-top:5%;">Order Completed</h4>
<br>
<el-button type="primary" @click="$router.go(-1)">Go Back</el-button>
</div>
+2 -2
View File
@@ -34,7 +34,7 @@ const adminCompleted = () => import('~/pages/admin/booking/completed').then(m =>
// Admin pages
const AdminHome = () => import('~/pages/admin/home').then(m => m.default || m)
const CompleteOrder = () => import('~/pages/admin/complete-order').then(m => m.default || m)
const AdminCompleteOrder = () => import('~/pages/admin/complete-order').then(m => m.default || m)
const TransactionHistory = () => import('~/pages/admin/transaction-history').then(m => m.default || m)
const UploadSupplierBankSlip = () => import('~/pages/admin/upload-supplier-bank-slip').then(m => m.default || m)
@@ -77,7 +77,7 @@ export default [
// Admin pages
{ path: '/admin', name: 'admin.home', component: AdminHome },
{ path: '/admin/complete-order', name: 'admin.complete-order', component: CompleteOrder },
{ path: '/admin/complete-order', name: 'admin.complete', component: AdminCompleteOrder },
{ path: '/admin/transaction-history', name: 'admin.transaction-history', component: TransactionHistory },
{ path: '/admin/upload-supplier-bank-slip', name: 'admin.upload-supplier-bank-slip', component: UploadSupplierBankSlip },
{ path: '*', name: 'notfound', component: NotFound }