Files
servicio_social_front/pages/admin/programa/infoResponsable/index.vue
T

143 lines
3.6 KiB
Vue
Raw Normal View History

2020-11-30 19:59:46 -06:00
<template>
<div class="container">
2021-01-06 15:27:23 -06:00
<BotonRegresar
2021-01-05 02:04:07 -06:00
:path="'/admin/programa'"
2021-01-06 15:27:23 -06:00
:deleteFromLocalStorage="['correo', 'idResponsable', 'nombre']"
2021-01-05 02:04:07 -06:00
/>
2021-01-06 15:27:23 -06:00
<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>
2020-12-27 20:35:46 -06:00
<div class="columns">
2021-01-15 23:03:36 -06:00
<p class="is-size-4 column is-narrow" style="width: 250px;">
<strong>Clave de programa: </strong>
2021-01-06 15:27:23 -06:00
</p>
<b-select
class="column"
v-model="selected"
2021-01-15 23:03:36 -06:00
placeholder="Elija una clave: "
2021-01-06 15:27:23 -06:00
>
2020-12-27 20:35:46 -06:00
<option
v-for="programa in programas"
v-bind:key="programa.id"
:value="programa"
>
2021-01-15 23:03:36 -06:00
{{ programa.clavePrograma }}
2020-12-27 20:35:46 -06:00
</option>
</b-select>
</div>
2021-01-06 15:27:23 -06:00
<p class="is-size-4 mb-4">
2021-01-15 23:03:36 -06:00
<strong>Programa: </strong> {{ selected.programa }}
2021-01-06 15:27:23 -06:00
</p>
<p class="is-size-4 mb-4">
2021-01-15 23:03:36 -06:00
<strong>Institución: </strong> {{ selected.institucion }}
2021-01-06 15:27:23 -06:00
</p>
<p class="is-size-4 mb-4">
2021-01-15 23:03:36 -06:00
<strong>Dependencia: </strong> {{ selected.dependencia }}
2021-01-06 15:27:23 -06:00
</p>
2020-12-09 16:13:26 -06:00
<div class="">
<b-button
class="boton is-info my-5"
2021-01-05 02:04:07 -06:00
tag="router-link"
to="/admin/programa/infoResponsable/modificar"
2020-12-09 16:13:26 -06:00
>
Editar información
</b-button>
</div>
2021-01-06 15:27:23 -06:00
<BotonRegresar
2021-01-05 02:04:07 -06:00
:path="'/admin/programa'"
2021-01-06 15:27:23 -06:00
:deleteFromLocalStorage="['correo', 'idResponsable', 'nombre']"
2021-01-05 02:04:07 -06:00
/>
2020-11-30 19:59:46 -06:00
</div>
</template>
<script>
2020-12-08 21:50:16 -06:00
import axios from "axios";
2021-01-05 02:04:07 -06:00
import botonRegresar from "../../../../components/botonRegresar";
2020-11-30 19:59:46 -06:00
export default {
2021-01-05 02:04:07 -06:00
components: {
2021-01-06 15:27:23 -06:00
botonRegresar,
2021-01-05 02:04:07 -06:00
},
2020-12-08 21:50:16 -06:00
data() {
2020-11-30 19:59:46 -06:00
return {
2020-12-08 21:50:16 -06:00
idResponsable: localStorage.getItem("idResponsable"),
2021-01-06 15:27:23 -06:00
correo: localStorage.getItem("correo"),
nombre: localStorage.getItem("nombre"),
2020-12-09 16:13:26 -06:00
programas: [],
2020-12-08 21:50:16 -06:00
selected: {},
2021-01-06 00:10:12 -06:00
token: {
headers: {
2021-01-06 15:27:23 -06:00
token: window.localStorage.getItem("token"),
},
},
2020-12-08 21:50:16 -06:00
};
2020-11-30 19:59:46 -06:00
},
methods: {
2021-01-06 15:27:23 -06:00
obtenerProgramas() {
2020-11-30 19:59:46 -06:00
return axios
.get(
2021-01-12 22:09:14 -06:00
`${process.env.api}/programa/programas_admin?idUsuario=${this.idResponsable}`,
2021-01-06 15:27:23 -06:00
this.token
2020-11-30 19:59:46 -06:00
)
2020-12-08 21:50:16 -06:00
.then((res) => {
2021-01-06 15:27:23 -06:00
this.programas = res.data;
2020-11-30 19:59:46 -06:00
})
2020-12-08 21:50:16 -06:00
.catch((err) => {
2021-01-15 23:03:36 -06:00
this.error(err.response.data.message);
2020-12-08 21:50:16 -06:00
});
2020-11-30 19:59:46 -06:00
},
2021-01-15 23:03:36 -06:00
error(msj) {
2021-01-06 15:27:23 -06:00
let salir = false;
switch (msj) {
case "invalid signature":
2021-01-06 16:33:56 -06:00
msj = "Tu token no es valido, inicia sesión de nuevo.";
2021-01-06 15:27:23 -06:00
salir = true;
break;
case "jwt expired":
2021-01-06 16:33:56 -06:00
msj = "Tu sesión ha expirado, inicia sesión de nuevo.";
2021-01-06 15:27:23 -06:00
salir = true;
break;
case "jwt malformed":
2021-01-06 17:43:26 -06:00
msj = "No se encontro tu token, inicia sesión de nuevo.";
2021-01-06 15:27:23 -06:00
salir = true;
break;
case "No hay token":
2021-01-06 16:33:56 -06:00
msj = "Ocurrio un error al enviar tu token, inicia sesión de nuevo.";
2021-01-06 15:27:23 -06:00
salir = true;
break;
}
2021-01-06 00:10:12 -06:00
2020-11-30 19:59:46 -06:00
this.$buefy.dialog.alert({
2020-12-08 21:50:16 -06:00
title: "Error",
2021-01-06 00:10:12 -06:00
message: msj,
2020-12-08 21:50:16 -06:00
type: "is-danger",
2020-11-30 19:59:46 -06:00
hasIcon: true,
2021-01-06 00:10:12 -06:00
icon: "alert-circle",
iconPack: "mdi",
2020-12-08 21:50:16 -06:00
ariaRole: "alertdialog",
ariaModal: true,
2021-01-06 15:27:23 -06:00
});
if (salir == true) {
localStorage.clear();
this.$router.push(`/`);
}
2021-01-06 00:10:12 -06:00
},
2020-12-08 21:50:16 -06:00
},
2021-01-06 15:27:23 -06:00
created() {
this.obtenerProgramas();
2020-12-30 22:15:38 -06:00
},
2021-01-06 15:27:23 -06:00
beforeCreate() {
if (!localStorage.getItem("idResponsable")) {
this.$router.push("/admin/programa");
2020-12-30 22:15:38 -06:00
}
2021-01-06 15:27:23 -06:00
},
2020-12-08 21:50:16 -06:00
};
2020-11-30 19:59:46 -06:00
</script>
2020-12-27 20:35:46 -06:00
<style scoped>
2021-01-06 15:27:23 -06:00
.programa {
margin-right: 20px;
padding-right: 20px;
}
2020-12-27 20:35:46 -06:00
</style>