diff --git a/components/admin/especial/casoEspecial.vue b/components/admin/especial/casoEspecial.vue index efebf8e..d279d0e 100644 --- a/components/admin/especial/casoEspecial.vue +++ b/components/admin/especial/casoEspecial.vue @@ -1,18 +1,16 @@ @@ -48,21 +64,91 @@ export default { Carrera: {}, Status: {}, }, + token: { + headers: { + token: localStorage.getItem("token"), + }, + }, + idCasoEspecial: localStorage.getItem("idCasoEspecial"), + isLoading: false, }; }, methods: { obtenerDatos() { return axios - .get(`${process.env.api}/caso_especial/?idCasoEspecial=1`, this.token) + .get( + `${process.env.api}/caso_especial/?idCasoEspecial=${this.idCasoEspecial}`, + this.token + ) .then((res) => { this.alumno = res.data; console.log(res.data); + }) + .catch((err) => { + this.error(err.response.data.message); + }) + .finally(() => { + this.isLoading = false; + }); + }, + confirmarLiberacion() { + this.isLoading = true; + const data = { idCasoEspecial: this.idCasoEspecial }; + + axios + .put(`${process.env.api}/caso_especial/liberacion`, data, this.token) + .then((res) => { + this.$buefy.dialog.alert("El servicio ha sido liberado"); + localStorage.removeItem("idCasoEspecial"); + this.$router.push("/admin/especial"); + }) + .catch((err) => { + this.error(err.response.data.message); + }) + .finally(() => { + this.isLoading = false; }); }, fecha(date) { const fecha = moment(date.substr(0, 10)); return `${fecha.date()}/${fecha.month()}/${fecha.year()}`; }, + 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.obtenerDatos(); @@ -70,4 +156,11 @@ export default { }; - + diff --git a/pages/admin/especial/casoEspecial/index.vue b/pages/admin/especial/casoEspecial/index.vue index f367e46..5666cf8 100644 --- a/pages/admin/especial/casoEspecial/index.vue +++ b/pages/admin/especial/casoEspecial/index.vue @@ -1,5 +1,5 @@