mirror of
https://gitlab.com/omair-personal/exchange.git
synced 2026-08-19 04:24:08 +00:00
Fix conflit
This commit is contained in:
@@ -21,7 +21,6 @@ class BookingController extends Controller
|
||||
{
|
||||
|
||||
public function index(){
|
||||
return 123;
|
||||
$user = Auth::user();
|
||||
$bookings = Booking::select('user_id', 'id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status')
|
||||
->where('user_id', $user->id)
|
||||
@@ -78,74 +77,73 @@ class BookingController extends Controller
|
||||
}
|
||||
|
||||
public function adminIndex(){
|
||||
return 123;
|
||||
// $user = Auth::user();
|
||||
// $bookings = Booking::select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status')
|
||||
// ->orderby('updated_at','desc')
|
||||
// ->get();
|
||||
$user = Auth::user();
|
||||
$bookings = Booking::select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status')
|
||||
->orderby('updated_at','desc')
|
||||
->get();
|
||||
|
||||
// // reformat to fit frontend structure
|
||||
// foreach ($bookings as $booking) {
|
||||
// // set timeout
|
||||
// $date1 = new DateTime($booking->created_at);
|
||||
// $date2 = new DateTime();
|
||||
// $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
|
||||
// $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
|
||||
// $booking->timeout = $difference_in_seconds;
|
||||
// reformat to fit frontend structure
|
||||
foreach ($bookings as $booking) {
|
||||
// set timeout
|
||||
$date1 = new DateTime($booking->created_at);
|
||||
$date2 = new DateTime();
|
||||
$time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
|
||||
$difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
|
||||
$booking->timeout = $difference_in_seconds;
|
||||
|
||||
// // TODO : you can make it better
|
||||
// if($difference_in_seconds < 0 ){
|
||||
// $booking->timeout = 0;
|
||||
// }
|
||||
// TODO : you can make it better
|
||||
if($difference_in_seconds < 0 ){
|
||||
$booking->timeout = 0;
|
||||
}
|
||||
|
||||
// // TODO : transfer_amount change name to bia
|
||||
// $booking->transfer_amount = $booking->bia;
|
||||
// TODO : transfer_amount change name to bia
|
||||
$booking->transfer_amount = $booking->bia;
|
||||
|
||||
// $term = $booking->term;
|
||||
// if($term == "x1_ba" || $term == "x2_cheque"){
|
||||
// $status = $booking->admin_status > 2 ? $booking->admin_status - 2 : $booking->admin_status;
|
||||
// $booking->track_status = "(". $status ."/5)";
|
||||
// }
|
||||
// else{
|
||||
// $booking->track_status = "(". $booking->admin_status ."/7)";
|
||||
// }
|
||||
$term = $booking->term;
|
||||
if($term == "x1_ba" || $term == "x2_cheque"){
|
||||
$status = $booking->admin_status > 2 ? $booking->admin_status - 2 : $booking->admin_status;
|
||||
$booking->track_status = "(". $status ."/5)";
|
||||
}
|
||||
else{
|
||||
$booking->track_status = "(". $booking->admin_status ."/7)";
|
||||
}
|
||||
|
||||
// switch ($booking->admin_status) {
|
||||
// case 1:
|
||||
// $status_desc = "Waiting customer upload bank slip";
|
||||
// break;
|
||||
// case 2:
|
||||
// $status_desc = "Verify user bank slip";
|
||||
// break;
|
||||
// case 3:
|
||||
// if($term !== "x1_ba" || $term !== "x2_cheque"){
|
||||
// $status_desc = "Generate supplier booking report";
|
||||
// break;
|
||||
// }
|
||||
// case 4:
|
||||
// if($term !== "x1_ba" || $term !== "x2_cheque"){
|
||||
// $status_desc = "Supplier booking report. Please confirm with your booking.";
|
||||
// break;
|
||||
// }
|
||||
// case 5:
|
||||
// $status_desc = "Please, upload China Bankslip";
|
||||
// break;
|
||||
// case 6:
|
||||
// $status_desc = "Waiting customer to upload purchase order";
|
||||
// break;
|
||||
// case 7:
|
||||
// $status_desc = "Customer has uploaded purchase order, please upload invoice";
|
||||
// break;
|
||||
// case 8:
|
||||
// $status_desc = "Booking Completed";
|
||||
// break;
|
||||
// default:
|
||||
// $status_desc = "";
|
||||
// }
|
||||
// $booking->marking = $booking->user->marking;
|
||||
// $booking->status_desc = $status_desc;
|
||||
// }
|
||||
// return $bookings;
|
||||
switch ($booking->admin_status) {
|
||||
case 1:
|
||||
$status_desc = "Waiting customer upload bank slip";
|
||||
break;
|
||||
case 2:
|
||||
$status_desc = "Verify user bank slip";
|
||||
break;
|
||||
case 3:
|
||||
if($term !== "x1_ba" || $term !== "x2_cheque"){
|
||||
$status_desc = "Generate supplier booking report";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
if($term !== "x1_ba" || $term !== "x2_cheque"){
|
||||
$status_desc = "Supplier booking report. Please confirm with your booking.";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
$status_desc = "Please, upload China Bankslip";
|
||||
break;
|
||||
case 6:
|
||||
$status_desc = "Waiting customer to upload purchase order";
|
||||
break;
|
||||
case 7:
|
||||
$status_desc = "Customer has uploaded purchase order, please upload invoice";
|
||||
break;
|
||||
case 8:
|
||||
$status_desc = "Booking Completed";
|
||||
break;
|
||||
default:
|
||||
$status_desc = "";
|
||||
}
|
||||
$booking->marking = $booking->user->marking;
|
||||
$booking->status_desc = $status_desc;
|
||||
}
|
||||
return $bookings;
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
@@ -602,7 +600,7 @@ class BookingController extends Controller
|
||||
$svcharge = 20.00;
|
||||
}
|
||||
|
||||
$subtotal = $amount + $svcharge) / $rate;
|
||||
$subtotal = round($amount + $svcharge / $rate,2);
|
||||
$taxAmount = round($subtotal * $taxrate,2);
|
||||
$billingChargeAmount = round(($amount + $svcharge) * $billingChargeRate, 2);
|
||||
$bankin_amount = round($subtotal + $taxAmount + $billingChargeAmount , 2);
|
||||
|
||||
@@ -72,8 +72,7 @@ export default {
|
||||
getBooking() {
|
||||
let $this = this
|
||||
axios.get(this.url).then(response => {
|
||||
// this.bookingTable = response.data
|
||||
console.log(response);
|
||||
this.bookingTable = response.data
|
||||
})
|
||||
},
|
||||
RefreshBooking() {
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
<td>Term: </td>
|
||||
<td>{{ booking_details.term }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Beneficiary Account : </td>
|
||||
<td>{{ booking_details.account_name }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -52,6 +56,10 @@
|
||||
<td></td>
|
||||
<td><b>MYR {{ booking_details.bia }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Beneficiary Account Number : </td>
|
||||
<td>{{ booking_details.account_num }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -63,20 +71,14 @@
|
||||
<div class="row">
|
||||
<div class="card-body">
|
||||
<a target="_blank" :href="booking_details.user_bankslip_path">
|
||||
<img v-bind:src="booking_details.user_bankslip_path" class="uploadedImage">
|
||||
</a>
|
||||
</div>
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="22" style="text-align:center">
|
||||
<a target="_blank" :href="getURL(booking_details.user_bankslip_path)">
|
||||
<img v-if="isImage(booking_details.user_bankslip_path)" v-bind:src="booking_details.user_bankslip_path" class="image">
|
||||
<p v-else>Download</p>
|
||||
</a>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
>>>>>>> d3a995c6b5c0ede3a7b608e12c8e1d8c5f8e925e
|
||||
</el-main>
|
||||
</template>
|
||||
<style>
|
||||
|
||||
@@ -47,8 +47,9 @@
|
||||
<div class="card">
|
||||
<div class="card-header">China Bank Slip</div>
|
||||
<div class="card-body">
|
||||
<a target="_blank" :href="booking_details.china_bankslip_path">
|
||||
<img v-bind:src="booking_details.china_bankslip_path" class="bankinSlipImage">
|
||||
<a target="_blank" :href="getURL(booking_details.china_bankslip_path)">
|
||||
<img v-if="isImage(booking_details.china_bankslip_path)" v-bind:src="booking_details.china_bankslip_path" class="image">
|
||||
<p v-else>Download</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -78,6 +79,10 @@
|
||||
<td>Term: </td>
|
||||
<td>{{ booking_details.term }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Beneficiary Account : </td>
|
||||
<td>{{ booking_details.account_name }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -100,6 +105,10 @@
|
||||
<td></td>
|
||||
<td><b>MYR {{ booking_details.bia }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Beneficiary Account Number : </td>
|
||||
<td>{{ booking_details.account_num }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -110,18 +119,11 @@
|
||||
<div class="card-header">Order Bankin Slip</div>
|
||||
<div class="row">
|
||||
<div class="card-body">
|
||||
<a target="_blank" :href="booking_details.user_bankslip_path">
|
||||
<img v-bind:src="booking_details.user_bankslip_path" class="bankinSlipImage">
|
||||
</a>
|
||||
</div>
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="22" style="text-align:center">
|
||||
<a target="_blank" :href="getURL(booking_details.user_bankslip_path)">
|
||||
<a target="_blank" :href="getURL(booking_details.user_bankslip_path)">
|
||||
<img v-if="isImage(booking_details.user_bankslip_path)" v-bind:src="booking_details.user_bankslip_path" class="image">
|
||||
<p v-else>Download</p>
|
||||
</a>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-main>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<template>
|
||||
<el-main>
|
||||
<<<<<<< HEAD
|
||||
<progress-track v-model="status"/>
|
||||
<div align="center" v-if="booking.user_bankslip_path">
|
||||
<h4 style="margin-top:5%" >
|
||||
@@ -14,106 +13,66 @@
|
||||
<h1>Waiting For Payment</h1>
|
||||
</div>
|
||||
|
||||
<el-row justify="center" align="center">
|
||||
<table class="table-responsive el-table" style="display:table; width:50%; margin: 0 auto;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="el-table_2_column_9 is-right ">Amount : </td>
|
||||
<td class="el-table_2_column_9 is-left ">
|
||||
<b> RMB {{ booking.amount }} </b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="el-table_2_column_9 is-right ">Bankin Amount : </td>
|
||||
<td width="200" class="el-table_2_column_9 is-left ">
|
||||
<b> MYR {{ booking.bankin_amount }} </b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<div class="row">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Amount : </td>
|
||||
<td><b>RMB {{ booking.amount }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bankin Amount : </td>
|
||||
<td><b> MYR {{ booking.bankin_amount }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<b>{{ bankDetail.company_name }}</b><br>
|
||||
{{ bankDetail.bank_name }} : {{ bankDetail.acc_no }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table-responsive el-table" style="display:table; width:50%; margin: 0 auto;" align="center">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{bankDetail.company_name}}<br/>
|
||||
{{bankDetail.bank_name}} : {{bankDetail.acc_no}}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</el-row>
|
||||
<br>
|
||||
|
||||
<!-- action="https://jsonplaceholder.typicode.com/posts/" -->
|
||||
|
||||
<div align="center">
|
||||
|
||||
<vue-countdown :countdownend="handleCoutdownend" :time="booking.timeout">
|
||||
<template slot-scope="props">Time Remaining:<br>{{ props.days }} days, {{ props.hours }} hours, {{ props.minutes }} minutes, {{ props.seconds }} seconds.</template>
|
||||
</vue-countdown>
|
||||
<!-- <button v-on:click="startTimer">Start timer</button> -->
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Amount : </td>
|
||||
<td><b>RMB {{ booking.amount }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bankin Amount : </td>
|
||||
<td><b> MYR {{ booking.bankin_amount }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<b>{{ bankDetail.company_name }}</b><br>
|
||||
{{ bankDetail.bank_name }} : {{ bankDetail.acc_no }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row timer">
|
||||
<div class="col">
|
||||
<vue-countdown :countdownend="handleCoutdownend" :time="booking.timeout">
|
||||
<template slot-scope="props">Time Remaining:<br>{{ props.days }} days, {{ props.hours }} hours, {{ props.minutes }} minutes, {{ props.seconds }} seconds.</template>
|
||||
</vue-countdown>
|
||||
</div>
|
||||
<div class="row timer">
|
||||
<div class="col">
|
||||
<vue-countdown :countdownend="handleCoutdownend" :time="booking.timeout">
|
||||
<template slot-scope="props">Time Remaining:<br>{{ props.days }} days, {{ props.hours }} hours, {{ props.minutes }} minutes, {{ props.seconds }} seconds.</template>
|
||||
</vue-countdown>
|
||||
</div>
|
||||
</div>
|
||||
<!-- upload image -->
|
||||
<div class="row upload">
|
||||
<div class="col">
|
||||
<el-upload :action="'/api/booking/' + booking_id + '/upload-user-bankslip'"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-error="uploadError"
|
||||
accept=".jpeg, .jpg, .png, .bmp, .doc, .docx, .xls, .xlsx, .pdf"
|
||||
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>
|
||||
</div>
|
||||
<!-- upload image -->
|
||||
<div class="row upload">
|
||||
<div class="col">
|
||||
<el-upload :action="'/api/booking/' + booking_id + '/upload-user-bankslip'"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-error="uploadError"
|
||||
accept=".jpeg, .jpg, .png, .bmp, .doc, .docx, .xls, .xlsx, .pdf"
|
||||
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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- upload image end -->
|
||||
<div class="row bankinAmount">
|
||||
<div class="col">
|
||||
Bankin Amount (RM) :<br>
|
||||
<el-form ref="user_slip_form" :model="user_slip_form" :rules="rules">
|
||||
<el-form-item prop="transfer_amount">
|
||||
<el-input class="transferAmountInput" v-model="user_slip_form.transfer_amount" type="text" placeholder="Transfer Amount"/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button :loading="loading" type="primary" @click="submitUserSlip('user_slip_form')">Submit</el-button>
|
||||
<router-link :to="{ name: 'home' }" class="small ml-auto my-auto">
|
||||
Upload Later
|
||||
</router-link>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- upload image end -->
|
||||
<div class="row bankinAmount">
|
||||
<div class="col">
|
||||
Bankin Amount (RM) :<br>
|
||||
<el-form ref="user_slip_form" :model="user_slip_form" :rules="rules">
|
||||
<el-form-item prop="transfer_amount">
|
||||
<el-input class="transferAmountInput" v-model="user_slip_form.transfer_amount" type="text" placeholder="Transfer Amount"/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button :loading="loading" type="primary" @click="submitUserSlip('user_slip_form')">Submit</el-button>
|
||||
<router-link :to="{ name: 'home' }" class="small ml-auto my-auto">
|
||||
Upload Later
|
||||
</router-link>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</el-main>
|
||||
</template>
|
||||
<style>
|
||||
@@ -214,7 +173,7 @@ export default {
|
||||
this.booking.user_bankslip_path = response.data.user_bankslip_path
|
||||
this.booking.reject_reason = response.data.reject_reason
|
||||
}
|
||||
|
||||
console.log(this.booking);
|
||||
this.start = true;
|
||||
|
||||
if (this.booking.timeout < 0){
|
||||
@@ -271,9 +230,6 @@ export default {
|
||||
});
|
||||
});
|
||||
},
|
||||
beforeMount() {
|
||||
this.updateBankDetail();
|
||||
},
|
||||
methods: {
|
||||
handleCoutdownend () {
|
||||
this.$message({
|
||||
|
||||
@@ -67,6 +67,30 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" type="flex" justify="center" align="middle">
|
||||
<el-col>
|
||||
<div class="grid-content bg-purple" />
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="grid-content bg-purple" />
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="grid-content bg-purple" align="center">
|
||||
<el-button type="text" @click="acceptTerm('x1_cash')">Book</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="grid-content bg-purple" align="center">
|
||||
<el-button type="text" @click="acceptTerm('x1_cheque')">Book</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<div class="grid-content bg-purple" align="center">
|
||||
<el-button type="text" @click="acceptTerm('x1_ba')">Book</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<br>
|
||||
<el-row :gutter="20" type="flex" justify="center" align="middle">
|
||||
<el-col>
|
||||
@@ -172,7 +196,43 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>China Beneficiary Acc :</td>
|
||||
<td> {{ bookingConfirmTable.account_name }}</td>
|
||||
<td> {{ bookingForm.account_name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CNY/RMB :</td>
|
||||
<td>
|
||||
<b> RM {{ bookingConfirmTable.amount }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>+ Service Charges :</td>
|
||||
<td>
|
||||
<b> RM {{ bookingConfirmTable.service_charge }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/ Rate :</td>
|
||||
<td>
|
||||
<b> {{ bookingConfirmTable.rate }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<b> RM {{ bookingConfirmTable.subtotal }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>+ Tax :</td>
|
||||
<td>
|
||||
<b> RM {{ bookingConfirmTable.taxAmount }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>+ Billing Charge :</td>
|
||||
<td>
|
||||
<b> RM {{ bookingConfirmTable.billingChargeAmount }}</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bank in Amount :</td>
|
||||
@@ -276,6 +336,7 @@ export default {
|
||||
x2_cash: null,
|
||||
x2_cheque: null,
|
||||
},
|
||||
loading : null,
|
||||
loading_btn: false,
|
||||
status: '',
|
||||
booking: {
|
||||
|
||||
Reference in New Issue
Block a user