pcpuma_unam_operador/pages/index.vue
2022-12-05 09:36:30 -06:00

69 lines
1.7 KiB
Vue

<template>
<div>
<Login
:updateIdInstitucion="updateIdInstitucion"
:updateIsLoading="updateIsLoading"
:updateIdModulo="updateIdModulo"
:idInstitucion="idInstitucion"
:idModulo="idModulo"
/>
<b-loading :can-cancel="false" v-model="isLoading" is-full-page />
</div>
</template>
<script>
import jwt_decode from 'jwt-decode'
import Login from '@/components/operador/Login'
export default {
components: { Login },
data() {
return { isLoading: false, idInstitucion: 0, idModulo: 0 }
},
methods: {
updateIdInstitucion(nuevaInstitucion) {
this.idInstitucion = nuevaInstitucion
},
updateIsLoading(booleanValue) {
this.isLoading = booleanValue
},
updateIdModulo(nuevoModulo) {
this.idModulo = nuevoModulo
},
},
watch: {
idInstitucion() {
this.idModulo = 0
},
},
created() {
const token = this.$getToken.tokenStr()
let operador
this.idInstitucion = Number(localStorage.getItem('idInstitucion'))
this.idModulo = Number(localStorage.getItem('idModulo'))
try {
if (token) operador = jwt_decode(token).Operador
} catch (err) {
operador = null
}
if (token && operador) {
if (operador.tipoUsuario.id_tipo_usuario === 2)
this.$router.push(
'/admin/configuracion/instituciones/buscar_institucion'
)
else this.$router.push('/prestamo_devolucion')
} else {
localStorage.clear()
if (this.idModulo) localStorage.setItem('idModulo', this.idModulo)
if (this.idInstitucion)
localStorage.setItem('idInstitucion', this.idInstitucion)
}
},
layout: 'login',
}
</script>
<style scoped></style>