Eliminada store de barrio, logica de pedidos existentes pasada a pedido select y datos de grupo de compra pasados a store de pedido

This commit is contained in:
Alejandro Tasistro 2025-05-27 18:14:00 -03:00
parent 4e197204a9
commit 2bfcf59f3e
6 changed files with 26 additions and 58 deletions

View file

@ -6,7 +6,7 @@
</a>
<div class="navbar-item" id="datos-pedido" v-if="pedidoDefinido">
<p class="hide-below-1024">
{{ `Núcleo: ${nombre} - Barrio: ${grupo_de_compra}` }}
{{ `Núcleo: ${nombre} - Barrio: ${grupo_de_compra.nombre}` }}
</p>
</div>
<chismosa-dropdown
@ -63,7 +63,7 @@ export default {
computed: {
...mapGetters('pedido', ["pedidoDefinido"]),
...mapState('pedido',["nombre"]),
...mapState('barrio',["grupo_de_compra"]),
...mapState('pedido',["grupo_de_compra"]),
},
methods: {
...mapActions('productos', ["filtrarProductos"]),

View file

@ -15,7 +15,7 @@
<th class="has-text-right">{{ cantidad_transporte }}</th>
<th class="has-text-right">{{ total_transporte }}</th>
</tr>
<tr v-if="devoluciones_habilitadas">
<tr v-if="grupo_de_compra.devoluciones_habilitadas">
<th><p>Devoluciones</p></th>
<td>
<abbr :title="devoluciones_notas">{{ notas_abreviadas }}</abbr>
@ -51,8 +51,8 @@ import { mapMutations, mapState } from "vuex";
export default {
components: { ProductoRow },
computed: {
...mapState('barrio',["devoluciones_habilitadas"]),
...mapState('pedido',[
"grupo_de_compra",
"productos",
"total",
"total_transporte",

View file

@ -66,20 +66,28 @@ export default {
},
data() {
return {
searchString: null
pedidos: [],
searchString: null,
}
},
computed: {
...mapState('barrio',["grupo_de_compra_id","pedidos"]),
...mapState('pedido', ["grupo_de_compra"]),
deshabilitado: function () {
return !this.searchString?.trim()
|| this.pedidos.some(p => p.nombre.toLowerCase() === this.searchString.toLowerCase())
}
},
methods: {
...mapActions('barrio',["getGrupoDeCompra","getPedidos"]),
...mapActions('pedido',["crearPedido","elegirPedido"]),
...mapMutations('barrio',["setPedidos"]),
...mapActions('pedido', ["getGrupoDeCompra", "crearPedido", "elegirPedido"]),
async getPedidos(nombre) {
const response = await axios.get('/api/subpedidos/',{
params: {
nombre: nombre,
grupo_de_compra: this.grupo_de_compra.id
}
});
this.pedidos = response.data;
},
onType() {
if (!this.searchString) {
this.setPedidos([]);
@ -91,7 +99,7 @@ export default {
if (pedido)
await this.elegirPedido({ pedido_id: pedido.id });
else
await this.crearPedido({ nombre: this.searchString, grupo_de_compra_id: this.grupo_de_compra_id });
await this.crearPedido({ nombre: this.searchString, grupo_de_compra_id: this.grupo_de_compra.id });
},
}
}

View file

@ -3,7 +3,6 @@ import Vuex from 'vuex';
import admin from "./modules/admin";
import login from "./modules/login";
import pedido from "./modules/pedido";
import barrio from "./modules/barrio";
import productos from "./modules/productos";
import ui from "./modules/ui";
@ -14,7 +13,6 @@ export default new Vuex.Store({
admin,
login,
pedido,
barrio,
productos,
ui,
},

View file

@ -1,45 +0,0 @@
import axios from "axios";
const state = {
grupo_de_compra_id: null,
grupo_de_compra: null,
devoluciones_habilitadas: null,
pedidos: [],
};
const mutations = {
setGrupoDeCompra(state, { grupo_de_compra }) {
state.grupo_de_compra_id = grupo_de_compra.id;
state.grupo_de_compra = grupo_de_compra.nombre;
state.devoluciones_habilitadas = grupo_de_compra.devoluciones_habilitadas;
},
setPedidos(state, pedidos) {
state.pedidos = pedidos;
},
};
const actions = {
async getGrupoDeCompra({ commit }) {
const response = await axios.get('/user/grupo_de_compra');
commit('setGrupoDeCompra', response.data);
},
async getPedidos({ commit }, nombre) {
const response = await axios.get('/api/subpedidos/',{
params: {
nombre: nombre,
grupo_de_compra: state.grupo_de_compra_id
}
});
commit('setPedidos', response.data);
},
async limpiarPedidos({ commit }) {
commit('setPedidos', []);
}
};
export default {
namespaced: true,
state,
mutations,
actions,
};

View file

@ -2,6 +2,7 @@ import axios from "axios";
const state = {
lastFetch: null,
grupo_de_compra: null,
pedido_id: null,
nombre: null,
productos: null,
@ -15,6 +16,9 @@ const state = {
};
const mutations = {
setGrupoDeCompra(state, grupo_de_compra) {
state.grupo_de_compra = grupo_de_compra;
},
setPedido(state, pedido) {
state.lastFetch = new Date();
state.pedido_id = pedido.id;
@ -44,6 +48,10 @@ const mutations = {
};
const actions = {
async getGrupoDeCompra({ commit }) {
const response = await axios.get('/user/grupo_de_compra');
commit('setGrupoDeCompra', response.data.grupo_de_compra);
},
async guardarSesion(_, { pedido_id }) {
await axios.post("/pedido/sesion", { id: pedido_id });
},
@ -87,7 +95,6 @@ const actions = {
},
async resetear({ commit, dispatch }) {
await axios.delete("/pedido/sesion");
dispatch("barrio/limpiarPedidos", null, { root: true });
dispatch("productos/getProductos", null, { root: true });
commit('reset');
},