128 lines
4.3 KiB
JavaScript
Vendored
128 lines
4.3 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('./../../../../../resources/assets/js/bootstrap');
|
|
|
|
import Vue from 'vue';
|
|
|
|
import Global from './../../../../../resources/assets/js/mixins/global';
|
|
|
|
import Form from './../../../../../resources/assets/js/plugins/form';
|
|
|
|
import DashboardPlugin from './../../../../../resources/assets/js/plugins/dashboard-plugin';
|
|
|
|
// plugin setup
|
|
Vue.use(DashboardPlugin);
|
|
|
|
const app = new Vue({
|
|
el: '#app',
|
|
|
|
mixins: [
|
|
Global
|
|
],
|
|
|
|
data() {
|
|
return {
|
|
form: new Form('offline-payment'),
|
|
}
|
|
},
|
|
|
|
methods:{
|
|
onEdit(event) {
|
|
var code = event.target.dataset.code;
|
|
|
|
this.form.loading = true;
|
|
|
|
axios.post('settings/get', {
|
|
code: code
|
|
})
|
|
.then(response => {
|
|
this.form.name = response.data.data.name;
|
|
this.form.code = response.data.data.code;
|
|
this.form.customer = response.data.data.customer;
|
|
this.form.order = response.data.data.order;
|
|
this.form.description = response.data.data.description;
|
|
this.form.update_code = response.data.data.update_code;
|
|
this.form.loading = false;
|
|
})
|
|
.catch(error => {
|
|
this.form.loading = false;
|
|
});
|
|
},
|
|
|
|
// Actions > Delete
|
|
confirmDelete(code, title, message, button_cancel, button_delete) {
|
|
let confirm = {
|
|
code: code,
|
|
url: url,
|
|
title: title,
|
|
message: message,
|
|
button_cancel: button_cancel,
|
|
button_delete: button_delete,
|
|
show: true
|
|
};
|
|
|
|
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
|
resolve({
|
|
template : '<div id="dynamic-component"><akaunting-modal v-if="confirm.show" :show="confirm.show" :title="confirm.title" :message="confirm.message" :button_cancel="confirm.button_cancel" :button_delete="confirm.button_delete" @confirm="onDelete" @cancel="cancelDelete"></akaunting-modal></div>',
|
|
|
|
mixins: [
|
|
Global
|
|
],
|
|
|
|
data: function () {
|
|
return {
|
|
confirm: confirm,
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
// Delete action post
|
|
async onDelete() {
|
|
let promise = Promise.resolve(axios({
|
|
method: 'DELETE',
|
|
url: 'settings/delete',
|
|
data: {
|
|
code: this.confirm.code
|
|
}
|
|
}));
|
|
|
|
promise.then(response => {
|
|
var type = (response.data.success) ? 'success' : 'warning';
|
|
|
|
if (response.data.success) {
|
|
if (response.data.redirect) {
|
|
//window.location.href = response.data.redirect;
|
|
}
|
|
|
|
document.getElementById('method-' + this.confirm.code).remove();
|
|
|
|
this.confirm.show = false;
|
|
}
|
|
|
|
this.$notify({
|
|
message: response.data.message,
|
|
timeout: 5000,
|
|
icon: 'fas fa-bell',
|
|
type
|
|
});
|
|
})
|
|
.catch(error => {
|
|
this.success = false;
|
|
});
|
|
},
|
|
|
|
// Close modal empty default value
|
|
cancelDelete() {
|
|
this.confirm.show = false;
|
|
},
|
|
}
|
|
})
|
|
});
|
|
}
|
|
}
|
|
});
|