pcpuma_unam_operador/components/admin/BuscarModulo.vue

154 lines
3.9 KiB
Vue
Raw Normal View History

2022-06-12 05:39:26 +00:00
<template>
2022-06-13 15:36:45 +00:00
<div class="box">
2022-07-09 23:50:47 +00:00
<div class="columns is-align-items-flex-end">
2022-06-21 17:35:15 +00:00
<b-field
2022-07-09 23:50:47 +00:00
class="column pb-0"
2022-06-21 17:35:15 +00:00
label="Nombre de la Institución"
v-if="admin.tipoUsuario.id_tipo_usuario === 2"
>
2022-07-10 00:04:11 +00:00
<b-select
v-model="idInstitucion"
icon="school-outline"
rounded
expanded
>
2022-06-21 15:56:22 +00:00
<option value="" disabled>Institución</option>
<option
v-for="institucion in instituciones"
:value="institucion.id_institucion"
:key="institucion.id_insitucion"
>
{{ institucion.institucion }}
</option>
</b-select>
</b-field>
2022-07-09 23:50:47 +00:00
<b-field class="column pb-0" label="Nombre del Módulo">
<b-select v-model="idModulo" icon="storefront-outline" rounded expanded>
2022-07-10 00:04:11 +00:00
<option value="" disabled>Módulo</option>
2022-06-13 15:36:45 +00:00
<option
2022-07-09 23:50:47 +00:00
v-for="(modulo, index) in modulos"
2022-06-13 15:36:45 +00:00
:value="modulo.id_modulo"
2022-07-09 23:50:47 +00:00
:key="index"
2022-06-13 15:36:45 +00:00
>
{{ modulo.modulo }}
</option>
</b-select>
</b-field>
2022-07-09 23:50:47 +00:00
<div class="column">
<b-button
type="is-success"
:disabled="!idModulo"
@click="buscar()"
rounded
expanded
>
Buscar
</b-button>
</div>
2022-06-13 15:36:45 +00:00
</div>
<div class="columns">
<InfoModulo :modulo="modulo" />
<!-- <AdminEquipo
:admin="admin"
:imprimirError="imprimirError"
:imprimirWarning="imprimirWarning"
:imprimirMensaje="imprimirMensaje"
:updateIsLoading="updateIsLoading"
:buscar="buscar"
/> -->
</div>
</div>
2022-06-12 05:39:26 +00:00
</template>
2022-06-13 15:36:45 +00:00
<script>
import axios from 'axios'
2022-06-21 17:35:15 +00:00
import InfoModulo from '@/components/admin/InfoModulo'
2022-06-13 15:36:45 +00:00
export default {
components: {
InfoModulo,
},
props: {
admin: { type: Object, required: true },
2022-07-09 23:50:47 +00:00
modulo: { type: Object, required: true },
2022-06-13 15:36:45 +00:00
imprimirError: { type: Function, required: true },
imprimirWarning: { type: Function, required: true },
imprimirMensaje: { type: Function, required: true },
updateIsLoading: { type: Function, required: true },
2022-07-09 23:50:47 +00:00
updateModulo: { type: Function, required: true },
2022-06-13 15:36:45 +00:00
},
data() {
return {
modulos: [],
idModulo: '',
2022-06-21 17:35:15 +00:00
instituciones: [],
institucion: {},
idInstitucion: '',
2022-06-13 15:36:45 +00:00
}
},
methods: {
2022-07-09 23:50:47 +00:00
buscar() {
if (this.idModulo || this.modulo.id_modulo) {
this.updateIsLoading(true)
axios
.get(
`${process.env.api}/modulo/modulo?id_modulo=${
this.idModulo || this.modulo.id_modulo
}`
)
.then((res) => {
this.updateModulo(res.data)
this.updateIsLoading(false)
this.$router.push({
path: '../buscar_modulo/' + this.idModulo,
})
this.idModulo = ''
})
.catch((err) => {
this.updateIsLoading(false)
this.imprimirError(err.response.data)
})
}
},
2022-06-21 15:56:22 +00:00
obtenerCatalogoInstitucion() {
axios
2022-07-10 00:04:11 +00:00
.get(`${process.env.api}/institucion/activas`)
2022-06-21 15:56:22 +00:00
.then((res) => {
this.instituciones = res.data
})
.catch((err) => {
this.imprimirError(err)
})
},
2022-07-09 23:50:47 +00:00
obtenerCatalogoModulo(id_institucion) {
axios
2022-06-13 15:36:45 +00:00
.get(
2022-06-21 15:56:22 +00:00
`${process.env.api}/modulo/modulos?id_institucion=${id_institucion}`
2022-06-13 15:36:45 +00:00
)
.then((res) => {
this.modulos = res.data
})
.catch((err) => {
this.imprimirError(err)
})
},
},
watch: {
2022-06-21 15:56:22 +00:00
idInstitucion(value) {
this.obtenerCatalogoModulo(value)
},
2022-06-13 15:36:45 +00:00
},
2022-07-08 08:19:56 +00:00
mounted() {},
2022-06-13 15:36:45 +00:00
created() {
2022-06-21 17:35:15 +00:00
this.admin.tipoUsuario.id_tipo_usuario === 2
? this.obtenerCatalogoInstitucion()
: this.obtenerCatalogoModulo(this.admin.institucion.id_institucion)
2022-07-08 08:19:56 +00:00
this.idModulo = this.$route.params.modulo
2022-07-09 23:50:47 +00:00
if (this.idModulo) this.buscar()
2022-06-13 15:36:45 +00:00
},
}
</script>