refs #1421
This commit is contained in:
@ -96,6 +96,14 @@ export default {
|
||||
};
|
||||
},
|
||||
|
||||
created: function () {
|
||||
if (this.show) {
|
||||
let documentClasses = document.body.classList;
|
||||
|
||||
documentClasses.add("modal-open");
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
closeModal() {
|
||||
this.$emit("update:show", false);
|
||||
@ -109,6 +117,10 @@ export default {
|
||||
},
|
||||
|
||||
onCancel() {
|
||||
let documentClasses = document.body.classList;
|
||||
|
||||
documentClasses.remove("modal-open");
|
||||
|
||||
this.$emit("cancel");
|
||||
}
|
||||
},
|
||||
|
@ -130,6 +130,12 @@ export default {
|
||||
};
|
||||
},
|
||||
|
||||
created: function () {
|
||||
let documentClasses = document.body.classList;
|
||||
|
||||
documentClasses.add("modal-open");
|
||||
},
|
||||
|
||||
mounted() {
|
||||
if (this.is_component) {
|
||||
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
||||
@ -230,6 +236,10 @@ export default {
|
||||
},
|
||||
|
||||
onCancel() {
|
||||
let documentClasses = document.body.classList;
|
||||
|
||||
documentClasses.remove("modal-open");
|
||||
|
||||
this.$emit("cancel");
|
||||
}
|
||||
},
|
||||
|
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="row col-md-6 pr-0">
|
||||
<base-input :label="title"
|
||||
name="recurring_frequency"
|
||||
:class="frequencyClasses"
|
||||
:error="frequencyError">
|
||||
name="recurring_frequency"
|
||||
:class="frequencyClasses"
|
||||
:error="frequencyError">
|
||||
<el-select v-model="recurring_frequency" @input="change" filterable
|
||||
:placeholder="placeholder">
|
||||
<template slot="prefix">
|
||||
@ -21,22 +21,21 @@
|
||||
</base-input>
|
||||
|
||||
<base-input :label="''"
|
||||
name="recurring_interval"
|
||||
type="number"
|
||||
:value="0"
|
||||
class="recurring-single"
|
||||
:class="invertalClasses"
|
||||
:error="intervalError"
|
||||
v-model="recurring_interval"
|
||||
>
|
||||
name="recurring_interval"
|
||||
type="number"
|
||||
:value="0"
|
||||
class="recurring-single"
|
||||
:class="invertalClasses"
|
||||
:error="intervalError"
|
||||
v-model="recurring_interval"
|
||||
>
|
||||
</base-input>
|
||||
|
||||
<base-input :label="''"
|
||||
name="recurring_custom_frequency"
|
||||
class="recurring-single"
|
||||
:class="customFrequencyClasses"
|
||||
:error="customFrequencyError"
|
||||
>
|
||||
name="recurring_custom_frequency"
|
||||
class="recurring-single"
|
||||
:class="customFrequencyClasses"
|
||||
:error="customFrequencyError">
|
||||
<el-select v-model="recurring_custom_frequency" @input="change" filterable
|
||||
:placeholder="placeholder">
|
||||
<el-option v-for="(label, value) in customFrequencyOptions"
|
||||
@ -48,14 +47,13 @@
|
||||
</base-input>
|
||||
|
||||
<base-input :label="''"
|
||||
name="recurring_count"
|
||||
type="number"
|
||||
:value="0"
|
||||
class="recurring-single"
|
||||
:class="countClasses"
|
||||
:error="countError"
|
||||
v-model="recurring_count"
|
||||
>
|
||||
name="recurring_count"
|
||||
type="number"
|
||||
:value="0"
|
||||
class="recurring-single"
|
||||
:class="countClasses"
|
||||
:error="countError"
|
||||
v-model="recurring_count">
|
||||
</base-input>
|
||||
</div>
|
||||
</template>
|
||||
@ -89,14 +87,22 @@ export default {
|
||||
frequencyValue: null,
|
||||
frequencyError: null,
|
||||
|
||||
intervalValue: null,
|
||||
intervalValue: {
|
||||
type: [Number, String],
|
||||
default: 0,
|
||||
description: "Default interval value"
|
||||
},
|
||||
intervalError: null,
|
||||
|
||||
customFrequencyOptions: null,
|
||||
customFrequencyValue: null,
|
||||
customFrequencyError: null,
|
||||
|
||||
countValue: null,
|
||||
countValue: {
|
||||
type: [Number, String],
|
||||
default: 0,
|
||||
description: "Default count value"
|
||||
},
|
||||
countError: null,
|
||||
|
||||
icon: {
|
||||
@ -107,10 +113,10 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
recurring_frequency: this.frequencyValue,
|
||||
recurring_interval: this.intervalValue,
|
||||
recurring_custom_frequency: this.customFrequencyValue,
|
||||
recurring_count: this.countValue,
|
||||
recurring_frequency: null,
|
||||
recurring_interval: null,
|
||||
recurring_custom_frequency: null,
|
||||
recurring_count: null,
|
||||
frequencyClasses: 'col-md-12',
|
||||
invertalClasses: 'col-md-2 d-none',
|
||||
customFrequencyClasses: 'col-md-4 d-none',
|
||||
@ -118,6 +124,13 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.recurring_frequency = this.frequencyValue;
|
||||
this.recurring_interval = this.intervalValue;
|
||||
this.recurring_custom_frequency = this.customFrequencyValue;
|
||||
this.recurring_count = this.countValue;
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.recurring_frequency = this.frequencyValue;
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,39 +1,39 @@
|
||||
<template>
|
||||
<akaunting-modal
|
||||
:title="title"
|
||||
:show="display"
|
||||
@cancel="onCancel"
|
||||
v-if="display">
|
||||
:title="title"
|
||||
:show="display"
|
||||
@cancel="onCancel"
|
||||
v-if="display">
|
||||
<template #modal-body>
|
||||
<div class="modal-body text-left">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<base-input
|
||||
v-model="form.name"
|
||||
:label="text.name"
|
||||
prepend-icon="fas fa-font"
|
||||
:placeholder="placeholder.name"
|
||||
inputGroupClasses="input-group-merge">
|
||||
v-model="form.name"
|
||||
:label="text.name"
|
||||
prepend-icon="fas fa-font"
|
||||
:placeholder="placeholder.name"
|
||||
inputGroupClasses="input-group-merge">
|
||||
</base-input>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<base-input
|
||||
:label="text.type">
|
||||
:label="text.type">
|
||||
<span class="el-input__prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i class="select-icon-position el-input__icon fa fa-bars"></i>
|
||||
</span>
|
||||
</span>
|
||||
<el-select
|
||||
class="select-primary"
|
||||
v-model="form.class" filterable
|
||||
:placeholder="placeholder.type">
|
||||
class="select-primary"
|
||||
v-model="form.class" filterable
|
||||
:placeholder="placeholder.type">
|
||||
<el-option v-for="(name, value) in types"
|
||||
class="select-primary"
|
||||
:key="name"
|
||||
:label="name"
|
||||
:value="value">
|
||||
class="select-primary"
|
||||
:key="name"
|
||||
:label="name"
|
||||
:value="value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</base-input>
|
||||
@ -41,21 +41,21 @@
|
||||
|
||||
<div class="col-md-6">
|
||||
<base-input
|
||||
:label="text.width">
|
||||
:label="text.width">
|
||||
<span class="el-input__prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i class="select-icon-position el-input__icon fas fa-ruler-horizontal"></i>
|
||||
</span>
|
||||
</span>
|
||||
<el-select
|
||||
class="select-primary"
|
||||
v-model="form.width" filterable
|
||||
:placeholder="placeholder.width">
|
||||
class="select-primary"
|
||||
v-model="form.width" filterable
|
||||
:placeholder="placeholder.width">
|
||||
<el-option v-for="option in widthOptions"
|
||||
class="select-primary"
|
||||
:key="option.label"
|
||||
:label="option.label"
|
||||
:value="option.value">
|
||||
class="select-primary"
|
||||
:key="option.label"
|
||||
:label="option.label"
|
||||
:value="option.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</base-input>
|
||||
@ -63,11 +63,11 @@
|
||||
|
||||
<div class="col-md-6">
|
||||
<base-input
|
||||
v-model="form.sort"
|
||||
:label="text.sort"
|
||||
prepend-icon="fas fa-sort"
|
||||
:placeholder="placeholder.sort"
|
||||
inputGroupClasses="input-group-merge"></base-input>
|
||||
v-model="form.sort"
|
||||
:label="text.sort"
|
||||
prepend-icon="fas fa-sort"
|
||||
:placeholder="placeholder.sort"
|
||||
inputGroupClasses="input-group-merge"></base-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -255,6 +255,10 @@ export default {
|
||||
},
|
||||
|
||||
onCancel() {
|
||||
let documentClasses = document.body.classList;
|
||||
|
||||
documentClasses.remove("modal-open");
|
||||
|
||||
this.display = false;
|
||||
this.form.name = '';
|
||||
this.form.enabled = 1;
|
||||
|
@ -508,6 +508,8 @@ export default {
|
||||
let sum = 0;
|
||||
let isOdd = true;
|
||||
|
||||
this.unMaskCardNumber();
|
||||
|
||||
/*for (let i = number.length - 1; i >= 0; i--) {
|
||||
let num = number.charAt(i);
|
||||
|
||||
|
29
resources/assets/js/views/purchases/bills.js
vendored
29
resources/assets/js/views/purchases/bills.js
vendored
@ -69,7 +69,9 @@ const app = new Vue({
|
||||
|
||||
if (typeof bill_items !== 'undefined' && bill_items) {
|
||||
let items = [];
|
||||
let item_backup = this.form.item_backup[0];
|
||||
let currency_code = this.form.currency_code;
|
||||
|
||||
this.edit.status = true;
|
||||
|
||||
bill_items.forEach(function(item) {
|
||||
@ -119,18 +121,18 @@ const app = new Vue({
|
||||
onCalculateTotal() {
|
||||
let sub_total = 0;
|
||||
let discount_total = 0;
|
||||
let item_discount_total = 0;
|
||||
let line_item_discount_total = 0;
|
||||
let tax_total = 0;
|
||||
let grand_total = 0;
|
||||
let items = this.form.items;
|
||||
let discount_in_totals = this.form.discount;
|
||||
let discount = '';
|
||||
|
||||
if (items.length) {
|
||||
let index = 0;
|
||||
|
||||
// get all items.
|
||||
for (index = 0; index < items.length; index++) {
|
||||
let discount = 0;
|
||||
// get row item and set item variable.
|
||||
let item = items[index];
|
||||
|
||||
@ -138,6 +140,15 @@ const app = new Vue({
|
||||
let item_total = item.price * item.quantity;
|
||||
|
||||
// item discount calculate.
|
||||
let line_discount_amount = 0;
|
||||
|
||||
if (item.discount) {
|
||||
line_discount_amount = item_total * (item.discount / 100);
|
||||
|
||||
item_discounted_total = item_total -= line_discount_amount;
|
||||
discount = item.discount;
|
||||
}
|
||||
|
||||
let item_discounted_total = item_total;
|
||||
|
||||
if (discount_in_totals) {
|
||||
@ -145,14 +156,6 @@ const app = new Vue({
|
||||
discount = discount_in_totals;
|
||||
}
|
||||
|
||||
let discount_amount = 0;
|
||||
|
||||
if (item.discount) {
|
||||
discount_amount = item_total * (item.discount / 100);
|
||||
item_discounted_total = item_total - discount_amount;
|
||||
discount = item.discount;
|
||||
}
|
||||
|
||||
// item tax calculate.
|
||||
let item_tax_total = 0;
|
||||
|
||||
@ -220,7 +223,7 @@ const app = new Vue({
|
||||
}
|
||||
|
||||
// calculate sub, tax, discount all items.
|
||||
item_discount_total += discount_amount;
|
||||
line_item_discount_total += line_discount_amount;
|
||||
sub_total += item_total;
|
||||
tax_total += item_tax_total;
|
||||
}
|
||||
@ -229,9 +232,7 @@ const app = new Vue({
|
||||
// set global total variable.
|
||||
this.totals.sub = sub_total;
|
||||
this.totals.tax = tax_total;
|
||||
this.totals.item_discount = item_discount_total;
|
||||
|
||||
sub_total -= item_discount_total;
|
||||
this.totals.item_discount = line_item_discount_total;
|
||||
|
||||
// Apply discount to total
|
||||
if (discount_in_totals) {
|
||||
|
29
resources/assets/js/views/sales/invoices.js
vendored
29
resources/assets/js/views/sales/invoices.js
vendored
@ -69,7 +69,9 @@ const app = new Vue({
|
||||
|
||||
if (typeof invoice_items !== 'undefined' && invoice_items) {
|
||||
let items = [];
|
||||
let item_backup = this.form.item_backup[0];
|
||||
let currency_code = this.form.currency_code;
|
||||
|
||||
this.edit.status = true;
|
||||
|
||||
invoice_items.forEach(function(item) {
|
||||
@ -119,18 +121,18 @@ const app = new Vue({
|
||||
onCalculateTotal() {
|
||||
let sub_total = 0;
|
||||
let discount_total = 0;
|
||||
let item_discount_total = 0;
|
||||
let line_item_discount_total = 0;
|
||||
let tax_total = 0;
|
||||
let grand_total = 0;
|
||||
let items = this.form.items;
|
||||
let discount_in_totals = this.form.discount;
|
||||
let discount = '';
|
||||
|
||||
if (items.length) {
|
||||
let index = 0;
|
||||
|
||||
// get all items.
|
||||
for (index = 0; index < items.length; index++) {
|
||||
let discount = 0;
|
||||
// get row item and set item variable.
|
||||
let item = items[index];
|
||||
|
||||
@ -138,6 +140,15 @@ const app = new Vue({
|
||||
let item_total = item.price * item.quantity;
|
||||
|
||||
// item discount calculate.
|
||||
let line_discount_amount = 0;
|
||||
|
||||
if (item.discount) {
|
||||
line_discount_amount = item_total * (item.discount / 100);
|
||||
|
||||
item_discounted_total = item_total -= line_discount_amount;
|
||||
discount = item.discount;
|
||||
}
|
||||
|
||||
let item_discounted_total = item_total;
|
||||
|
||||
if (discount_in_totals) {
|
||||
@ -145,14 +156,6 @@ const app = new Vue({
|
||||
discount = discount_in_totals;
|
||||
}
|
||||
|
||||
let discount_amount = 0;
|
||||
|
||||
if (item.discount) {
|
||||
discount_amount = item_total * (item.discount / 100);
|
||||
item_discounted_total = item_total - discount_amount;
|
||||
discount = item.discount;
|
||||
}
|
||||
|
||||
// item tax calculate.
|
||||
let item_tax_total = 0;
|
||||
|
||||
@ -220,7 +223,7 @@ const app = new Vue({
|
||||
}
|
||||
|
||||
// calculate sub, tax, discount all items.
|
||||
item_discount_total += discount_amount;
|
||||
line_item_discount_total += line_discount_amount;
|
||||
sub_total += item_total;
|
||||
tax_total += item_tax_total;
|
||||
}
|
||||
@ -229,9 +232,7 @@ const app = new Vue({
|
||||
// set global total variable.
|
||||
this.totals.sub = sub_total;
|
||||
this.totals.tax = tax_total;
|
||||
this.totals.item_discount = item_discount_total;
|
||||
|
||||
sub_total -= item_discount_total;
|
||||
this.totals.item_discount = line_item_discount_total;
|
||||
|
||||
// Apply discount to total
|
||||
if (discount_in_totals) {
|
||||
|
@ -106,5 +106,9 @@ const app = new Vue({
|
||||
.catch(error => {
|
||||
});
|
||||
},
|
||||
|
||||
onSubmit() {
|
||||
this.form.oldSubmit();
|
||||
},
|
||||
}
|
||||
});
|
||||
|
4
resources/assets/js/views/wizard/taxes.js
vendored
4
resources/assets/js/views/wizard/taxes.js
vendored
@ -78,5 +78,9 @@ const app = new Vue({
|
||||
|
||||
this.show = true;
|
||||
},
|
||||
|
||||
onSubmit() {
|
||||
this.form.oldSubmit();
|
||||
},
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user