pcpuma_unam_operador/components/operador/InputsCarritos.vue

101 lines
2.6 KiB
Vue
Raw Normal View History

2022-07-04 19:45:28 +00:00
<template>
2022-07-06 22:41:38 +00:00
<div>
<div class="columns is-align-items-flex-end pl-0 pb-4">
2022-07-07 04:17:11 +00:00
<b-field class="column mb-0 pb-0" field="carrito" label="Carrito">
2022-07-06 22:41:38 +00:00
<b-input
2022-07-07 04:17:11 +00:00
placeholder="Carrito"
2022-07-06 22:41:38 +00:00
v-model="carrito"
rounded
@keyup.enter.native="obtenerCarritos"
/>
</b-field>
2022-07-04 19:45:28 +00:00
2022-07-06 22:41:38 +00:00
<b-field
2022-07-07 04:17:11 +00:00
class="column mb-0 pb-0"
2022-07-06 22:41:38 +00:00
field="tipoCarrito"
label="Tipo Carrito"
>
<b-select v-model="idTipoCarrito" rounded expanded>
<option disabled>Tipo carrito</option>
<option
v-for="tipo_carrito in tipoCarrito"
:value="tipo_carrito.id_tipo_carrito"
:key="tipo_carrito.id_tipo_carrito"
>
{{ tipo_carrito.tipo_carrito }}
</option>
</b-select>
</b-field>
2022-07-04 19:45:28 +00:00
2022-07-06 22:41:38 +00:00
<b-button
2022-07-07 04:17:11 +00:00
class="column mb-0"
2022-07-06 22:41:38 +00:00
type="is-info"
@click="obtenerCarritos"
rounded
expanded
>Buscar</b-button
>
</div>
2022-07-04 19:45:28 +00:00
2022-07-08 08:19:56 +00:00
<TablaCarritos
:operador="operador"
:carritos="carritos"
:imprimirError="imprimirError"
:imprimirMensaje="imprimirMensaje"
:imprimirWarning="imprimirWarning"
:isLoadingTable="isLoadingTable"
/>
2022-07-06 22:41:38 +00:00
</div>
2022-07-04 19:45:28 +00:00
</template>
<script>
import axios from 'axios'
2022-07-08 08:19:56 +00:00
import TablaCarritos from '@/components/operador/TablaCarritos'
2022-07-04 19:45:28 +00:00
export default {
2022-07-08 08:19:56 +00:00
components: { TablaCarritos },
2022-07-04 19:45:28 +00:00
props: {
operador: { type: Object, required: true },
imprimirError: { type: Function, required: true },
imprimirMensaje: { type: Function, required: true },
imprimirWarning: { type: Function, required: true },
},
data() {
return {
2022-07-06 22:41:38 +00:00
tipoCarrito: [
{ id_tipo_carrito: 1, tipo_carrito: 'Chromebook' },
{ id_tipo_carrito: 2, tipo_carrito: 'iPad' },
{ id_tipo_carrito: 3, tipo_carrito: 'Laptop' },
],
2022-07-08 08:19:56 +00:00
carritos: [],
2022-07-06 22:41:38 +00:00
carrito: '',
idTipoCarrito: 0,
2022-07-04 19:45:28 +00:00
isLoadingTable: false,
}
},
methods: {
obtenerCarritos() {
2022-07-06 22:41:38 +00:00
let id_tipo_carrito = ''
if (this.idTipoCarrito != 0)
id_tipo_carrito = '&id_tipo_carrito=' + this.idTipoCarrito
2022-07-04 19:45:28 +00:00
this.isLoadingTable = true
axios
2022-07-06 22:41:38 +00:00
.get(
`${process.env.api}/carrito/carritos?pagina=1&id_institucion=${this.operador.institucion.id_institucion}&carrito=${this.carrito}${id_tipo_carrito}`
)
2022-07-04 19:45:28 +00:00
.then(async (res) => {
2022-07-08 08:19:56 +00:00
this.carritos = res.data[0]
2022-07-04 19:45:28 +00:00
this.isLoadingTable = false
})
.catch((err) => {
this.isLoadingTable = false
this.imprimirError(err.response.data)
})
},
},
created() {
this.obtenerCarritos()
},
}
</script>