pcpuma_unam_operador/components/operador/usuarios/TablaUsuarios.vue

122 lines
3.1 KiB
Vue
Raw Normal View History

2022-07-11 04:12:37 +00:00
<template>
<b-table
:data="usuarios"
:loading="isLoadingTable"
:selected.sync="selectedUsuario"
2022-07-11 19:23:06 +00:00
:row-class="(row, index) => 'pointer'"
2022-07-11 04:12:37 +00:00
class="mb-6"
:per-page="25"
@page-change="onPageChange"
show-detail-icon
paginated
detailed
>
<b-table-column
field="usuario"
label="Número de cuenta"
v-slot="props"
centered
>
<span>{{ props.row.usuario }}</span>
</b-table-column>
<b-table-column field="nombre" label="Nombre" v-slot="props" centered>
<span>{{ props.row.nombre }}</span>
</b-table-column>
<b-table-column field="tipo" label="Tipo" v-slot="props" centered>
<span>{{ props.row.tipoUsuario.tipo_usuario }}</span>
</b-table-column>
<template #detail="props">
<div class="columns">
<div class="column is-1"></div>
<div class="column has-text-centered is-size-5 detail-item">
<b>Institución(es):</b>
</div>
<div class="column has-text-centered is-size-5 detail-item">
<b>Carrera(s):</b>
</div>
<div class="column has-text-centered is-size-5 detail-item">
<b>Activo:</b>
</div>
</div>
<div
v-for="institucion in props.row.instituciones"
:key="institucion.institucionCarrera.id_institucion_carrera"
class="container columns"
>
<div class="column is-1"></div>
<div class="column has-text-centered is-size-6 detail-item">
{{ institucion.institucionCarrera.institucion.institucion }}
</div>
<div class="column has-text-centered is-size-6 detail-item">
{{ institucion.institucionCarrera.carrera.carrera }}
</div>
<div class="column has-text-centered is-size-6 detail-item">
<b-field>
<b-tag
class="is-size-6 tag"
:class="choooseTag(institucion.activo)"
>{{ institucion.activo ? 'Activo' : 'Inactivo' }}</b-tag
>
</b-field>
</div>
</div>
</template>
<template #empty>
<div class="has-text-centered">
<p class="is-size-6">No hay usuarios</p>
</div>
</template>
</b-table>
</template>
<script>
2022-08-05 12:29:37 +00:00
// import TablaEquiCarritos from '@/components/operador/TablaEquiCarritos'
2022-07-11 04:12:37 +00:00
export default {
2022-08-05 12:29:37 +00:00
// components: { TablaEquiCarritos },
2022-07-11 04:12:37 +00:00
props: {
operador: { type: Object, required: true },
usuarios: { type: Array, require: true },
isLoadingTable: { type: Boolean, require: true },
2022-07-11 19:23:06 +00:00
page: { type: Number, required: true },
onPageChange: { type: Function, require: true },
total: { type: Number, required: true },
2022-07-11 04:12:37 +00:00
},
data() {
return {
selectedUsuario: {},
}
},
methods: {
choooseTag(activo) {
const style = {
false: 'is-danger',
true: 'is-success',
}
return style[activo]
},
},
watch: {
selectedUsuario() {
this.$router.push({
path:
2022-08-02 14:47:06 +00:00
'/usuarios/buscar_usuario/' + this.selectedUsuario.usuario,
2022-07-11 04:12:37 +00:00
})
},
},
}
</script>
<style>
.pointer {
cursor: pointer;
}
.detail-item {
padding: 0;
}
</style>