Add discount per item feature to the bills

This commit is contained in:
Burak Çakırel
2020-03-24 00:16:11 +03:00
parent e2148ef9a7
commit 6903a44bce
17 changed files with 159 additions and 150 deletions

View File

@@ -51,6 +51,10 @@
<th class="text-right border-right-0 border-bottom-0">{{ trans('bills.price') }}</th>
@stack('price_th_end')
@stack('discount_th_start')
<th class="text-right border-right-0 border-bottom-0">{{ trans('bills.discount') }}</th>
@stack('discount_th_end')
@stack('taxes_th_start')
<th class="text-right border-right-0 border-bottom-0">{{ trans_choice('general.taxes', 1) }}</th>
@stack('taxes_th_end')
@@ -69,13 +73,13 @@
<button type="button" @click="onAddItem" id="button-add-item" data-toggle="tooltip" title="{{ trans('general.add') }}" class="btn btn-icon btn-outline-success btn-lg" data-original-title="{{ trans('general.add') }}"><i class="fa fa-plus"></i>
</button>
</td>
<td class="text-right border-bottom-0" colspan="5" :colspan="colspan"></td>
<td class="text-right border-bottom-0" colspan="6" :colspan="colspan"></td>
</tr>
@stack('add_item_td_end')
@stack('sub_total_td_start')
<tr id="tr-subtotal">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<strong>{{ trans('bills.sub_total') }}</strong>
</td>
<td class="text-right border-bottom-0 long-texts">
@@ -88,7 +92,7 @@
@stack('add_discount_td_start')
<tr id="tr-discount">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<el-popover
popper-class="p-0 h-0"
placement="bottom"
@@ -140,7 +144,7 @@
@stack('tax_total_td_start')
<tr id="tr-tax">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<strong>{{ trans_choice('general.taxes', 1) }}</strong>
</td>
<td class="text-right border-bottom-0 long-texts">
@@ -153,7 +157,7 @@
@stack('grand_total_td_start')
<tr id="tr-total">
<td class="text-right border-right-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0" colspan="6" :colspan="colspan">
<strong>{{ trans('bills.total') }}</strong>
</td>
<td class="text-right long-texts">

View File

@@ -52,6 +52,10 @@
<th class="text-right border-right-0 border-bottom-0">{{ trans('bills.price') }}</th>
@stack('price_th_end')
@stack('discount_th_start')
<th class="text-right border-right-0 border-bottom-0">{{ trans('bills.discount') }}</th>
@stack('discount_th_end')
@stack('taxes_th_start')
<th class="text-right border-right-0 border-bottom-0">{{ trans_choice('general.taxes', 1) }}</th>
@stack('taxes_th_end')
@@ -70,13 +74,13 @@
<button type="button" @click="onAddItem" id="button-add-item" data-toggle="tooltip" title="{{ trans('general.add') }}" class="btn btn-icon btn-outline-success btn-lg" data-original-title="{{ trans('general.add') }}"><i class="fa fa-plus"></i>
</button>
</td>
<td class="text-right border-bottom-0" colspan="5" :colspan="colspan"></td>
<td class="text-right border-bottom-0" colspan="6" :colspan="colspan"></td>
</tr>
@stack('add_item_td_end')
@stack('sub_total_td_start')
<tr id="tr-subtotal">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<strong>{{ trans('bills.sub_total') }}</strong>
</td>
<td class="text-right border-bottom-0 long-texts">
@@ -89,7 +93,7 @@
@stack('add_discount_td_start')
<tr id="tr-discount">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<el-popover
popper-class="p-0 h-0"
placement="bottom"
@@ -141,7 +145,7 @@
@stack('tax_total_td_start')
<tr id="tr-tax">
<td class="text-right border-right-0 border-bottom-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0 border-bottom-0" colspan="6" :colspan="colspan">
<strong>{{ trans_choice('general.taxes', 1) }}</strong>
</td>
<td class="text-right border-bottom-0 long-texts">
@@ -154,7 +158,7 @@
@stack('grand_total_td_start')
<tr id="tr-total">
<td class="text-right border-right-0" colspan="5" :colspan="colspan">
<td class="text-right border-right-0" colspan="6" :colspan="colspan">
<strong>{{ trans('bills.total') }}</strong>
</td>
<td class="text-right long-texts">

View File

@@ -98,6 +98,37 @@
</td>
@stack('price_td_end')
@stack('discount_td_start')
<td class="border-right-0 border-bottom-0 w-12"
:class="[{'has-error': form.errors.has('items.' + index + '.discount') }]">
@stack('discount_input_start')
<div class="input-group input-group-merge">
<div class="input-group-prepend">
<span class="input-group-text" id="input-discount">
<i class="fa fa-percent"></i>
</span>
</div>
<input type="number"
max="100"
min="0"
class="form-control text-center"
:name="'items.' + index + '.discount'"
autocomplete="off"
required="required"
data-item="quantity"
v-model="row.discount"
@input="onCalculateTotal"
@change="form.errors.clear('items.' + index + '.discount')">
<div class="invalid-feedback d-block"
v-if="form.errors.has('items.' + index + '.discount')"
v-html="form.errors.get('items.' + index + '.discount')">
</div>
</div>
@stack('discount_input_end')
</td>
@stack('discount_td_end')
@stack('taxes_td_start')
<td class="border-right-0 border-bottom-0"
:class="[{'has-error': form.errors.has('items.' + index + '.tax_id') }]">

View File

@@ -339,6 +339,10 @@
<th class="col-sm-3 text-right d-none d-sm-block">{{ trans('bills.price') }}</th>
@stack('price_th_end')
@stack('discount_th_start')
<th class="col-sm-1 text-center d-none d-sm-block">{{ trans('bills.discount') }}</th>
@stack('discount_th_end')
@stack('total_th_start')
<th class="col-xs-4 col-sm-3 text-right pr-5">{{ trans('bills.total') }}</th>
@stack('total_th_end')
@@ -362,6 +366,10 @@
<td class="col-sm-3 text-right d-none d-sm-block">@money($bill_item->price, $bill->currency_code, true)</td>
@stack('price_td_end')
@stack('discount_td_start')
<td class="col-sm-1 text-center d-none d-sm-block">{{ $bill_item->discount_rate }}</td>
@stack('discount_td_end')
@stack('total_td_start')
<td class="col-xs-4 col-sm-3 text-right pr-5">@money($bill_item->total, $bill->currency_code, true)</td>
@stack('total_td_end')