pcpuma_unam_operador/components/buscar/BuscarEquipo.vue
2022-08-14 17:23:01 -05:00

97 lines
2.6 KiB
Vue

<template>
<div class="box">
<div class="columns is-align-items-flex-end">
<b-field class="column is-4 pb-0 mb-0" label="Número de Inventario">
<b-input
icon="laptop"
placeholder="Número de Inventario"
type="text"
@keyup.enter.native="buscar()"
v-model="numeroInventario"
rounded
/>
</b-field>
<BotonBuscar
columnSize="is-4"
:disabled="
!numeroInventario || numeroInventario === equipo.numero_inventario
"
:buscar="buscar"
/>
</div>
<div class="columns">
<InformacionEquipo
:buscar="buscar"
:updateIsLoading="updateIsLoading"
:equipo="equipo"
/>
<AdminEquipo
:buscar="buscar"
:updateIsLoading="updateIsLoading"
:equipo="equipo"
:operador="operador"
/>
</div>
</div>
</template>
<script>
import axios from 'axios'
import AdminEquipo from '@/components/panel_admin/AdminEquipo'
import BotonBuscar from '@/components/botones/BotonBuscar'
import InformacionEquipo from '@/components/informacion/InformacionEquipo'
export default {
components: { AdminEquipo, BotonBuscar, InformacionEquipo },
props: {
updateEquipo: { type: Function, required: true, default: () => {} },
updateIsLoading: { type: Function, required: true, default: () => {} },
equipo: { type: Object, required: true, default: () => ({}) },
operador: { type: Object, required: true, default: () => ({}) },
},
data() {
return {
numeroInventarioParam: null,
numeroInventario: '',
}
},
methods: {
buscar() {
this.updateIsLoading(true)
this.numeroInventarioParam = this.$route.params.equipo
if (this.numeroInventario != this.numeroInventarioParam)
this.$router.push(`/equipos/buscar_equipo/${this.numeroInventario}`)
axios
.get(
`${process.env.api}/equipo/equipo?id_institucion=${this.operador.institucion.id_institucion}&numero_inventario=${this.numeroInventario}`,
this.$getToken.token()
)
.then((res) => {
this.updateEquipo(res.data)
this.updateIsLoading(false)
})
.catch((err) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirError(
this.$buefy,
this.$router,
err.response.data
)
})
},
},
created() {
this.numeroInventarioParam = this.$route.params.equipo
if (this.numeroInventarioParam) {
this.numeroInventario = this.numeroInventarioParam
this.buscar()
}
},
}
</script>
<style></style>