From 02aba80fc94c7514591969ef5718a7adb7053037 Mon Sep 17 00:00:00 2001 From: Rodrigo Date: Sat, 14 Jun 2025 17:40:40 -0300 Subject: [PATCH] Comisiones store --- resources/js/components/compras/Body.vue | 35 ++++++++++++++++++++++-- resources/js/store/index.js | 2 ++ resources/js/store/modules/comisiones.js | 28 +++++++++++++++++++ routes/api.php | 1 + 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 resources/js/store/modules/comisiones.js diff --git a/resources/js/components/compras/Body.vue b/resources/js/components/compras/Body.vue index 72d6bb0..41af6a6 100644 --- a/resources/js/components/compras/Body.vue +++ b/resources/js/components/compras/Body.vue @@ -41,6 +41,22 @@ +
+
+ + + + + + + +
{{ gdc.nombre }}{{ gdc.saldo }}
+
+
@@ -48,6 +64,7 @@ import TabsSecciones from "../comunes/TabsSecciones.vue"; import DropdownDescargar from "./DropdownDescargar.vue"; import CanastaInput from "./CanastaInput.vue"; +import { mapActions, mapState } from "vuex"; export default { components: { @@ -57,8 +74,11 @@ export default { }, data() { return { - tabs: [{ id: "pedidos-compras", nombre: "Pedidos" }, - { id: "canasta-compras", nombre: "Canasta" }], + tabs: [ + { id: "pedidos-compras", nombre: "Pedidos" }, + { id: "canasta-compras", nombre: "Canasta" }, + { id: "saldos-compras", nombre: "Saldos" }, + ], tabActiva: "pedidos-compras", seccionActiva: "pedidos-compras-seccion", archivo: undefined, @@ -69,6 +89,15 @@ export default { this.tabActiva = tabId; this.seccionActiva = tabId + "-seccion"; }, - } + ...mapActions('comisiones', ['getGruposDeCompra']), + }, + computed: { + ...mapState('comisiones', [ + 'grupos_de_compra', + ]), + }, + async mounted() { + await this.getGruposDeCompra(); + }, } diff --git a/resources/js/store/index.js b/resources/js/store/index.js index a0f3a09..210c418 100644 --- a/resources/js/store/index.js +++ b/resources/js/store/index.js @@ -1,6 +1,7 @@ import Vue from 'vue'; import Vuex from 'vuex'; import admin from "./modules/admin"; +import comisiones from "./modules/comisiones"; import login from "./modules/login"; import pedido from "./modules/pedido"; import productos from "./modules/productos"; @@ -11,6 +12,7 @@ Vue.use(Vuex); export default new Vuex.Store({ modules: { admin, + comisiones, login, pedido, productos, diff --git a/resources/js/store/modules/comisiones.js b/resources/js/store/modules/comisiones.js new file mode 100644 index 0000000..04f480f --- /dev/null +++ b/resources/js/store/modules/comisiones.js @@ -0,0 +1,28 @@ +import axios from "axios"; + +const state = { + grupos_de_compra: null, +}; + +const mutations = { + setGruposDeCompra(state, { grupos_de_compra }) { + state.grupos_de_compra = grupos_de_compra; + }, +}; + +const actions = { + async getGruposDeCompra({ commit }) { + const response = await axios.get('/api/grupos-de-compra'); + commit('setGruposDeCompra', response.data); + }, +}; + +const getters = {}; + +export default { + namespaced: true, + state, + mutations, + actions, + getters, +}; diff --git a/routes/api.php b/routes/api.php index 21f7fd5..7747128 100644 --- a/routes/api.php +++ b/routes/api.php @@ -18,6 +18,7 @@ Route::middleware('api')->group(function() { Route::get('/regiones/{region}', 'Api\GrupoDeCompraController@region'); Route::prefix('grupos-de-compra')->group(function() { + Route::get('/', 'Api\GrupoDeCompraController@index'); Route::get('/{grupoDeCompra}', 'Api\GrupoDeCompraController@show'); Route::post('/{gdc}/devoluciones', 'Api\GrupoDeCompraController@toggleDevoluciones'); });