2022-01-08 02:53:00 -03:00
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
*/
|
2022-05-25 19:03:29 -03:00
|
|
|
import axios from 'axios';
|
|
|
|
import animate from 'animate.css';
|
2023-05-27 20:08:55 -03:00
|
|
|
import Vue from 'vue';
|
2022-01-08 02:53:00 -03:00
|
|
|
window.Vue = require('vue');
|
2022-05-25 19:03:29 -03:00
|
|
|
window.Event = new Vue();
|
|
|
|
window.axios = axios;
|
|
|
|
window.bulmaToast = require('bulma-toast');
|
2022-01-08 02:53:00 -03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The following block of code may be used to automatically register your
|
|
|
|
* Vue components. It will recursively scan this directory for the Vue
|
|
|
|
* components and automatically register them with their "basename".
|
|
|
|
*
|
|
|
|
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
|
|
|
|
*/
|
2022-05-25 19:03:29 -03:00
|
|
|
const files = require.context('./', true, /\.vue$/i)
|
|
|
|
files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
|
2023-05-27 11:20:38 -03:00
|
|
|
/**
|
2023-05-27 20:08:55 -03:00
|
|
|
* Constants
|
2023-05-27 11:20:38 -03:00
|
|
|
*/
|
2023-05-27 20:08:55 -03:00
|
|
|
Vue.prototype.$rootMiga = {
|
|
|
|
nombre: "Categorías",
|
|
|
|
href: "/productos"
|
|
|
|
}
|
2023-05-27 15:33:08 -03:00
|
|
|
/**
|
|
|
|
* Global methods
|
|
|
|
*/
|
2023-05-27 20:08:55 -03:00
|
|
|
Vue.prototype.$settearProducto = function(cantidad, id) {
|
|
|
|
Event.$emit("sync-subpedido", this.cant, this.producto.id)
|
|
|
|
}
|
|
|
|
Vue.prototype.$toast = function(mensaje) {
|
|
|
|
return window.bulmaToast.toast({
|
|
|
|
message: mensaje,
|
|
|
|
duration: 1000,
|
|
|
|
type: 'is-danger',
|
|
|
|
position: 'bottom-center',
|
|
|
|
animate: { in: 'fadeIn', out: 'fadeOut' }
|
|
|
|
});
|
|
|
|
}
|
2023-05-27 11:20:38 -03:00
|
|
|
|
2022-01-08 02:53:00 -03:00
|
|
|
/**
|
|
|
|
* Next, we will create a fresh Vue application instance and attach it to
|
|
|
|
* the page. Then, you may begin adding components to this application
|
|
|
|
* or customize the JavaScript scaffolding to fit your unique needs.
|
|
|
|
*/
|
|
|
|
const app = new Vue({
|
2023-05-27 20:08:55 -03:00
|
|
|
el: '#root',
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
gdc: null,
|
|
|
|
pedido: null
|
|
|
|
}
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
Event.$on('obtener-sesion', () => {
|
|
|
|
axios.get('/subpedidos/obtener_sesion')
|
|
|
|
.then(response => {
|
|
|
|
this.pedido = response.data.subpedido.id
|
|
|
|
axios.get('/api/subpedidos/' + this.pedido)
|
|
|
|
.then(response => {
|
|
|
|
this.pedido = response.data.data
|
|
|
|
this.gdc = this.pedido.grupo_de_compra.id
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
Event.$on('sync-subpedido', (cantidad, id) => {
|
|
|
|
axios.post("/api/subpedidos/" + this.pedido.id + "/sync", {
|
|
|
|
cantidad: cantidad,
|
|
|
|
producto_id: id
|
|
|
|
}).then((response) => {
|
|
|
|
this.pedido = response.data.data
|
|
|
|
this.$toast('Pedido actualizado exitosamente')
|
|
|
|
});
|
|
|
|
});
|
|
|
|
Event.$on('aprobacion-subpedido', (subpedidoId, aprobado) => {
|
|
|
|
axios.post("/api/admin/subpedidos/" + subpedidoId + "/aprobacion", {
|
|
|
|
aprobacion: aprobado
|
|
|
|
}).then((response) => {
|
|
|
|
Event.$emit('sync-aprobacion', response.data.data);
|
|
|
|
this.$toast('Pedido ' + (aprobado ? 'aprobado' : 'desaprobado') + ' exitosamente')
|
|
|
|
})
|
|
|
|
})
|
|
|
|
Event.$emit('obtener-sesion')
|
|
|
|
},
|
2022-01-08 02:53:00 -03:00
|
|
|
});
|
2023-05-27 11:20:38 -03:00
|
|
|
|