From e37aa25b3dc5b126c48dc63fabbdae8ee68798b8 Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 23 Jun 2025 19:12:19 -0300 Subject: [PATCH] Agregados seccion, fila, y logica para obtener y modificar parametros desde comisiones --- resources/js/components/comisiones/Body.vue | 9 ++- .../comisiones/parametros/FilaParametro.vue | 71 +++++++++++++++++++ .../parametros/ParametrosSeccion.vue | 41 +++++++++++ resources/js/store/modules/comisiones.js | 26 +++++++ 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 resources/js/components/comisiones/parametros/FilaParametro.vue create mode 100644 resources/js/components/comisiones/parametros/ParametrosSeccion.vue diff --git a/resources/js/components/comisiones/Body.vue b/resources/js/components/comisiones/Body.vue index 56287e4..3614c64 100644 --- a/resources/js/components/comisiones/Body.vue +++ b/resources/js/components/comisiones/Body.vue @@ -18,6 +18,11 @@ :class="seccionActiva === 'saldos-comisiones-seccion' ? 'is-active' : 'is-hidden'"> +
+ +
@@ -27,11 +32,12 @@ import DropdownDescargar from "./DropdownDescargar.vue"; import InputFileButton from "../comunes/InputFileButton.vue"; import CanastaSeccion from "./canasta/CanastaSeccion.vue"; import SaldosSeccion from "./saldos/SaldosSeccion.vue"; -import { mapActions } from "vuex"; +import ParametrosSeccion from "./parametros/ParametrosSeccion.vue"; export default { name: "ComisionesBody", components: { + ParametrosSeccion, SaldosSeccion, CanastaSeccion, TabsSecciones, @@ -44,6 +50,7 @@ export default { { id: "pedidos-comisiones", nombre: "Pedidos" }, { id: "canasta-comisiones", nombre: "Canasta" }, { id: "saldos-comisiones", nombre: "Saldos" }, + { id: "parametros-comisiones", nombre: "Parámetros" }, ], tabActiva: "pedidos-comisiones", seccionActiva: "pedidos-comisiones-seccion", diff --git a/resources/js/components/comisiones/parametros/FilaParametro.vue b/resources/js/components/comisiones/parametros/FilaParametro.vue new file mode 100644 index 0000000..99add70 --- /dev/null +++ b/resources/js/components/comisiones/parametros/FilaParametro.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/resources/js/components/comisiones/parametros/ParametrosSeccion.vue b/resources/js/components/comisiones/parametros/ParametrosSeccion.vue new file mode 100644 index 0000000..dbdc80f --- /dev/null +++ b/resources/js/components/comisiones/parametros/ParametrosSeccion.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/resources/js/store/modules/comisiones.js b/resources/js/store/modules/comisiones.js index 4857cc0..414e84c 100644 --- a/resources/js/store/modules/comisiones.js +++ b/resources/js/store/modules/comisiones.js @@ -3,6 +3,7 @@ import axios from "axios"; const state = { lastFetch: undefined, grupos_de_compra: [], + parametros: [], }; const mutations = { @@ -10,6 +11,15 @@ const mutations = { state.grupos_de_compra = data; state.lastFetch = new Date(); }, + setParametros(state, parametros) { + state.parametros = parametros; + state.parametros.forEach( + p => p.valor = Number.parseInt(p.valor) + ); + }, + actualizarParametro(state, { parametro_id, valor }) { + state.parametros.find(p => p.id === parametro_id).valor = valor; + }, setSaldo(state, { gdc_id, saldo }) { const barrio = state.grupos_de_compra.find(gdc => gdc.id === gdc_id); const i = state.grupos_de_compra.indexOf(barrio); @@ -22,6 +32,22 @@ const actions = { const response = await axios.get('/api/grupos-de-compra/saldos'); commit('setGruposDeCompra', response.data); }, + async getParametros({ commit }) { + const response = await axios.get('/api/parametros'); + commit('setParametros', response.data); + }, + async cambiarParametro({ commit, dispatch }, { parametro_id, valor }) { + try { + await axios.put( + `/comisiones/parametros/${parametro_id}`, + { valor: valor } + ); + commit('actualizarParametro', { parametro_id, valor }); + dispatch("ui/toast", { mensaje: 'Parámetro modificado con éxito' }, { root: true }); + } catch (error) { + dispatch("ui/error", { error: error }, { root: true }); + } + }, async setSaldo({ commit, dispatch }, { gdc_id, saldo }) { try { await axios.post(