63 lines
1.8 KiB
JavaScript
Vendored
63 lines
1.8 KiB
JavaScript
Vendored
import axios from "axios";
|
|
|
|
const state = {
|
|
grupos_de_compra: [],
|
|
};
|
|
|
|
const mutations = {
|
|
setGruposDeCompra(state, { data }) {
|
|
state.grupos_de_compra = data;
|
|
},
|
|
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);
|
|
state.grupos_de_compra[i].saldo = saldo;
|
|
},
|
|
};
|
|
|
|
const actions = {
|
|
async getGruposDeCompra({ commit }) {
|
|
const response = await axios.get('/api/grupos-de-compra/saldos');
|
|
commit('setGruposDeCompra', response.data);
|
|
},
|
|
async setSaldo({ commit, dispatch }, { gdc_id, saldo }) {
|
|
try {
|
|
await axios.post(
|
|
"api/grupos-de-compra/" + gdc_id + "/saldo",
|
|
{ saldo: saldo }
|
|
);
|
|
commit('setSaldo', { gdc_id: gdc_id, saldo: saldo });
|
|
dispatch("ui/toast", { mensaje: 'Saldo modificado con éxito' }, { root: true });
|
|
} catch (error) {
|
|
dispatch("ui/error", { error: error }, { root: true });
|
|
}
|
|
},
|
|
async cargarSaldos({ commit, dispatch }, formData) {
|
|
try {
|
|
const response = await axios.post("/comisiones/saldos", formData, {
|
|
headers: {
|
|
"Content-Type": "multipart/form-data",
|
|
},
|
|
});
|
|
commit('setGruposDeCompra', response);
|
|
dispatch("ui/toast", { mensaje: 'Saldos cargados con éxito' }, { root: true });
|
|
} catch (error) {
|
|
console.log(error);
|
|
dispatch("ui/error", { error: error }, { root: true });
|
|
}
|
|
},
|
|
};
|
|
|
|
const getters = {
|
|
saldo() {
|
|
return (gdc_id) => state.grupos_de_compra.find(gdc => gdc.id === gdc_id)?.saldo ?? 0;
|
|
},
|
|
};
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions,
|
|
getters,
|
|
};
|