instituciones

This commit is contained in:
Andres2908 2022-06-23 23:24:08 -05:00
parent 60a4041d1f
commit 922a63c7c4
4 changed files with 252 additions and 0 deletions

View File

@ -0,0 +1,76 @@
<template>
<div class="columns">
<div class="column mt-5 has-text-centered">
<b-field>
<b-button :type="type" @click="hasDominion = true"
>Con Dominio</b-button
>
</b-field>
<b-field>
<b-button :type="typeTwo" @click="hasDominion = false"
>Sin Dominio</b-button
>
</b-field>
</div>
<div class="column has-text-centered pb-5">
<b-field>
<b-upload v-model="dropFiles" multiple drag-drop>
<section class="section">
<div class="content has-text-centered">
<p>
<b-icon icon="upload" size="is-large"> </b-icon>
</p>
<p>Adjunta el logo de la Institución</p>
</div>
</section>
</b-upload>
</b-field>
<div class="tags columns is-centered">
<div class="column is-half">
<span
v-for="(file, index) in dropFiles"
:key="index"
class="tag is-info"
>
{{ file.name }}
<button
class="delete is-small"
type="button"
@click="deleteDropFile(index)"
></button>
</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
hasDominion: false,
dropFiles: [],
}
},
methods: {
deleteDropFile(index) {
this.dropFiles.splice(index, 1)
},
},
computed: {
type() {
return {
'is-info': this.hasDominion == true,
}
},
typeTwo() {
return {
'is-info': this.hasDominion == false,
}
},
},
}
</script>

View File

@ -0,0 +1,69 @@
<template>
<div class="columns">
<div class="column">
<b-field label="Nombre de la Institución">
<b-select v-model="idInstitucion" expanded>
<option value="" disabled>Institución</option>
<option
v-for="institucion in instituciones"
:value="institucion.id_institucion"
:key="institucion.id_insitucion"
>
{{ institucion.institucion }}
</option>
</b-select>
</b-field>
<b-field label="Dominio">
<b-input v-model="dominio" />
</b-field>
</div>
<div class="column">
<b-field label="Nombre del responsable">
<b-input v-model="nombreResponsable" />
</b-field>
<b-field label="Email">
<b-input type="email" v-model="email" />
</b-field>
<b-field label="Teléfono">
<b-input type="number" v-model="telefono" />
</b-field>
</div>
</div>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
instituciones: [],
institucion: {},
idInstitucion: '',
dominio: '',
nombreResponsable: '',
email: '',
}
},
methods: {
obtenerCatalogoInstitucion() {
axios
.get(`${process.env.api}/institucion`)
.then((res) => {
this.instituciones = res.data
})
.catch((err) => {
this.imprimirError(err)
})
},
},
created() {
this.obtenerCatalogoInstitucion()
},
}
</script>

View File

@ -189,6 +189,13 @@
v-if="idTipoUsuario === 3"
/>
<b-menu-item
label="Instituciones"
:icon="icono('/admin/instituciones')"
:disabled="activo('/admin/instituciones')"
@click="opcionMenu('/admin/instituciones')"
/>
<b-menu-item
label="Operadores"
:icon="icono('/admin/operadores')"

View File

@ -0,0 +1,100 @@
<template>
<div>
<Title title="Instituciones" :operador="admin" />
<HabilitarInstitucion v-if="admin.tipoUsuario.id_tipo_usuario === 2" />
<ConfigInstitucion v-if="admin.tipoUsuario.id_tipo_usuario === 3" />
</div>
</template>
<script>
import Title from '@/components/layouts/Title'
import HabilitarInstitucion from '@/components/admin/HabilitarInstitucion'
import ConfigInstitucion from '@/components/admin/ConfigInstitucion'
export default {
components: {
Title,
HabilitarInstitucion,
ConfigInstitucion,
},
data() {
return {
admin: {},
isLoading: false,
}
},
methods: {
updateIsLoading(valorBooleano) {
this.isLoading = valorBooleano
},
imprimirError(err = {}, title = '¡Hubo un error!', onConfirm = () => {}) {
this.$buefy.dialog.alert({
ariaRole: 'alertdialog',
ariaModal: true,
type: 'is-danger',
title,
message: err.message,
confirmText: 'Entendido',
hasIcon: true,
iconPack: 'mdi',
icon: 'alert-octagon',
onConfirm,
})
if (err.err && err.err === 'token error') {
localStorage.clear()
this.$router.push('/')
}
},
imprimirMensaje(message, onConfirm = () => {}, title = '¡Felicidades!') {
this.$buefy.dialog.alert({
ariaRole: 'alertdialog',
ariaModal: true,
type: 'is-success',
title,
message,
confirmText: 'Ok',
hasIcon: true,
iconPack: 'mdi',
icon: 'check-circle',
onConfirm,
})
},
imprimirWarning(
message,
onConfirm = () => {},
title = '¡Espera un minuto!',
onCancel = () => {}
) {
this.$buefy.dialog.alert({
ariaRole: 'alertdialog',
ariaModal: true,
type: 'is-warning',
title,
message,
confirmText: 'Confirmar',
canCancel: true,
cancelText: 'Cancelar',
hasIcon: true,
iconPack: 'mdi',
icon: 'help-circle',
onConfirm,
onCancel,
})
},
getLocalhostInfo() {
const objeto = JSON.parse(localStorage.getItem('usuario'))
this.admin = objeto.operador
},
},
created() {
this.getLocalhostInfo()
if (
this.admin.tipoUsuario.id_tipo_usuario != 2 &&
this.admin.tipoUsuario.id_tipo_usuario != 3
)
this.$router.push('/operador/prestamo_devolucion')
},
}
</script>