208 lines
7.4 KiB
Vue
208 lines
7.4 KiB
Vue
<template>
|
|
<div class="container">
|
|
<div class="mb-5">
|
|
<b-button class="boton is-info" @click="$router.push('./')">
|
|
Regresar
|
|
</b-button>
|
|
<b-button class="boton is-info" @click="$router.push('./servicio/modificar')">
|
|
Editar información
|
|
</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"><b>Programa: </b><span> {{alumno.Programa.programa}} </span></p>
|
|
<p class="is-size-5"><b>Clave del programa: </b><span> {{alumno.Programa.clavePrograma}} </span></p>
|
|
<p class="is-size-5"><b>Dependecia: </b><span> {{alumno.Programa.dependencia}} </span></p>
|
|
<p class="is-size-5"><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>
|
|
<div id="enlaces">
|
|
<br>
|
|
<div v-if="alumno.cartaAceptacion" class="level">
|
|
<a :href="linkCartaAceptacion" class="has-text-link link">Ver carta de aceptación</a>
|
|
<b-button class="is-danger" v-if="alumno.Status.idStatus == 1">
|
|
Rechazar
|
|
</b-button>
|
|
</div>
|
|
<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">Termino</h3>
|
|
<h3 class="is-size-4 mb-5" v-if="alumno.Status.idStatus == 5">Validar el término del alumno</h3>
|
|
<div class="level">
|
|
<a v-if="alumno.cartaTermino" :href="linkCartaTermino" class="has-text-link link">Ver carta de término</a>
|
|
<b-button class="is-danger" v-if="alumno.Status.idStatus == 5">
|
|
Rechazar
|
|
</b-button>
|
|
</div>
|
|
<div v-if="alumno.informeGlobal" class="level">
|
|
<a :href="linkInformeGlobal" class="has-text-link link">Ver informe global de actividades</a>
|
|
<b-button class="is-danger" v-if="alumno.Status.idStatus == 5">
|
|
Rechazar
|
|
</b-button>
|
|
</div>
|
|
<p v-if="alumno.cuestionarioP">Cuenta con cuestionario de programa resuelto.</p>
|
|
<p v-if="alumno.cuestionarioA">Cuenta con cuestionario de alumno resuelto.</p>
|
|
</div>
|
|
<div id="acciones" class="my-5">
|
|
<b-button class="is-success" v-if="mostrarConfirmar()">
|
|
Confirmar
|
|
</b-button>
|
|
<b-button class="is-danger" @click="enviarCancel = !enviarCancel">
|
|
Cancelar
|
|
</b-button>
|
|
<b-button class="is-info" @click="$router.push('./')">
|
|
Regresar
|
|
</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="cancelar()">
|
|
Cancelar servicio
|
|
</b-button>
|
|
<b-loading :is-full-page="isFullPage" v-model="isLoading" :can-cancel="true"></b-loading>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import axios from 'axios'
|
|
import moment from 'moment'
|
|
export default {
|
|
data () {
|
|
return {
|
|
alumno: {
|
|
Programa: {},
|
|
Usuario: {},
|
|
Carrera: {},
|
|
Status: {}
|
|
},
|
|
idRegistro: 1,
|
|
token: {
|
|
headers: {
|
|
token: localStorage.getItem('token')
|
|
}
|
|
},
|
|
linkCartaAceptacion: '',
|
|
linkCartaTermino: '',
|
|
linkInformeGlobal: '',
|
|
enviarMensaje: false,
|
|
enviarCancel: false,
|
|
mensaje: '',
|
|
mensajeCancel: '',
|
|
isLoading: false,
|
|
vistoBueno: false,
|
|
acatlan: false
|
|
}
|
|
},
|
|
methods: {
|
|
mostrarConfirmar () {
|
|
if (this.alumno.idStatus === 1) return true
|
|
else if (this.alumno.idStatus === 5) {
|
|
if (!this.alumno.acatlanContigo) return true
|
|
else if (this.vistoBueno) return true
|
|
}
|
|
return false
|
|
},
|
|
obtenerRegistro () {
|
|
return axios
|
|
.get(
|
|
`${process.env.api}/servicio/admin?idServicio=${this.idRegistro}`//,
|
|
// this.token
|
|
)
|
|
.then(res => {
|
|
this.alumno = res.data
|
|
if (this.alumno.noCuenta.length === 8) { this.alumno.noCuenta = `0${this.alumno.noCuenta}` }
|
|
if (this.alumno.cartaAceptacion) { this.linkCartaAceptacion = `https://drive.google.com/file/d/${this.alumno.cartaAceptacion}/view?usp=sharing` }
|
|
if (this.alumno.cartaTermino) { this.linkCartaTermino = `https://drive.google.com/file/d/${this.alumno.cartaTermino}/view?usp=sharing` }
|
|
if (this.alumno.informeGlobal) { this.linkInformeGlobal = `https://drive.google.com/file/d/${this.alumno.informeGlobal}/view?usp=sharing` }
|
|
})
|
|
.catch(err => {
|
|
console.log(err.response)
|
|
})
|
|
},
|
|
cancelar () {
|
|
this.isLoading = true
|
|
const data = {
|
|
idRegistro: this.idRegistro,
|
|
update: 'cancelar',
|
|
mensajeCalce: this.mensajeCancel
|
|
}
|
|
axios
|
|
.put(`${process.env.api}/servicio/cancelar`, data)
|
|
.then(res => {
|
|
this.isLoading = false
|
|
localStorage.removeItem('idRegistro')
|
|
this.$router.push('/admin')
|
|
})
|
|
.catch(err => {
|
|
this.isLoading = false
|
|
console.log(err)
|
|
})
|
|
},
|
|
fecha (date) {
|
|
const fecha = moment(date.substr(0, 10))
|
|
return `${fecha.date()}/${fecha.month() + 1}/${fecha.year()}`
|
|
}
|
|
},
|
|
async created () {
|
|
// this.idRegistro = localStorage.getItem('idRegistro')
|
|
await this.obtenerRegistro()
|
|
}/* ,
|
|
beforeCreate () {
|
|
if (!localStorage.getItem('idRegistro')) { this.$router.push('./admin') }
|
|
} */
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.boton {
|
|
margin-top: 2%;
|
|
}
|
|
.is-size-5{
|
|
margin-bottom: 10px;
|
|
}
|
|
.link-f {
|
|
font-size: 27px !important;
|
|
}
|
|
.link {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
font-size: 20px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
</style>
|