mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 04:23:55 +00:00
update to bill refund for 1688 supplier
This commit is contained in:
@@ -150,7 +150,9 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic
|
||||
}
|
||||
|
||||
//create bill refund
|
||||
foreach ($supplierRefunds as $supplierRefund) {
|
||||
$amount += $service_charges;
|
||||
|
||||
foreach ($supplierRefunds as $supplierRefund) {
|
||||
$refund = Transaction::find($supplierRefund['id']);
|
||||
$deductedRefunds = $refund->transactions()->where('type', TransactionType::BILL_REFUND)->where('status', ApprovalStatus::APPROVED)->get();
|
||||
$refundDeductableAmount = $refund->amount - $deductedRefunds->sum('amount');
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
</div>
|
||||
<div class="col text-right">
|
||||
<div class="font-heading fs-10 muted all-caps">Amount</div>
|
||||
<!-- <div class="font-heading fs-14 text-success bold" v-if="is1688Supplier">
|
||||
{{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 class="font-heading fs-14 text-success bold">
|
||||
{{item.currency.short_code}} {{((Math.round(( item.amount + Number.EPSILON) * 100) / 100)).toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
|
||||
</div>
|
||||
@@ -39,6 +42,10 @@
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
is1688Supplier:{
|
||||
type: Boolean,
|
||||
required: true
|
||||
},
|
||||
payments:{
|
||||
type: Array,
|
||||
required: true
|
||||
|
||||
+17
-6
@@ -48,10 +48,10 @@
|
||||
<div class="font-heading all-caps fs-10">Bill Refund Total:</div>
|
||||
</div>
|
||||
<div class="col-auto text-right" v-if="is1688Supplier">
|
||||
<div class="font-heading bold">- CNY {{ parameters.payment_total }}</div>
|
||||
<div class="font-heading bold">- {{ this.supplierRefunds.length > 0 ? this.supplierRefunds[0].currency.short_code : 'MYR' }} {{ this.inputPaymentTotal > 0 ? refundTotal > this.inputPaymentTotal ? this.inputPaymentTotal : formatNumber(refundTotal) : '0.00' }}</div>
|
||||
</div>
|
||||
<div class="col-auto text-right" v-else>
|
||||
<div class="font-heading bold">- MYR {{ formatNumber(refundTotal > paymentTotal ? paymentTotal : refundTotal) }}</div>
|
||||
<div class="font-heading bold">- {{ this.supplierRefunds[0].currency.short_code }} {{ formatNumber(refundTotal > paymentTotal ? paymentTotal : refundTotal) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row align-items-end m-b-10 text-success">
|
||||
@@ -59,10 +59,18 @@
|
||||
<div class="font-heading all-caps fs-10">Payment Total:</div>
|
||||
</div>
|
||||
<div class="col-auto text-right" v-if="is1688Supplier">
|
||||
<div class="font-heading bold">MYR {{ parameters.payment_total }}</div>
|
||||
<div class="font-heading bold">MYR {{ formatNumber(this.inputPaymentTotal) }}</div>
|
||||
</div>
|
||||
<div class="col-auto text-right" v-else>
|
||||
<div class="font-heading bold">MYR {{ formatNumber(paymentTotal) }}</div>
|
||||
<div class="font-heading bold">MYR {{ formatNumber(paymentTotal - refundTotal > 0 ? (paymentTotal - refundTotal) : 0) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row align-items-end m-b-10 text-primary" v-if="refundTotal > 0 && is1688Supplier && this.inputPaymentTotal > 0">
|
||||
<div class="col">
|
||||
<div class="font-heading all-caps fs-10">Payment Total After Refund:</div>
|
||||
</div>
|
||||
<div class="col-auto text-right">
|
||||
<div class="font-heading bold">{{ this.supplierRefunds.length > 0 ? this.supplierRefunds[0].currency.short_code : 'MYR' }} {{ refundTotal > this.inputPaymentTotal ? '0.00' : formatNumber(this.inputPaymentTotal - refundTotal) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -102,7 +110,7 @@
|
||||
</div>
|
||||
<list-component :key="supplierRefundListKey" section="supplierRefundListSection" :options="{'per_page': 20, 'type': 15, 'status': 2, 'belongs_to_supplier_id': this.supplier.id}" :endpoint="route('api.transaction.list')">
|
||||
<template slot="list" slot-scope="{data}">
|
||||
<supplier-refund-component section="supplierRefundListSection" :data="data" :payments="payments" :supplierRefunds="supplierRefunds" :refundTotal="refundTotal" :paymentTotal="paymentTotal" v-on:input="refundOrder($event)"></supplier-refund-component>
|
||||
<supplier-refund-component section="supplierRefundListSection" :data="data" :is1688Supplier="is1688Supplier" :payments="payments" :supplierRefunds="supplierRefunds" :refundTotal="refundTotal" :paymentTotal="paymentTotal" v-on:input="refundOrder($event)"></supplier-refund-component>
|
||||
</template>
|
||||
</list-component>
|
||||
</div>
|
||||
@@ -166,6 +174,9 @@
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
inputPaymentTotal(){
|
||||
return parseFloat(this.parameters.payment_total.replaceAll(',', ''));
|
||||
},
|
||||
originalTotal(){
|
||||
return this.payments.reduce(function (total, currentValue) {
|
||||
return total + currentValue.original_amount;
|
||||
@@ -192,7 +203,7 @@
|
||||
}, 0);
|
||||
},
|
||||
billGroupCurrencyRate(){
|
||||
const paymentTotal = parseFloat(this.parameters.payment_total.replaceAll(',', ''));
|
||||
const paymentTotal = this.inputPaymentTotal;
|
||||
return this.originalTotal && paymentTotal > 0 ? (this.originalTotal / paymentTotal).toFixed(5) : 1;
|
||||
},
|
||||
is1688Supplier(){
|
||||
|
||||
Reference in New Issue
Block a user