45 lines
1.3 KiB
JavaScript
Vendored
45 lines
1.3 KiB
JavaScript
Vendored
import axios from "axios";
|
|
|
|
const state = {
|
|
monto_por_olla: undefined,
|
|
};
|
|
|
|
const mutations = {
|
|
setMontoPorOlla(state, parametros) {
|
|
state.monto_por_olla = Number.parseInt(parametros.find(p => p.id === 'monto-olla').valor);
|
|
},
|
|
};
|
|
|
|
const actions = {
|
|
async getMontoPorOlla({ commit }) {
|
|
const response = await axios.get('/api/parametros');
|
|
commit('setMontoPorOlla', response.data);
|
|
},
|
|
async actualizarCantidadOllas({ rootState, dispatch }, { cantidad: cantidad}) {
|
|
try {
|
|
const barrio = rootState.pedido.grupo_de_compra.id;
|
|
const params = { cantidad : cantidad };
|
|
await axios.put(`/ollas/${barrio}/cantidad`, params);
|
|
dispatch("ui/toast", { mensaje: 'Cantidad modificada con éxito' }, { root: true });
|
|
} catch (error) {
|
|
dispatch("ui/error", { error: { message: "Cantidad inválida" } }, { root: true });
|
|
}
|
|
}
|
|
};
|
|
|
|
const getters = {
|
|
montoTotal(state, _, rootState) {
|
|
return state.monto_por_olla * rootState.pedido.cantidad_de_ollas;
|
|
},
|
|
montoSuperado: (_, getters, rootState) => {
|
|
return rootState.pedido.total > getters.montoTotal;
|
|
}
|
|
};
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions,
|
|
getters,
|
|
};
|