Merge remote-tracking branch 'origin/dev' into eithan

This commit is contained in:
eithan
2020-12-27 14:19:01 -06:00
15 changed files with 269 additions and 160 deletions
@@ -0,0 +1,51 @@
<template>
<div id="datosPersonales">
<p class="is-size-3"><b>Datos personales</b></p>
<p class="is-size-5 mt-5" v-if="alumno.Usuario.nombre">
<b>Nombre: </b>{{ alumno.Usuario.nombre }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.Usuario.usuario">
<b>Número de cuenta: </b>{{ alumno.Usuario.usuario }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.Carrera.carrera">
<b>Correo: </b>{{ alumno.Carrera.carrera }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.correo">
<b>Correo: </b>{{ alumno.correo }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.creditos">
<b>Créditos: </b>{{ alumno.creditos + "%" }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaInicio">
<b>Fecha de inicio: </b>{{ fecha(alumno.fechaInicio) }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaFin">
<b>Fecha de fin: </b>{{ fecha(alumno.fechaFin) }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.telefono">
<b>Teléfono: </b>{{ alumno.telefono }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.direccion">
<b>Dirección: </b>{{ alumno.direccion }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaNacimiento">
<b>Fecha de nacimiento: </b>{{ fecha(alumno.fechaNacimiento) }}
</p>
</div>
</template>
<script>
import moment from "moment";
export default {
props: {
alumno: Object
},
methods: {
fecha(date) {
const fecha = moment(date.substr(0, 10));
return `${fecha.year()}/${fecha.month() + 1}/${fecha.date()}`;
},
},
};
</script>
@@ -0,0 +1,29 @@
<template>
<div id="programa">
<br />
<p class="is-size-3"><b>Datos del programa</b></p>
<br />
<p class="is-size-5 mb-4" v-if="programa.programa">
<b>Programa: </b><span> {{ programa.programa }} </span>
</p>
<p class="is-size-5 mb-4" v-if="programa.clavePrograma">
<b>Clave del programa: </b
><span> {{ programa.clavePrograma }} </span>
</p>
<p class="is-size-5 mb-4" v-if="programa.dependencia">
<b>Dependecia: </b><span> {{ programa.dependencia }} </span>
</p>
<p class="is-size-5 mb-4" v-if="programa.institucion">
<b>Institución: </b><span> {{ programa.institucion }} </span>
</p>
<br />
</div>
</template>
<script>
export default {
props: {
programa: Object
}
}
</script> mb-4
+4 -4
View File
@@ -58,7 +58,7 @@
</b-field>
<p class="is-size-5">Carta de aceptación</p>
<br />
<b-field>
<b-field v-if="viejo.cartaAceptacion">
<b-upload
v-model="nuevo.cartaAceptacion"
type="is-black"
@@ -84,7 +84,7 @@
</b-field>
<p class="is-size-5">Carta de término</p>
<br />
<b-field>
<b-field v-if="viejo.cartaTermino">
<b-upload
v-model="nuevo.cartaTermino"
type="is-black"
@@ -110,7 +110,7 @@
</b-field>
<p class="is-size-5">Informe global</p>
<br />
<b-field>
<b-field v-if="viejo.informeGlobal">
<b-upload
v-model="nuevo.informeGlobal"
type="is-black"
@@ -313,7 +313,7 @@ export default {
fecha(date) {
if (date) {
const fecha = moment(date.substr(0, 10));
return `${fecha.date()}/${fecha.month() + 1}/${fecha.year()}`;
return `${fecha.year()}/${fecha.month() + 1}/${fecha.date()}`;
}
},
},
@@ -125,7 +125,7 @@ export default {
localStorage.setItem("correo", responsable.usuario);
localStorage.setItem("idResponsable", responsable.idUsuario);
localStorage.setItem("nombre", responsable.nombre);
this.$router.push({path: 'programa/infoResponsable'});
this.$router.push('/admin/programa/infoResponsable');
},
},
computed: {
@@ -0,0 +1,30 @@
<template>
<div id="Status">
<p class="is-size-1" v-if="status == 1">
Pre Registro
</p>
<p class="is-size-1" v-else-if="status == 2">
Pre Registro Válidado
</p>
<p class="is-size-1" v-else-if="status == 3">
Registro
</p>
<p class="is-size-1" v-else-if="status == 4">
Pre Término
</p>
<p class="is-size-1" v-else-if="status == 5">
Término
</p>
<p class="is-size-1" v-else-if="status == 6">
Liberación
</p>
</div>
</template>
<script>
export default {
props: {
status: Number,
},
};
</script>
@@ -0,0 +1,21 @@
<template>
<div>
<h3 class="is-size-4 mb-5" v-if="status == 1">
Confirmar el pre-registro del alumno
</h3>
<h3 class="is-size-4 mb-5" v-if="status == 4">
Término
</h3>
<h3 class="is-size-4 mb-5" v-if="status == 5">
Validar el término del alumno
</h3>
</div>
</template>
<script>
export default {
props: {
status: Number
}
}
</script>
+49 -111
View File
@@ -5,78 +5,17 @@
Regresar
</b-button>
</div>
<div id="Status">
<p class="is-size-3" v-if="alumno.Status.idStatus == 1">
Pre Registro
</p>
<p class="is-size-3" v-else-if="alumno.Status.idStatus == 2">
Pre Registro Válidado
</p>
<p class="is-size-3" v-else-if="alumno.Status.idStatus == 3">
Registro
</p>
<p class="is-size-3" v-else-if="alumno.Status.idStatus == 4">
Pre Término
</p>
<p class="is-size-3" v-else-if="alumno.Status.idStatus == 5">
Término
</p>
<p class="is-size-3" v-else-if="alumno.Status.idStatus == 6">
Liberación
</p>
</div>
<div id="programa">
<br />
<p class="is-size-4"><b>Datos del programa</b></p>
<br />
<p class="is-size-5" v-if="alumno.Programa.programa">
<b>Programa: </b><span> {{ alumno.Programa.programa }} </span>
</p>
<p class="is-size-5" v-if="alumno.Programa.clavePrograma">
<b>Clave del programa: </b
><span> {{ alumno.Programa.clavePrograma }} </span>
</p>
<p class="is-size-5" v-if="alumno.Programa.dependencia">
<b>Dependecia: </b><span> {{ alumno.Programa.dependencia }} </span>
</p>
<p class="is-size-5" v-if="alumno.Programa.institucion">
<b>Institución: </b><span> {{ alumno.Programa.institucion }} </span>
</p>
<br />
</div>
<div id="datosPersonales">
<p class="is-size-4"><b>Datos personales</b></p>
<p class="is-size-5 mt-5" v-if="alumno.Usuario.nombre">
<b>Nombre: </b>{{ alumno.Usuario.nombre }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.Usuario.usuario">
<b>Número de cuenta: </b>{{ alumno.Usuario.usuario }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.Carrera.carrera">
<b>Correo: </b>{{ alumno.Carrera.carrera }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.correo">
<b>Correo: </b>{{ alumno.correo }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.creditos">
<b>Créditos: </b>{{ alumno.creditos }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaInicio">
<b>Fecha de inicio: </b>{{ fecha(alumno.fechaInicio) }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaFin">
<b>Fecha de fin: </b>{{ fecha(alumno.fechaFin) }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.telefono">
<b>Teléfono: </b>{{ alumno.telefono }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.direccion">
<b>Dirección: </b>{{ alumno.direccion }}
</p>
<p class="is-size-5 mt-5" v-if="alumno.fechaNacimiento">
<b>Fecha de nacimiento: </b>{{ fecha(alumno.fechaNacimiento) }}
</p>
</div>
<!--Componente titulo-->
<TituloServicio :status="alumno.Status.idStatus" />
<!--Componente programa-->
<DatosPrograma :programa="alumno.Programa" />
<!--Componente datosPersonales, alumno-->
<DatosPersonales :alumno="alumno" />
<!--Componente Enlaces
alumno.Status.idStatus
alumno.cartaAceptacion
linkCartaAceptacion
-->
<div id="enlaces">
<b-button
class="boton is-info"
@@ -85,13 +24,7 @@
Editar información
</b-button>
<br /><br />
<h3 class="is-size-4 mb-5" v-if="alumno.Status.idStatus == 1">
Confirmar el pre-registro del alumno
</h3>
<h3 class="is-size-4 mb-5" v-if="alumno.Status.idStatus == 4">Término</h3>
<h3 class="is-size-4 mb-5" v-if="alumno.Status.idStatus == 5">
Validar el término del alumno
</h3>
<TituloStatus :status="alumno.Status.idStatus" />
<div v-if="alumno.cartaAceptacion" class="">
<span class="spanDoc"><strong>Ver carta de aceptación</strong></span>
<a :href="linkCartaAceptacion" target="_blank">
@@ -226,32 +159,30 @@
Confirmar
</b-button>
</div>
<div class="demas">
<b-button class="is-info" @click="regresar()">
Regresar
</b-button>
<b-button class="is-danger" @click="enviarCancel = !enviarCancel">
Cancelar
</b-button>
<br /><br />
<b-field label="Razón para cancelar: " v-if="enviarCancel">
<b-input
maxlength="500"
type="textarea"
v-model="mensajeCancel"
></b-input>
</b-field>
<b-button
v-if="mensajeCancel && enviarCancel"
class="is-danger"
@click="cancelarDialog()"
>
Cancelar servicio
</b-button>
<b-button v-else-if="enviarCancel" disabled>
Cancelar servicio
</b-button>
</div>
<b-button class="is-info" @click="regresar()">
Regresar
</b-button>
<b-button class="is-danger" @click="enviarCancel = !enviarCancel">
Cancelar
</b-button>
<br /><br />
<b-field label="Razón para cancelar: " v-if="enviarCancel">
<b-input
maxlength="500"
type="textarea"
v-model="mensajeCancel"
></b-input>
</b-field>
<b-button
v-if="mensajeCancel && enviarCancel"
class="is-danger"
@click="cancelarDialog()"
>
Cancelar servicio
</b-button>
<b-button v-else-if="enviarCancel" disabled>
Cancelar servicio
</b-button>
<b-loading
:is-full-page="true"
v-model="isLoading"
@@ -263,8 +194,18 @@
<script>
import axios from "axios";
import moment from "moment";
import tituloServicio from "./tituloServicio";
import tituloStatus from "./tituloStatus";
import datosPrograma from "./datosPrograma";
import datosPersonales from "./datosPersonales";
export default {
components: {
tituloServicio,
datosPrograma,
datosPersonales,
tituloStatus,
},
data() {
return {
alumno: {
@@ -317,6 +258,7 @@ export default {
.then((res) => {
this.isLoading = false;
this.alumno = res.data;
this.alumno.creditos = Number(res.data.creditos);
if (this.alumno.cartaAceptacion) {
this.linkCartaAceptacion = `https://drive.google.com/file/d/${this.alumno.cartaAceptacion}/view?usp=sharing`;
}
@@ -463,10 +405,6 @@ export default {
console.log(err);
});
},
fecha(date) {
const fecha = moment(date.substr(0, 10));
return `${fecha.date()}/${fecha.month() + 1}/${fecha.year()}`;
},
confirmarRegistro() {
this.isLoading = true;
const data = {
@@ -527,7 +465,7 @@ export default {
},
async created() {
await this.obtenerRegistro();
}
},
};
</script>
+9 -1
View File
@@ -1,5 +1,5 @@
<template>
<div class="container">
<div v-if="idServicio != null && cartaAceptacion != null" class="container">
<h3 class="title is-4 mt-6">
Carta de aceptación (en formato .PDF. No se aceptan fotos).
</h3>
@@ -43,6 +43,7 @@ export default {
isFullPage: true,
file: "",
idServicio: "",
cartaAceptacion: "",
};
},
methods: {
@@ -105,10 +106,17 @@ export default {
})
.finally(() => {
this.$router.push("/responsable");
localStorage.removeItem("idServicio");
localStorage.removeItem("cartaAceptacion");
});
},
getIdLocal() {
this.idServicio = localStorage.getItem("idServicio");
this.cartaAceptacion = localStorage.getItem("cartaAceptacion");
if (this.idServicio === null || this.cartaAceptacion === null) {
this.$router.push("/responsable");
}
},
},
watch: {
+9 -1
View File
@@ -1,5 +1,5 @@
<template>
<div class="container">
<div v-if="idServicio != null && cartaTermino != null" class="container">
<h3 class="title is-4 mt-6">
Carta de termino (en formato .PDF. No se aceptan fotos).
</h3>
@@ -49,6 +49,7 @@ export default {
isFullPage: true,
file: [],
idServicio: "",
cartaTermino: "",
};
},
methods: {
@@ -112,10 +113,17 @@ export default {
})
.finally(() => {
this.$router.push("/responsable");
localStorage.removeItem("idServicio");
localStorage.removeItem("cartaTermino");
});
},
getIdLocal() {
this.idServicio = localStorage.getItem("idServicio");
this.cartaTermino = localStorage.getItem("cartaTermino");
if (this.idServicio === null || this.cartaTermino === null) {
this.$router.push("/responsable");
}
},
},
watch: {
+14 -1
View File
@@ -1,5 +1,5 @@
<template>
<div class="container">
<div v-if="this.idServicio && this.cuestionario" class="container">
<div class="section">
<h1 class="title is-3">
Estimad(a) responsable de programa de servicio social:
@@ -181,6 +181,8 @@
export default {
data() {
return {
idServicio: "",
cuestionario: "",
actividades: {
actividad1: "",
actividad2: "",
@@ -203,6 +205,17 @@ export default {
imprime() {
console.log(this.actividad1);
},
getIdLocal() {
this.idServicio = localStorage.getItem("idServicio");
this.cuestionario = localStorage.getItem("cuestionario");
if (this.idServicio === null || this.cuestionario === null) {
this.$router.push("/responsable");
}
},
},
created() {
this.getIdLocal();
},
};
</script>
+22 -18
View File
@@ -30,13 +30,13 @@
<b-select icon="information" expanded rounded v-model="idStatus">
<optgroup>
<option value="">Status</option>
<option value="1">Pre-registro</option>
<option value="1">Pre-Registro</option>
<option value="2">Registro</option>
<option value="3">Registro Validado</option>
<option value="4">Pre-Término</option>
<option value="5">Término</option>
<option value="6">Liberación</option>
<option value="7">Carta Aceptacion Rechazada</option>
<option value="7">Carta Aceptación Rechazada</option>
<option value="8">Carta Termino Rechazada</option>
<option value="9">Informe Global Rechazado</option>
</optgroup>
@@ -68,7 +68,7 @@
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ props.row.nombre }}</span
>
<span v-else>{{ props.row.nombre }}</span>
@@ -83,7 +83,7 @@
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ props.row.numeroCuenta }}</span
>
<span v-else>{{ props.row.numeroCuenta }}</span>
@@ -97,11 +97,12 @@
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ props.row.carrera }}</span
>
<span v-else>{{ props.row.carrera }}</span>
</b-table-column>
<b-table-column
field="fechaInicio"
truncate="10"
@@ -112,11 +113,12 @@
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
>{{ props.row.fechaInicio }}</span
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ fecha(props.row.fechaInicio) }}</span
>
<span v-else>{{ fecha(props.row.fechaInicio) }}</span>
</b-table-column>
<b-table-column
field="fechaFin"
label="Fecha Fin"
@@ -126,16 +128,18 @@
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
>{{ props.row.fechaFin }}</span
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ fecha(props.row.fechaFin) }}</span
>
<span v-else>{{ fecha(props.row.fechaFin) }}</span>
</b-table-column>
<b-table-column field="status" label="Status" v-slot="props" centered>
<span
class="cursorR"
v-if="props.row.idStatus == 7"
@click="cartaAceptacion(props.row.idServicio)"
class="cursorR tag"
:class="types(props.row.idStatus)"
@click="cartaAceptacion(props.row.idServicio, props.row.idStatus)"
>{{ props.row.status }}</span
>
<span v-else class="tag" :class="types(props.row.idStatus)">{{
@@ -152,7 +156,7 @@
>
<div
v-if="
(props.row.idStatus >= 4 && props.row.idStatus <= 7) ||
(props.row.idStatus >= 4 && props.row.idStatus < 7) ||
props.row.idStatus == 9
"
>
@@ -186,7 +190,7 @@
>
<div
v-if="
(props.row.idStatus >= 4 && props.row.idStatus <= 7) ||
(props.row.idStatus >= 4 && props.row.idStatus < 7) ||
props.row.idStatus == 9
"
>
@@ -264,13 +268,11 @@ export default {
return "is-danger";
} else if (idStatus === 9) {
return "is-danger";
} else if (idStatus === 10) {
// admin
return "is-danger";
}
},
botonCarta(cartaTermino, idServicio) {
window.localStorage.setItem("idServicio", idServicio);
window.localStorage.setItem("cartaTermino", cartaTermino);
this.$router.push("/responsable/carta_termino");
if (cartaTermino === 1) {
return "is-success";
@@ -280,6 +282,7 @@ export default {
},
botonCuestionario(cuestionario, idServicio) {
window.localStorage.setItem("idServicio", idServicio);
window.localStorage.setItem("cuestionario", cuestionario);
this.$router.push("/responsable/cuestionario");
if (cuestionario === 1) {
return "is-success";
@@ -303,7 +306,7 @@ export default {
},
fecha(date) {
const fecha = moment(date.substr(0, 10));
return `${fecha.date()}/${fecha.month() + 1}/${fecha.year()}`;
return `${fecha.year()}/${fecha.month() + 1}/${fecha.date()}`;
},
obtenerDatos(idStatus) {
this.loading = true;
@@ -347,8 +350,9 @@ export default {
this.loading = false;
});
},
cartaAceptacion(idServicio) {
cartaAceptacion(idServicio, idStatus) {
window.localStorage.setItem("idServicio", idServicio);
window.localStorage.setItem("cartaAceptacion", idStatus);
this.$router.push("/responsable/carta_aceptacion");
},
insertIdLocal() {
+2 -2
View File
@@ -47,8 +47,8 @@ export default {
build: {},
env: {
// api: 'http://localhost:3000'
api: "https://venus.acatlan.unam.mx/ss-pruebas",
//api: "https://03a9bde77357.ngrok.io",
// api: "https://venus.acatlan.unam.mx/ss-pruebas",
api: "https://890af9d598a4.ngrok.io"
// api: 'https//venus.acatlan.unam.mx/pruebas_pcpuma'
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ export default {
methods: {
regresar() {
localStorage.removeItem("idRegistro");
this.$router.push("./");
this.$router.push("/admin");
},
},
};
@@ -1,6 +1,9 @@
<template>
<div class="container">
<b-button class="boton is-info my-5" @click="$router.push('./')">
<b-button
class="boton is-info my-5"
@click="$router.push('/admin/programa/infoResponsable')"
>
Regresar
</b-button>
<p class="is-size-2">Editar información del responsable</p>
@@ -12,10 +15,17 @@
<b-input type="email" v-model="nuevo.correo" :placeholder="viejo.correo">
</b-input>
</b-field>
<b-button class="boton is-info my-5" @click="$router.push('./')">
<b-button
class="boton is-info my-5"
@click="$router.push('/admin/programa/infoResponsable')"
>
Regresar
</b-button>
<b-button class="boton is-info my-5" v-if="mostrar()" @click="editarResponsable()">
<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>
@@ -30,31 +40,28 @@
</template>
<script>
import validator from 'validator'
import validator from "validator";
//import axios from 'axios'
export default {
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'),
isLoading: false
}
idServicio: localStorage.getItem("idServicio"),
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;
@@ -64,7 +71,7 @@ export default {
}
return true;
}
}
}
}
},
},
};
</script>
@@ -22,7 +22,7 @@
<div class="">
<b-button
class="boton is-info my-5"
@click="$router.push('./infoResponsable/edit')"
@click="$router.push('/admin/programa/infoResponsable/edit')"
>
Editar información
</b-button>
@@ -72,7 +72,7 @@ export default {
});
},
regresar() {
this.$router.push("/admin");
this.$router.push("/admin/programa");
localStorage.removeItem("correo");
},
},