pcpuma_unam_operador/components/tablaBuscador/TablaBuscadorModulo.vue

90 lines
2.3 KiB
Vue
Raw Normal View History

2022-07-29 05:08:49 +00:00
<template>
<div>
<h3 class="is-size-4 mb-3">Todos los módulos</h3>
<div
class="columns mb-5 is-align-items-flex-end"
v-if="admin.tipoUsuario.id_tipo_usuario === 2"
>
<SelectInstitucion
columnSize="is-3"
:deshabilitarOptVacia="false"
:institucionPadre="institucion"
@institucion-seleccionada="
(nuevaInstitucion) => (institucion = nuevaInstitucion)
"
/>
<BotonBuscar
columnSize="is-3"
:buscar="obtenerModulos"
:disabled="institucion.id_institucion ? false : true"
/>
</div>
<TablaModulos
:modulos="modulos"
:isLoadingTable="isLoadingTable"
:obtenerModulos="obtenerModulos"
/>
</div>
</template>
<script>
import axios from 'axios'
import BotonBuscar from '@/components/botones/BotonBuscar'
import SelectInstitucion from '@/components/selects/SelectInstitucion'
import TablaModulos from '@/components/tablas/TablaModulos'
export default {
components: { BotonBuscar, SelectInstitucion, TablaModulos },
props: {
actualizarTabla: { type: Boolean, required: true },
updateActualizarTabla: { type: Function, required: true },
admin: { type: Object, required: true },
},
data() {
return {
modulos: [],
isLoadingTable: false,
institucion: {},
}
},
methods: {
obtenerModulos() {
let data = ''
this.isLoadingTable = true
2022-07-29 15:23:07 +00:00
if (this.admin.institucion.id_institucion)
data += `?id_institucion=${this.admin.institucion.id_institucion}`
else if (this.institucion.id_institucion)
data += `?id_institucion=${this.institucion.id_institucion}`
2022-07-29 05:08:49 +00:00
axios
2022-07-29 15:23:07 +00:00
.get(`${process.env.api}/modulo/modulos${data}`, this.$getToken.token())
2022-07-29 05:08:49 +00:00
.then((res) => {
this.modulos = res.data
this.isLoadingTable = false
})
.catch((err) => {
this.isLoadingTable = false
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
updateInstitucion(institucion) {
this.institucion = institucion
},
},
watch: {
actualizarTabla() {
if (this.actualizarTabla) {
this.obtenerModulos()
this.updateActualizarTabla(false)
}
},
},
created() {
this.obtenerModulos()
},
}
</script>