Files
exchange-2.0/resources/assets/vue/components/bookings/elements/PaymentVerificationComponent.vue
T
omair saleh df83d2fc7b fixing bugs
2021-05-24 00:59:33 +08:00

144 lines
9.4 KiB
Vue

<template>
<div class="row m-b-10 parentContainer">
<div class="col">
<loading-component style="height: 200px; top: 0;" key="1" color="success" v-show="isLoading"></loading-component>
<div class="row" v-show="!isLoading">
<div class="col">
<div class="row align-items-center">
<div class="col p-t-5 p-b-5">
<div class="row">
<div class="col-auto">
<div class="font-heading fs-10 muted all-caps">Reference</div>
<div class="font-heading fs-10">
{{item.bill_no}}
</div>
</div>
<div class="col-auto">
<div class="font-heading fs-10 muted all-caps">Transfer No.</div>
<a :href="route('booking.details', item.booking.marking)">
<div class="font-heading fs-10">
{{item.booking.marking}}
</div>
</a>
</div>
<div class="col-auto">
<div class="font-heading fs-10 muted all-caps">Marking</div>
<div class="font-heading fs-10">
{{item.booking.company.reference}}
</div>
</div>
<div class="col text-right">
<div class="font-heading fs-10 muted all-caps">Date</div>
<div class="font-heading fs-10">
{{item.updated_at}}
</div>
</div>
</div>
<div class="row m-t-10">
<div class="col-auto">
<div class="font-heading fs-10 muted all-caps">Payment Proof</div>
<div class="row no-margin">
<div v-if="item.documents != null">
<div v-for="file in item.documents.files" v-bind:key="file.id" class="col-auto no-padding m-r-5">
<document-file-viewer-component :file="file">
<template slot="button">
<div class="icon-thumbnail fs-11 text-white icon-25 bg-primary btn-rounded float-left m-r-5">
<i class="fa fa-file-image-o fs-10"></i>
</div>
</template>
</document-file-viewer-component>
</div>
</div>
</div>
</div>
<div class="col-auto">
<div class="font-heading fs-10 muted all-caps">Amount</div>
<div class="font-heading fs-12 text-success bold">
MYR {{(Math.round((item.amount + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
</div>
</div>
<div class="col">
<div class="font-heading fs-10 muted all-caps">Original</div>
<div class="font-heading fs-10">
{{item.original_currency.short_code}} {{(Math.round((item.original_amount + Number.EPSILON) * 100) / 100).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
</div>
</div>
<div class="col-auto text-right">
<button class="btn btn-xs btn-outline-danger b-rad-none m-r-5 requestModal" data-type="rejectPayment">
<i class="fa fa-times fa-fw"></i>
</button>
<button class="btn btn-xs btn-success b-rad-none requestModal" data-type="approvePayment">
<i class="fa fa-check fa-fw"></i>
</button>
<modal-component small type="rejectPayment">
<div class="row">
<div class="col text-center">
<div class="row">
<div class="col text-center">
<div class="row m-b-20">
<div class="col">
<h5 class="all-caps">Reject Document</h5>
<div class="fs-11">Are you sure you want to reject this payment?</div>
</div>
</div>
<div class="row">
<div class="col p-r-5">
<div data-dismiss="modal" class="btn btn-sm btn-default bg-master-lighter btn-block b-rad-none">Cancel</div>
</div>
<div class="col p-l-5">
<div data-dismiss="modal" class="btn btn-sm btn-danger btn-block b-rad-none" @click="approvePayment('reject')">Reject</div>
</div>
</div>
</div>
</div>
</div>
</div>
</modal-component>
<modal-component small type="approvePayment">
<div class="row">
<div class="col text-center">
<div class="row">
<div class="col text-center">
<div class="row m-b-20">
<div class="col">
<h5 class="all-caps">Approve Payment</h5>
<div class="fs-11">Are you sure you want to approve this payment?</div>
</div>
</div>
<div class="row">
<div class="col p-r-5">
<div data-dismiss="modal" class="btn btn-sm btn-default bg-master-lighter btn-block b-rad-none">Cancel</div>
</div>
<div class="col p-l-5">
<div data-dismiss="modal" class="btn btn-sm btn-success btn-block b-rad-none" @click="approvePayment('approve')">Approve</div>
</div>
</div>
</div>
</div>
</div>
</div>
</modal-component>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import componentHandler from '../../../general/mixins/componentHandler';
import staticFormHandler from '../../../general/mixins/staticFormHandler'
export default {
methods: {
approvePayment(status){
this.isLoading = true;
this.submit(this.route('api.booking.payment.approval', this.item.booking.id, this.item.id, status), 'put', 'identificationVerificationSection', true, true);
},
},
mixins: [componentHandler, staticFormHandler]
}
</script>