This commit is contained in:
Alejandro Tasistro 2025-05-21 18:44:22 -03:00
parent dd30726d10
commit 020d554019

View file

@ -1,28 +1,32 @@
<template> <template>
<div> <div>
<label class="label">Escribí el nombre de tu familia o grupo de convivencia</label> <label class="label">Escribí el nombre de tu familia o grupo de convivencia</label>
<div class="columns"> <div class="columns">
<div class="column is-two-thirds"> <div class="column is-two-thirds">
<div class="field"> <div class="field">
<div class="control"> <div class="control">
<input class="input" @input="onType" v-model="subpedido"/> <input class="input" @input="onType" v-model="subpedido"/>
</div> </div>
<p class="help">Debe ser claro para que tus compas del barrio te identifiquen.</p> <p class="help">Debe ser claro para que tus compas del barrio te identifiquen.</p>
</div> </div>
</div> </div>
<div class="column is-one-third buttons"> <div class="column is-one-third buttons">
<button class="button is-danger" v-show="!botonCrearDesabilitado" @click="submit">Crear nuevo pedido</button> <button class="button is-danger" v-show="!botonCrearDesabilitado" @click="submit">Crear nuevo pedido
</div> </button>
</div> </div>
</div>
<div v-if="subpedidosExistentes.length" class="block"> <div v-if="subpedidosExistentes.length" class="block">
<label class="label">Si ya comenzaste a hacer tu pedido este mes, elegilo en esta lista:</label> <label class="label">Si ya comenzaste a hacer tu pedido este mes, elegilo en esta lista:</label>
<p class="help">Podés seguir escribiendo en el campo de arriba para refinar la búsqueda.</p> <p class="help">Podés seguir escribiendo en el campo de arriba para refinar la búsqueda.</p>
<div class="columns is-mobile" v-for="(subpedidoExistente, index) in subpedidosExistentes" :class="{'has-background-grey-lighter': index % 2}" :key="index"> <div class="columns is-mobile" v-for="(subpedidoExistente, index) in subpedidosExistentes"
:class="{'has-background-grey-lighter': index % 2}" :key="index">
<div class="column is-half-mobile is-two-thirds-desktop is-two-thirds-tablet"> <div class="column is-half-mobile is-two-thirds-desktop is-two-thirds-tablet">
<p style="padding-top: calc(.5em - 1px); margin-bottom: .5rem" v-text="subpedidoExistente.nombre"></p> <p style="padding-top: calc(.5em - 1px); margin-bottom: .5rem"
v-text="subpedidoExistente.nombre"></p>
</div> </div>
<div class="buttons column is-half-mobile is-one-third-desktop is-one-third-tablet"> <div class="buttons column is-half-mobile is-one-third-desktop is-one-third-tablet">
<button class="button is-danger" @click="elegirSubpedido(subpedidoExistente)">Continuar pedido</button> <button class="button is-danger" @click="elegirSubpedido(subpedidoExistente)">Continuar pedido
</button>
</div> </div>
</div> </div>
</div> </div>
@ -30,62 +34,62 @@
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
subpedido: null, subpedido: null,
subpedidosExistentes: [] subpedidosExistentes: []
} }
}, },
computed: { computed: {
nombresDeSubpedidos: function() { nombresDeSubpedidos: function () {
return this.subpedidosExistentes.map(a => a.nombre.toLowerCase()) return this.subpedidosExistentes.map(a => a.nombre.toLowerCase())
}, },
botonCrearDesabilitado : function() { botonCrearDesabilitado: function () {
return !this.subpedido || this.nombresDeSubpedidos.includes(this.subpedido.toLowerCase()) return !this.subpedido || this.nombresDeSubpedidos.includes(this.subpedido.toLowerCase())
} }
}, },
props: ["gdcid"], props: ["gdcid"],
mounted() { mounted() {
console.log("ready"); console.log("ready");
}, },
methods: { methods: {
onType() { onType() {
if (!this.subpedido){ if (!this.subpedido) {
this.subpedidosExistentes = []; this.subpedidosExistentes = [];
return; return;
} }
axios.get("/api/subpedidos", { axios.get("/api/subpedidos", {
params: { params: {
nombre: this.subpedido, nombre: this.subpedido,
grupo_de_compra: this.gdcid grupo_de_compra: this.gdcid
} }
}).then(response => { }).then(response => {
this.subpedidosExistentes = response.data this.subpedidosExistentes = response.data
}); });
}, },
submit() { submit() {
axios.post("/api/subpedidos", { axios.post("/api/subpedidos", {
nombre: this.subpedido, nombre: this.subpedido,
grupo_de_compra_id: this.gdcid grupo_de_compra_id: this.gdcid
}).then(response => { }).then(response => {
//se creo el subpedido //se creo el subpedido
this.elegirSubpedido(response.data); this.elegirSubpedido(response.data);
}); });
}, },
elegirSubpedido(subpedido){ elegirSubpedido(subpedido) {
//lo guardamos en sesion //lo guardamos en sesion
this.guardarSubpedidoEnSesion(subpedido); this.guardarSubpedidoEnSesion(subpedido);
}, },
guardarSubpedidoEnSesion(subpedido) { guardarSubpedidoEnSesion(subpedido) {
axios.post("/subpedidos/guardar_sesion", { axios.post("/subpedidos/guardar_sesion", {
subpedido: subpedido, subpedido: subpedido,
grupo_de_compra_id: this.gdcid grupo_de_compra_id: this.gdcid
}).then(_ => { }).then(_ => {
Event.$emit('obtener-sesion') Event.$emit('obtener-sesion')
window.location.href = 'productos'; window.location.href = 'productos';
}); });
} }
} }
} }
</script> </script>