update to bill refund for 1688 supplier

This commit is contained in:
JiaSheng
2024-02-25 20:43:01 +08:00
parent 25de31ea2e
commit 767d6c84fe
3 changed files with 27 additions and 7 deletions
@@ -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
@@ -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(){