pcpuma_unam_operador/components/layouts/Menu.vue

364 lines
13 KiB
Vue
Raw Normal View History

2022-05-31 04:22:49 +00:00
<template>
2022-06-02 22:47:09 +00:00
<div>
<section>
<div
class="container is-flex is-justify-content-space-between is-align-items-center"
>
2022-06-13 15:36:45 +00:00
<div class="pl-3 py-2">
2022-06-02 22:47:09 +00:00
<b-button type="is-info" @click="open = true">
<b-icon icon="menu" />
</b-button>
</div>
<!-- <h2 class="m-2 has-text-white">{{ usuario }}</h2> -->
</div>
</section>
<aside>
<b-sidebar type="is-white" v-model="open" fullheight overlay>
<div class="m-5">
<b-image :src="require('@/assets/logo.png')" alt="logo_pc_puma" />
<b-menu>
<b-menu-list label="Menu">
<!-- <b-menu-list>
2022-05-31 04:22:49 +00:00
<b-menu-item
label="Inicio"
:icon="icono('/inicio')"
:disabled="activo('/inicio')"
@click="opcionMenu('/inicio')"
/>
</b-menu-list> -->
2022-06-02 22:47:09 +00:00
<b-menu-list>
<b-menu-item
label="Préstamo/Devolución"
:icon="icono('/operador/prestamo_devolucion')"
:disabled="activo('/operador/prestamo_devolucion')"
@click="opcionMenu('/operador/prestamo_devolucion')"
/>
</b-menu-list>
<b-menu-list>
<b-menu-item
label="Historial de Préstamos"
:icon="icono('/operador/historial_prestamos')"
:disabled="activo('/operador/historial_prestamos')"
@click="opcionMenu('/operador/historial_prestamos')"
/>
</b-menu-list>
2022-07-11 08:28:35 +00:00
<b-menu-item
icon="cart-outline"
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
>
2022-06-02 22:47:09 +00:00
<template #label="props">
Carritos
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
<b-menu-item
label="Buscar carrito"
:icon="icono('/operador/carritos/buscar_carrito')"
:disabled="activo('/operador/carritos/buscar_carrito')"
@click="opcionMenu('/operador/carritos/buscar_carrito')"
/>
<b-menu-item
label="Todos los carritos"
2022-07-04 19:45:28 +00:00
:icon="icono('/operador/carritos/todos_carritos')"
:disabled="activo('/operador/carritos/todos_carritos')"
@click="opcionMenu('/operador/carritos/todos_carritos')"
2022-06-02 22:47:09 +00:00
/>
</b-menu-item>
2022-07-11 08:28:35 +00:00
<b-menu-item
icon="cellphone-link"
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
>
2022-06-02 22:47:09 +00:00
<template #label="props">
Equipos
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
<b-menu-item
label="Buscar equipo"
2022-07-05 04:48:43 +00:00
:icon="icono('/operador/equipos/buscar_equipo')"
:disabled="activo('/operador/equipos/buscar_equipo')"
@click="opcionMenu('/operador/equipos/buscar_equipo')"
2022-06-02 22:47:09 +00:00
/>
<b-menu-item
label="Todos los equipos"
:icon="icono('/operador/equipos/todos_equipos')"
:disabled="activo('/operador/equipos/todos_equipos')"
@click="opcionMenu('/operador/equipos/todos_equipos')"
/>
</b-menu-item>
2022-06-02 23:03:27 +00:00
<b-menu-item icon="account-multiple">
2022-06-02 22:47:09 +00:00
<template #label="props">
Usuarios
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
<b-menu-item
label="Buscar usuario"
:icon="icono('/operador/usuarios/buscar_usuario')"
:disabled="activo('/operador/usuarios/buscar_usuario')"
@click="opcionMenu('/operador/usuarios/buscar_usuario')"
/>
<b-menu-item
label="Todos los usuarios"
:icon="icono('/operador/usuarios/todos_usuarios')"
:disabled="activo('/operador/usuarios/todos_usuarios')"
@click="opcionMenu('/operador/usuarios/todos_usuarios')"
/>
<b-menu-item
label="Multa del usuario"
2022-07-11 04:12:37 +00:00
:icon="icono('/operador/usuarios/multas_usuario')"
:disabled="activo('/operador/usuarios/multas_usuario')"
@click="opcionMenu('/operador/usuarios/multas_usuario')"
2022-06-02 22:47:09 +00:00
/>
</b-menu-item>
2022-05-31 04:22:49 +00:00
<b-menu-item
2022-06-02 22:47:09 +00:00
label="Regreso Inmediato"
:icon="icono('/regreso_inmediato')"
:disabled="activo('/regreso_inmediato')"
@click="opcionMenu('/regreso_inmediato')"
v-if="idTipoUsuario === 1"
2022-05-31 04:22:49 +00:00
/>
2022-06-02 22:47:09 +00:00
<!--Admin-->
2022-06-02 23:03:27 +00:00
<b-menu-item
icon="account-plus"
2022-06-06 17:07:23 +00:00
v-if="idTipoUsuario === 2 || idTipoUsuario === 3"
2022-06-02 23:03:27 +00:00
>
2022-06-02 22:47:09 +00:00
<template #label="props">
2022-07-01 07:03:44 +00:00
Administrador
2022-06-02 22:47:09 +00:00
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
2022-06-02 23:03:27 +00:00
<!-- <b-menu-item
2022-06-02 22:47:09 +00:00
label="Usuarios"
:icon="icono('/admin/usuarios')"
:disabled="activo('/admin/usuarios')"
@click="opcionMenu('/admin/usuarios')"
2022-06-02 23:03:27 +00:00
/> -->
2022-06-13 18:37:02 +00:00
<b-menu-item icon="storefront-outline">
2022-06-02 23:03:27 +00:00
<template #label="props">
Modulos
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
2022-06-12 05:39:26 +00:00
<b-menu-item
label="Buscar modulo"
:icon="icono('/admin/modulos/buscar_modulo')"
:disabled="activo('/admin/modulos/buscar_modulo')"
@click="opcionMenu('/admin/modulos/buscar_modulo')"
/>
2022-06-02 23:03:27 +00:00
<b-menu-item
label="Todos los modulos"
:icon="icono('/admin/modulos/todos_modulos')"
:disabled="activo('/admin/modulos/todos_modulos')"
@click="opcionMenu('/admin/modulos/todos_modulos')"
/>
</b-menu-item>
2022-06-02 19:02:38 +00:00
2022-06-02 22:47:09 +00:00
<b-menu-item
label="Carga Masiva Equipos"
:icon="icono('/admin/carga_masiva_equipos')"
:disabled="activo('/admin/carga_masiva_equipos')"
@click="opcionMenu('/admin/carga_masiva_equipos')"
2022-06-12 05:45:27 +00:00
v-if="idTipoUsuario === 3"
2022-06-02 19:02:38 +00:00
/>
2022-06-02 22:47:09 +00:00
<b-menu-item
label="Carga Masiva Usuarios"
:icon="icono('/admin/carga_masiva_usuarios')"
:disabled="activo('/admin/carga_masiva_usuarios')"
@click="opcionMenu('/admin/carga_masiva_usuarios')"
2022-06-12 05:45:27 +00:00
v-if="idTipoUsuario === 3"
2022-05-31 04:22:49 +00:00
/>
2022-06-23 04:50:48 +00:00
<b-menu-item
label="Operadores"
:icon="icono('/admin/operadores')"
:disabled="activo('/admin/operadores')"
@click="opcionMenu('/admin/operadores')"
v-if="idTipoUsuario === 3"
/>
2022-06-02 22:47:09 +00:00
<b-menu-item
2022-07-11 20:58:10 +00:00
label="Admins"
:icon="icono('/admin/admins')"
:disabled="activo('/admin/admins')"
@click="opcionMenu('/admin/admins')"
v-if="idTipoUsuario === 2"
/>
<!-- <b-menu-item
2022-06-02 22:47:09 +00:00
label="Reportes"
:icon="icono('/admin/reportes')"
:disabled="activo('/admin/reportes')"
@click="opcionMenu('/admin/reportes')"
2022-07-11 20:58:10 +00:00
/> -->
2022-06-02 22:47:09 +00:00
</b-menu-item>
2022-06-28 06:41:38 +00:00
<b-menu-item
icon="account-plus"
v-if="idTipoUsuario === 2 || idTipoUsuario === 3"
>
<template #label="props">
Configuración
<b-icon
class="is-pulled-right"
:icon="props.expanded ? 'menu-down' : 'menu-up'"
/>
</template>
2022-07-11 17:24:30 +00:00
<b-menu-item
label="Horario de Servicio"
:icon="icono('/admin/configuracion/institucion-dia')"
:disabled="activo('/admin/configuracion/institucion-dia')"
@click="opcionMenu('/admin/configuracion/institucion-dia')"
v-if="idTipoUsuario === 3"
/>
2022-06-28 06:41:38 +00:00
<b-menu-item
2022-07-09 23:26:33 +00:00
label="Infracciones"
2022-07-01 05:01:54 +00:00
:icon="icono('/admin/configuracion/institucion-infraccion')"
:disabled="
activo('/admin/configuracion/institucion-infraccion')
"
@click="
opcionMenu('/admin/configuracion/institucion-infraccion')
"
2022-06-28 06:41:38 +00:00
v-if="idTipoUsuario === 3"
/>
2022-07-01 05:14:19 +00:00
<b-menu-item
2022-07-09 23:26:33 +00:00
label="Programas"
2022-07-01 05:14:19 +00:00
:icon="icono('/admin/configuracion/institucion-programa')"
:disabled="
activo('/admin/configuracion/institucion-programa')
"
@click="
opcionMenu('/admin/configuracion/institucion-programa')
"
v-if="idTipoUsuario === 3"
/>
2022-07-11 19:51:14 +00:00
<b-menu-item
label="Tipos de Entradas"
:icon="icono('/admin/configuracion/institucion-tipo-entrada')"
:disabled="
activo('/admin/configuracion/institucion-tipo-entrada')
"
@click="
opcionMenu('/admin/configuracion/institucion-tipo-entrada')
"
v-if="idTipoUsuario === 3"
/>
2022-07-11 17:24:30 +00:00
<b-menu-item
label="Carreras y Programas"
:icon="icono('/admin/configuracion/carrera_programa')"
:disabled="activo('/admin/configuracion/carrera_programa')"
@click="opcionMenu('/admin/configuracion/carrera_programa')"
v-if="idTipoUsuario === 3"
/>
2022-06-28 06:41:38 +00:00
<b-menu-item
label="Instituciones"
2022-07-01 05:01:54 +00:00
:icon="icono('/admin/configuracion/instituciones')"
:disabled="activo('/admin/configuracion/instituciones')"
@click="opcionMenu('/admin/configuracion/instituciones')"
2022-07-11 16:56:17 +00:00
v-if="idTipoUsuario === 2"
2022-06-28 06:41:38 +00:00
/>
2022-07-11 16:56:17 +00:00
<b-menu-item
label="Crear Nuevas opciones"
:icon="icono('/admin/configuracion/crear_nuevas_opciones')"
:disabled="
activo('/admin/configuracion/crear_nuevas_opciones')
"
@click="
opcionMenu('/admin/configuracion/crear_nuevas_opciones')
"
v-if="idTipoUsuario === 2"
/>
2022-06-28 06:41:38 +00:00
</b-menu-item>
2022-06-02 22:47:09 +00:00
</b-menu-list>
2022-05-31 04:22:49 +00:00
2022-06-02 22:47:09 +00:00
<b-menu-list label="Acciones">
<b-menu-item label="Cerrar Sesión" @click="cerrarSesion()" />
</b-menu-list>
</b-menu>
</div>
</b-sidebar>
</aside>
</div>
2022-05-31 04:22:49 +00:00
</template>
<script>
export default {
data() {
return {
open: false,
2022-06-06 17:07:23 +00:00
idTipoUsuario: '',
2022-05-31 04:22:49 +00:00
}
},
methods: {
cerrarSesion() {
localStorage.clear()
this.$router.push('/')
},
opcionMenu(path) {
this.open = false
this.$router.push(path)
},
activo(ruta) {
return ruta === window.location.pathname
},
icono(ruta) {
return this.activo(ruta) ? 'square' : 'crop-square'
},
},
created() {
2022-06-02 22:47:09 +00:00
// if (
2022-06-06 17:07:23 +00:00
// !localStorage.getItem('idTipoUsuario')
// // !localStorage.getItem('token') ||
// // !localStorage.getItem('idOperador') ||
// // !localStorage.getItem('operador') ||
// // !localStorage.getItem('tipoUsuario') ||
// // !localStorage.getItem('idModulo')
2022-06-02 22:47:09 +00:00
// )
// this.cerrarSesion()
2022-06-06 17:07:23 +00:00
const objeto = JSON.parse(localStorage.getItem('usuario'))
// this.operador = objeto.operador
this.idTipoUsuario = objeto.operador.tipoUsuario.id_tipo_usuario
2022-05-31 04:22:49 +00:00
},
}
</script>
2022-06-02 22:47:09 +00:00
<style scoped>
section {
background-color: #bb8704;
}
</style>