pcpuma_unam_operador/components/operador/ModalMultaIdPrestamo.vue

145 lines
3.5 KiB
Vue
Raw Normal View History

2022-05-31 04:22:49 +00:00
<template>
<form>
<div class="modal-card">
<header class="modal-card-head">
<h5 class="modal-card-title">Multas</h5>
</header>
<section class="modal-card-body">
<div>
<div>
<div class="is-flex is-justify-content-space-between py-3">
<p>¿Desea multar al usuario?</p>
</div>
<b-field>
<b-radio
type="is-danger"
size="is-medium"
:native-value="true"
v-model="multaUsuario"
>
Si
</b-radio>
</b-field>
<b-field>
<b-radio
type="is-info"
size="is-medium"
:native-value="false"
v-model="multaUsuario"
>
No
</b-radio>
</b-field>
</div>
<div v-show="multaUsuario">
<div class="is-flex is-justify-content-space-between py-3">
<p>Infraccion cometida por el usuario</p>
</div>
<b-field>
<b-select
placeholder="Seleccionar"
v-model="idInfraccion"
expanded
>
<option disabled value="">Selecciona una opción</option>
2022-07-11 20:03:39 +00:00
2022-05-31 04:22:49 +00:00
<option
2022-07-11 20:03:39 +00:00
v-for="(i, index) in infracciones"
2022-05-31 04:22:49 +00:00
:key="index"
2022-07-13 22:01:19 +00:00
:value="i.infraccion.id_infraccion"
2022-05-31 04:22:49 +00:00
>
2022-07-13 22:01:19 +00:00
{{ i.infraccion.infraccion }}
2022-05-31 04:22:49 +00:00
</option>
</b-select>
</b-field>
</div>
<div v-show="multaUsuario">
<div class="is-flex is-justify-content-space-between py-3">
<p>Motivos por los que desea multar al usuario</p>
</div>
<b-field>
<b-input
type="textarea"
expanded
maxlength="500"
v-model="descripcion"
/>
</b-field>
</div>
</div>
</section>
<footer
class="modal-card-foot"
style="display: flex; justify-content: space-between"
>
<b-button label="Cancelar" type="is-danger" @click="$emit('close')" />
<b-button
label="Enviar"
type="is-success"
@click="
2022-07-11 20:03:39 +00:00
regresar(idInfraccion, descripcion)
2022-05-31 04:22:49 +00:00
$emit('close')
"
:disabled="multaUsuario && !(idInfraccion && descripcion)"
/>
</footer>
</div>
</form>
</template>
<script>
import axios from 'axios'
export default {
props: {
operador: { type: Object, required: true },
regresar: { type: Function, required: true },
},
data() {
return {
multaUsuario: false,
idInfraccion: '',
descripcion: '',
infracciones: [],
}
},
methods: {
obtenerCatalogoInfracciones() {
axios
2022-07-13 22:01:19 +00:00
.get(
`${process.env.api}/institucion-infraccion/infracciones?id_institucion=${this.operador.institucion.id_institucion}`,
2022-07-19 16:41:33 +00:00
this.$getToken.token()
2022-07-13 22:01:19 +00:00
)
2022-05-31 04:22:49 +00:00
.then((res) => {
this.infracciones = res.data
})
.catch((err) => {
2022-07-11 14:15:10 +00:00
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
2022-05-31 04:22:49 +00:00
})
},
},
watch: {
multaUsuario(value) {
if (!value) {
this.idInfraccion = ''
this.descripcion = ''
}
},
},
created() {
this.obtenerCatalogoInfracciones()
},
}
</script>
<style></style>