pcpuma_unam_operador/components/tablas/TablaModulos.vue

60 lines
1.4 KiB
Vue
Raw Normal View History

2022-07-25 12:49:16 +00:00
<template>
<b-table
2022-07-29 01:04:17 +00:00
class="pb-6"
:data="modulos"
2022-07-25 12:49:16 +00:00
:loading="isLoadingTable"
2022-07-25 22:59:36 +00:00
:row-class="(row, index) => 'pointer'"
:selected.sync="moduloSeleccionado"
detailed
2022-07-25 12:49:16 +00:00
hoverable
2022-07-25 22:59:36 +00:00
show-detail-icon
2022-07-25 12:49:16 +00:00
striped
>
2022-07-25 22:59:36 +00:00
<b-table-column field="modulo" label="Módulo" v-slot="props" centered>
<p>{{ props.row.modulo }}</p>
</b-table-column>
2022-07-29 05:08:49 +00:00
<b-table-column field="activo" label="Status" v-slot="props" centered>
<p
class="is-size-6 tag"
:class="props.row.activo ? 'is-success' : 'is-danger'"
>
{{ props.row.activo ? 'Activo' : 'Inactivo' }}
</p>
2022-07-25 22:59:36 +00:00
</b-table-column>
<template #detail="props">
2023-01-09 04:51:24 +00:00
<CarritosModulo :modulo="props.row" :operador="operador" />
</template>
2022-07-25 12:49:16 +00:00
</b-table>
</template>
<script>
import CarritosModulo from '@/components/tablas/CarritosModulo'
2022-07-25 22:59:36 +00:00
2022-07-25 12:49:16 +00:00
export default {
components: { CarritosModulo },
2022-07-25 12:49:16 +00:00
props: {
modulos: { type: Array, required: true, default: () => [] },
2022-07-25 12:49:16 +00:00
isLoadingTable: { type: Boolean, required: true, default: false },
2023-01-09 04:51:24 +00:00
operador: { type: Object, required: true, default: () => ({}) },
2022-07-25 12:49:16 +00:00
},
data() {
2022-07-29 05:08:49 +00:00
return { moduloSeleccionado: {} }
2022-07-25 22:59:36 +00:00
},
watch: {
moduloSeleccionado() {
this.$router.push(
2022-07-29 05:08:49 +00:00
`/admin/administrador/modulos/buscar_modulo/${this.moduloSeleccionado.id_modulo}`
2022-07-25 22:59:36 +00:00
)
},
2022-07-25 12:49:16 +00:00
},
}
</script>
2022-07-29 05:08:49 +00:00
<style>
.pointer {
cursor: pointer;
}
</style>