123 lines
3.8 KiB
JavaScript
Vendored
123 lines
3.8 KiB
JavaScript
Vendored
/**
|
|
* First we will load all of this project's JavaScript dependencies which
|
|
* includes Vue and other libraries. It is a great starting point when
|
|
* building robust, powerful web applications using Vue and Laravel.
|
|
*/
|
|
|
|
require('./../../bootstrap');
|
|
|
|
import Vue from 'vue';
|
|
|
|
import DashboardPlugin from './../../plugins/dashboard-plugin';
|
|
|
|
import Global from './../../mixins/global';
|
|
|
|
import Form from './../../plugins/form';
|
|
import BulkAction from './../../plugins/bulk-action';
|
|
|
|
// plugin setup
|
|
Vue.use(DashboardPlugin);
|
|
|
|
const app = new Vue({
|
|
el: '#app',
|
|
|
|
mixins: [
|
|
Global
|
|
],
|
|
|
|
data: function () {
|
|
return {
|
|
form: new Form('item'),
|
|
bulk_action: new BulkAction('items'),
|
|
regex_condition: [
|
|
'..',
|
|
'.,',
|
|
',.',
|
|
',,'
|
|
],
|
|
sale_information : false,
|
|
purchase_information : false
|
|
}
|
|
},
|
|
|
|
watch: {
|
|
'form.sale_price': function (newVal, oldVal) {
|
|
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) {
|
|
this.form.sale_price = oldVal;
|
|
return;
|
|
}
|
|
|
|
for (let item of this.regex_condition) {
|
|
if (this.form.sale_price.includes(item)) {
|
|
const removeLastChar = newVal.length - 1;
|
|
const inputShown = newVal.slice(0, removeLastChar);
|
|
this.form.sale_price = inputShown;
|
|
}
|
|
}
|
|
},
|
|
|
|
'form.purchase_price': function (newVal, oldVal) {
|
|
if (newVal != '' && newVal.search('^(?=.*?[0-9])[0-9.,]+$') !== 0) {
|
|
this.form.purchase_price = oldVal;
|
|
return;
|
|
}
|
|
|
|
for (let item of this.regex_condition) {
|
|
if (this.form.purchase_price.includes(item)) {
|
|
const removeLastChar = newVal.length - 1;
|
|
const inputShown = newVal.slice(0, removeLastChar);
|
|
this.form.purchase_price = inputShown;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
mounted() {
|
|
if (this.form.sale_price != '' && this.form.purchase_price == '') {
|
|
this.form.sale_information = true;
|
|
this.form.purchase_information = false;
|
|
this.purchase_information = true;
|
|
} else if (this.form.sale_price == '' && this.form.purchase_price != '') {
|
|
this.form.sale_information = false;
|
|
this.form.purchase_information = true;
|
|
this.sale_information = true;
|
|
} else {
|
|
this.form.sale_information = true;
|
|
this.form.purchase_information = true;
|
|
}
|
|
},
|
|
|
|
methods:{
|
|
onInformation(event, type) {
|
|
if (event.target.checked) {
|
|
if (type == 'sale') {
|
|
this.sale_information = false;
|
|
this.form.sale_price = '';
|
|
this.form.purchase_information = true;
|
|
} else {
|
|
this.purchase_information = false;
|
|
this.form.purchase_price = '';
|
|
}
|
|
} else {
|
|
if (type == 'sale') {
|
|
if (! this.form.purchase_information) {
|
|
this.purchase_information = false;
|
|
this.form.purchase_information = true;
|
|
}
|
|
|
|
this.sale_information = true;
|
|
this.form.sale_price = '';
|
|
} else {
|
|
if (! this.form.sale_information) {
|
|
this.sale_information = false;
|
|
this.form.sale_information = true;
|
|
}
|
|
|
|
this.purchase_information = true;
|
|
this.form.purchase_price = '';
|
|
}
|
|
}
|
|
},
|
|
}
|
|
});
|