close #2213 Fixed: Document add new tax not calculate totals

This commit is contained in:
Cüneyt Şentürk 2021-08-01 21:47:02 +03:00
parent 31f2732ae4
commit cef1ee1b42
2 changed files with 73 additions and 65 deletions

View File

@ -64,7 +64,8 @@ const app = new Vue({
"decimal_mark":".", "decimal_mark":".",
"thousands_separator":"," "thousands_separator":","
}, },
dropdown_visible: true dropdown_visible: true,
dynamic_taxes: [],
} }
}, },
@ -87,6 +88,7 @@ const app = new Vue({
default_currency_symbol = symbol.symbol; default_currency_symbol = symbol.symbol;
} }
} }
this.currency_symbol.symbol = default_currency_symbol; this.currency_symbol.symbol = default_currency_symbol;
} }
@ -97,7 +99,7 @@ const app = new Vue({
let global_discount = parseFloat(this.form.discount); let global_discount = parseFloat(this.form.discount);
let discount_total = 0; let discount_total = 0;
let line_item_discount_total = 0; let line_item_discount_total = 0;
let taxes = document_taxes; let taxes = this.dynamic_taxes;
let sub_total = 0; let sub_total = 0;
let totals_taxes = []; let totals_taxes = [];
let grand_total = 0; let grand_total = 0;
@ -349,7 +351,7 @@ const app = new Vue({
let selected_tax; let selected_tax;
document_taxes.forEach(function(tax) { this.dynamic_taxes.forEach(function(tax) {
if (tax.id == this.tax_id) { if (tax.id == this.tax_id) {
selected_tax = tax; selected_tax = tax;
} }
@ -682,7 +684,7 @@ const app = new Vue({
this.page_loaded = true; this.page_loaded = true;
if (document_currencies) { if (typeof document_currencies !== 'undefined' && document_currencies) {
this.currencies = document_currencies; this.currencies = document_currencies;
this.currencies.forEach(function (currency, index) { this.currencies.forEach(function (currency, index) {
@ -693,5 +695,9 @@ const app = new Vue({
} }
}, this); }, this);
} }
if (typeof document_taxes !== 'undefined' && document_taxes) {
this.dynamic_taxes = document_taxes;
}
} }
}); });

View File

@ -215,11 +215,12 @@
:placeholder="'{{ trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)]) }}'"
:name="'items.' + index + '.taxes.' + row_tax_index" :name="'items.' + index + '.taxes.' + row_tax_index"
:options="{{ json_encode($taxes->pluck('title', 'id')) }}" :options="{{ json_encode($taxes->pluck('title', 'id')) }}"
:dynamic-options="dynamic_taxes"
:disabled-options="form.items[index].tax_ids" :disabled-options="form.items[index].tax_ids"
:value="row_tax.id" :value="row_tax.id"
@interface="row_tax.id = $event" @interface="row_tax.id = $event"
@change="onCalculateTotal()" @change="onCalculateTotal()"
@new="taxes.push($event)" @new="dynamic_taxes.push($event)"
:form-error="form.errors.get('items.' + index + '.taxes')" :form-error="form.errors.get('items.' + index + '.taxes')"
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
@ -254,6 +255,7 @@
:placeholder="'{{ trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)]) }}'"
:name="'items.' + index + '.taxes.999'" :name="'items.' + index + '.taxes.999'"
:options="{{ json_encode($taxes->pluck('title', 'id')) }}" :options="{{ json_encode($taxes->pluck('title', 'id')) }}"
:dynamic-options="dynamic_taxes"
:disabled-options="form.items[index].tax_ids" :disabled-options="form.items[index].tax_ids"
:value="tax_id" :value="tax_id"
:add-new="{{ json_encode([ :add-new="{{ json_encode([
@ -279,7 +281,7 @@
])}}" ])}}"
@interface="tax_id = $event" @interface="tax_id = $event"
@visible-change="onSelectedTax(index)" @visible-change="onSelectedTax(index)"
@new="taxes.push($event)" @new="dynamic_taxes.push($event)"
:form-error="form.errors.get('items.' + index + '.taxes')" :form-error="form.errors.get('items.' + index + '.taxes')"
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"