This commit is contained in:
2021-01-06 00:10:12 -06:00
parent d9563134b2
commit 34773defe0
7 changed files with 388 additions and 97 deletions
+33 -9
View File
@@ -53,34 +53,58 @@ export default {
nombre: localStorage.getItem('nombre'),
programas: [],
selected: {},
token: {
headers: {
token: window.localStorage.getItem("token")
}
}
};
},
methods: {
obtenerProgramas () {
return axios
.get(
`${process.env.api}/programa?idUsuario=${this.idResponsable}` //,this.token
`${process.env.api}/programa?idUsuario=${this.idResponsable}`,this.token
)
.then((res) => {
this.programas = res.data
})
.catch((err) => {
this.error();
console.log(err.response);
this.errorToken(err.response.data.message);
console.log(err.response.data.message);
});
},
error() {
errorToken(msj){
let salir =false;
switch(msj){
case 'invalid signature':
msj= "tu token no es valido, inicia sesión de nuevo"
break;
case 'jwt expired':
msj= "tu sesión ha expirado, inicia sesión de nuevo"
break;
case 'no hay token':
msj= "no has enviado tu token, inicia sesión de nuevo"
break;
default:
salir=true
}
this.$buefy.dialog.alert({
title: "Error",
message: "Ha ocurrido un <b>error</b>, inténtalo de nuevo más tarde",
message: msj,
type: "is-danger",
hasIcon: true,
icon: "times-circle",
iconPack: "fa",
icon: "alert-circle",
iconPack: "mdi",
ariaRole: "alertdialog",
ariaModal: true,
});
}
});
if (salir === true) {
localStorage.clear()
this.$router.push(`/`)
}
},
},
created () {
this.obtenerProgramas()
@@ -1,8 +1,6 @@
<template>
<div class="container">
<BotonRegresar
:path="'/admin/programa/infoResponsable'"
/>
<BotonRegresar :path="'/admin/programa/infoResponsable'" />
<p class="is-size-2">Editar información del responsable</p>
<b-field label="Nombre">
<b-input type="text" v-model="nuevo.nombre" :placeholder="viejo.nombre">
@@ -12,10 +10,12 @@
<b-input type="email" v-model="nuevo.correo" :placeholder="viejo.correo">
</b-input>
</b-field>
<BotonRegresar
:path="'/admin/programa/infoResponsable'"
/>
<b-button class="boton is-info my-5" v-if="mostrar()" @click="editarResponsable()">
<BotonRegresar :path="'/admin/programa/infoResponsable'" />
<b-button
class="boton is-info my-5"
v-if="mostrar()"
@click="editarResponsable()"
>
Editar responsable
</b-button>
<b-button class="boton is-info my-5" v-else disabled>
@@ -24,42 +24,43 @@
<b-loading
:is-full-page="true"
v-model="isLoading"
:can-cancel="true"
:can-cancel="false"
></b-loading>
</div>
</template>
<script>
import validator from 'validator'
import botonRegresar from '../../../../../components/botonRegresar'
//import axios from 'axios'
import validator from "validator";
import botonRegresar from "../../../../../components/botonRegresar";
import axios from "axios";
export default {
components: {
botonRegresar
botonRegresar,
},
data () {
data() {
return {
viejo: {
idResponsable: localStorage.getItem("idResponsable"),
nombre: localStorage.getItem('nombre'),
correo: localStorage.getItem('correo'),
nombre: localStorage.getItem("nombre"),
correo: localStorage.getItem("correo"),
},
nuevo: {
nombre: "",
correo: ""
correo: "",
},
idServicio: localStorage.getItem('idServicio'),
token: localStorage.getItem('token'),
isLoading: false
}
idServicio: localStorage.getItem("idServicio"),
token: {
headers: {
token: window.localStorage.getItem("token"),
},
},
isLoading: false,
};
},
methods: {
mostrar() {
if (
validator.isEmail(this.nuevo.correo) ||
this.nuevo.nombre
) {
if (validator.isEmail(this.nuevo.correo) || this.nuevo.nombre) {
if (this.nuevo.correo) {
if (validator.isEmail(this.nuevo.correo)) {
return true;
@@ -69,12 +70,71 @@ export default {
}
return true;
}
},
actualizar() {
this.isLoading = true;
const data = {};
if (this.nuevo.correo) {
data.correoUpdate = this.nuevo.correo;
}
if (this.nuevo.nombre) {
data.nombreUpdate = this.nuevo.nombre;
}
axios
.put(`${process.env.api}/usuario/responsable/update`, data, this.token)
.then((res) => {
this.isLoading = false;
this.toast();
this.$router.push("/admin/programa/infoResponsable");
})
.catch((err) => {
this.isLoading = false;
this.error(err.response.data.message);
console.log(err.response.data.message);
});
},
toast() {
this.$buefy.toast.open({
message: "Se han actualizado los datos del responsable",
type: "is-success",
});
},
error(msj) {
let salir = false;
switch (msj) {
case "invalid signature":
msj = "tu token no es valido, inicia sesión de nuevo";
break;
case "jwt expired":
msj = "tu sesión ha expirado, inicia sesión de nuevo";
break;
case "no hay token":
msj = "no has enviado tu token, inicia sesión de nuevo";
break;
default:
salir = true;
}
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(`/`);
}
},
},
beforeCreate() {
if (!localStorage.getItem("idResponsable")) {
this.$router.push("/admin/programa");
}
},
beforeCreate(){
if(!localStorage.getItem("idResponsable")){
this.$router.push("/admin/programa")
}
}
}
};
</script>