143 lines
3.6 KiB
Vue
143 lines
3.6 KiB
Vue
<template>
|
|
<div class="container">
|
|
<BotonRegresar
|
|
:path="'/admin/programa'"
|
|
:deleteFromLocalStorage="['correo', 'idResponsable', 'nombre']"
|
|
/>
|
|
<p class="is-size-2 mb-4">Información del responsable</p>
|
|
<p class="is-size-4 mb-4"><strong>Nombre: </strong> {{ nombre }}</p>
|
|
<p class="is-size-4 mb-4"><strong>Correo: </strong> {{ correo }}</p>
|
|
<div class="columns">
|
|
<p class="is-size-4 column is-narrow" style="width: 250px;">
|
|
<strong>Clave de programa: </strong>
|
|
</p>
|
|
<b-select
|
|
class="column"
|
|
v-model="selected"
|
|
placeholder="Elija una clave: "
|
|
>
|
|
<option
|
|
v-for="programa in programas"
|
|
v-bind:key="programa.id"
|
|
:value="programa"
|
|
>
|
|
{{ programa.clavePrograma }}
|
|
</option>
|
|
</b-select>
|
|
</div>
|
|
<p class="is-size-4 mb-4">
|
|
<strong>Programa: </strong> {{ selected.programa }}
|
|
</p>
|
|
<p class="is-size-4 mb-4">
|
|
<strong>Institución: </strong> {{ selected.institucion }}
|
|
</p>
|
|
<p class="is-size-4 mb-4">
|
|
<strong>Dependencia: </strong> {{ selected.dependencia }}
|
|
</p>
|
|
<div class="">
|
|
<b-button
|
|
class="boton is-info my-5"
|
|
tag="router-link"
|
|
to="/admin/programa/infoResponsable/modificar"
|
|
>
|
|
Editar información
|
|
</b-button>
|
|
</div>
|
|
<BotonRegresar
|
|
:path="'/admin/programa'"
|
|
:deleteFromLocalStorage="['correo', 'idResponsable', 'nombre']"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import axios from "axios";
|
|
import botonRegresar from "../../../../components/botonRegresar";
|
|
|
|
export default {
|
|
components: {
|
|
botonRegresar,
|
|
},
|
|
data() {
|
|
return {
|
|
idResponsable: localStorage.getItem("idResponsable"),
|
|
correo: localStorage.getItem("correo"),
|
|
nombre: localStorage.getItem("nombre"),
|
|
programas: [],
|
|
selected: {},
|
|
token: {
|
|
headers: {
|
|
token: window.localStorage.getItem("token"),
|
|
},
|
|
},
|
|
};
|
|
},
|
|
methods: {
|
|
obtenerProgramas() {
|
|
return axios
|
|
.get(
|
|
`${process.env.api}/programa/programas_admin?idUsuario=${this.idResponsable}`,
|
|
this.token
|
|
)
|
|
.then((res) => {
|
|
this.programas = res.data;
|
|
})
|
|
.catch((err) => {
|
|
this.error(err.response.data.message);
|
|
});
|
|
},
|
|
error(msj) {
|
|
let salir = false;
|
|
switch (msj) {
|
|
case "invalid signature":
|
|
msj = "Tu token no es valido, inicia sesión de nuevo.";
|
|
salir = true;
|
|
break;
|
|
case "jwt expired":
|
|
msj = "Tu sesión ha expirado, inicia sesión de nuevo.";
|
|
salir = true;
|
|
break;
|
|
case "jwt malformed":
|
|
msj = "No se encontro tu token, inicia sesión de nuevo.";
|
|
salir = true;
|
|
break;
|
|
case "No hay token":
|
|
msj = "Ocurrio un error al enviar tu token, inicia sesión de nuevo.";
|
|
salir = true;
|
|
break;
|
|
}
|
|
|
|
this.$buefy.dialog.alert({
|
|
title: "Error",
|
|
message: msj,
|
|
type: "is-danger",
|
|
hasIcon: true,
|
|
icon: "alert-circle",
|
|
iconPack: "mdi",
|
|
ariaRole: "alertdialog",
|
|
ariaModal: true,
|
|
});
|
|
if (salir == true) {
|
|
localStorage.clear();
|
|
this.$router.push(`/`);
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
this.obtenerProgramas();
|
|
},
|
|
beforeCreate() {
|
|
if (!localStorage.getItem("idResponsable")) {
|
|
this.$router.push("/admin/programa");
|
|
}
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
.programa {
|
|
margin-right: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
</style>
|