2022-05-31 04:22:49 +00:00
|
|
|
<template>
|
2022-06-02 22:47:09 +00:00
|
|
|
<div>
|
|
|
|
<section>
|
|
|
|
<div
|
2022-09-22 18:24:31 +00:00
|
|
|
class="container is-flex is-justify-content-space-between is-align-items-center"
|
2022-06-02 22:47:09 +00:00
|
|
|
>
|
2022-06-13 15:36:45 +00:00
|
|
|
<div class="pl-3 py-2">
|
2022-07-12 16:39:01 +00:00
|
|
|
<b-button type="is-info" @click="open = true" size="is-small">
|
|
|
|
<b-icon icon="menu" size="is-small" />
|
2022-06-02 22:47:09 +00:00
|
|
|
</b-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
2022-07-12 16:39:01 +00:00
|
|
|
|
2022-06-02 22:47:09 +00:00
|
|
|
<aside>
|
|
|
|
<b-sidebar type="is-white" v-model="open" fullheight overlay>
|
|
|
|
<div class="m-5">
|
2022-07-20 05:07:11 +00:00
|
|
|
<b-image :src="require('@/assets/icon.png')" alt="logo_pc_puma" />
|
2022-06-02 22:47:09 +00:00
|
|
|
|
2022-07-20 05:07:11 +00:00
|
|
|
<b-menu class="mt-6">
|
2022-06-02 22:47:09 +00:00
|
|
|
<b-menu-list label="Menu">
|
2022-07-20 16:53:25 +00:00
|
|
|
<b-menu-list v-if="idTipoUsuario === 3 || idTipoUsuario === 4">
|
|
|
|
<b-menu-item
|
|
|
|
label="Préstamo/Devolución"
|
2022-07-29 07:16:40 +00:00
|
|
|
:icon="icono('/prestamo_devolucion')"
|
|
|
|
:disabled="activo('/prestamo_devolucion')"
|
|
|
|
@click="opcionMenu('/prestamo_devolucion')"
|
2022-07-20 16:53:25 +00:00
|
|
|
/>
|
|
|
|
</b-menu-list>
|
|
|
|
|
2022-09-05 11:54:29 +00:00
|
|
|
<b-menu-list
|
|
|
|
v-if="
|
|
|
|
idTipoUsuario === 2 ||
|
|
|
|
idTipoUsuario === 3 ||
|
|
|
|
idTipoUsuario === 4
|
|
|
|
"
|
|
|
|
>
|
2022-07-20 16:53:25 +00:00
|
|
|
<b-menu-item
|
|
|
|
label="Historial de Préstamos"
|
2022-07-29 07:16:40 +00:00
|
|
|
:icon="icono('/historial_prestamos')"
|
|
|
|
:disabled="activo('/historial_prestamos')"
|
|
|
|
@click="opcionMenu('/historial_prestamos')"
|
2022-07-20 16:53:25 +00:00
|
|
|
/>
|
|
|
|
</b-menu-list>
|
|
|
|
|
2022-08-29 17:30:25 +00:00
|
|
|
<b-menu-item
|
|
|
|
icon="account-multiple"
|
|
|
|
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
|
|
|
|
>
|
2022-07-29 07:12:18 +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('/usuarios/buscar_usuario')"
|
|
|
|
:disabled="activo('/usuarios/buscar_usuario')"
|
|
|
|
@click="opcionMenu('/usuarios/buscar_usuario')"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Todos los usuarios"
|
|
|
|
:icon="icono('/usuarios/todos_usuarios')"
|
|
|
|
:disabled="activo('/usuarios/todos_usuarios')"
|
|
|
|
@click="opcionMenu('/usuarios/todos_usuarios')"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
2022-09-07 20:05:23 +00:00
|
|
|
label="Incidencias"
|
2022-07-29 07:12:18 +00:00
|
|
|
:icon="icono('/usuarios/multas_usuario')"
|
|
|
|
:disabled="activo('/usuarios/multas_usuario')"
|
|
|
|
@click="opcionMenu('/usuarios/multas_usuario')"
|
|
|
|
/>
|
|
|
|
</b-menu-item>
|
|
|
|
|
2023-01-09 04:51:24 +00:00
|
|
|
<b-menu-item icon="cellphone-link">
|
2022-07-29 07:12:18 +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"
|
|
|
|
:icon="icono('/equipos/buscar_equipo')"
|
|
|
|
:disabled="activo('/equipos/buscar_equipo')"
|
|
|
|
@click="opcionMenu('/equipos/buscar_equipo')"
|
2023-01-09 04:51:24 +00:00
|
|
|
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
|
2022-07-29 07:12:18 +00:00
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Todos los equipos"
|
|
|
|
:icon="icono('/equipos/todos_equipos')"
|
|
|
|
:disabled="activo('/equipos/todos_equipos')"
|
|
|
|
@click="opcionMenu('/equipos/todos_equipos')"
|
|
|
|
/>
|
|
|
|
</b-menu-item>
|
|
|
|
|
2023-01-17 14:04:49 +00:00
|
|
|
<b-menu-item icon="cart-outline">
|
2022-07-29 07:12:18 +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('/carritos/buscar_carrito')"
|
|
|
|
:disabled="activo('/carritos/buscar_carrito')"
|
|
|
|
@click="opcionMenu('/carritos/buscar_carrito')"
|
2023-01-17 14:04:49 +00:00
|
|
|
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
|
2022-07-29 07:12:18 +00:00
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Todos los carritos"
|
|
|
|
:icon="icono('/carritos/todos_carritos')"
|
|
|
|
:disabled="activo('/carritos/todos_carritos')"
|
|
|
|
@click="opcionMenu('/carritos/todos_carritos')"
|
|
|
|
/>
|
|
|
|
</b-menu-item>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
icon="account-plus"
|
|
|
|
v-if="idTipoUsuario === 2 || idTipoUsuario === 3"
|
|
|
|
>
|
|
|
|
<template #label="props">
|
|
|
|
Administrador
|
|
|
|
<b-icon
|
|
|
|
class="is-pulled-right"
|
|
|
|
:icon="props.expanded ? 'menu-down' : 'menu-up'"
|
|
|
|
/>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Administradores"
|
|
|
|
:disabled="activo('/admin/administrador/admins')"
|
|
|
|
:icon="icono('/admin/administrador/admins')"
|
|
|
|
@click="opcionMenu('/admin/administrador/admins')"
|
|
|
|
v-if="idTipoUsuario === 2"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Operadores"
|
|
|
|
:disabled="activo('/admin/administrador/operadores')"
|
|
|
|
:icon="icono('/admin/administrador/operadores')"
|
|
|
|
@click="opcionMenu('/admin/administrador/operadores')"
|
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
2023-01-17 15:32:07 +00:00
|
|
|
<b-menu-item
|
|
|
|
icon="storefront-outline"
|
|
|
|
v-if="idTipoUsuario === 3 || idTipoUsuario === 4"
|
|
|
|
>
|
2022-07-29 07:12:18 +00:00
|
|
|
<template #label="props">
|
|
|
|
Modulos
|
|
|
|
<b-icon
|
|
|
|
class="is-pulled-right"
|
|
|
|
:icon="props.expanded ? 'menu-down' : 'menu-up'"
|
|
|
|
/>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Buscar modulo"
|
|
|
|
:icon="
|
|
|
|
icono(
|
|
|
|
'/admin/administrador/modulos/buscar_modulo/buscar_modulo'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
:disabled="
|
|
|
|
activo(
|
|
|
|
'/admin/administrador/modulos/buscar_modulo/buscar_modulo'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu(
|
|
|
|
'/admin/administrador/modulos/buscar_modulo/buscar_modulo'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Todos los modulos"
|
|
|
|
:icon="icono('/admin/administrador/modulos/todos_modulos')"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/administrador/modulos/todos_modulos')
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu('/admin/administrador/modulos/todos_modulos')
|
|
|
|
"
|
|
|
|
/>
|
|
|
|
</b-menu-item>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Carga masiva equipos"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/administrador/carga_masiva_equipos')
|
|
|
|
"
|
|
|
|
:icon="icono('/admin/administrador/carga_masiva_equipos')"
|
|
|
|
@click="
|
|
|
|
opcionMenu('/admin/administrador/carga_masiva_equipos')
|
|
|
|
"
|
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Carga Masiva Usuarios"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/administrador/carga_masiva_usuarios')
|
|
|
|
"
|
|
|
|
:icon="icono('/admin/administrador/carga_masiva_usuarios')"
|
|
|
|
@click="
|
|
|
|
opcionMenu('/admin/administrador/carga_masiva_usuarios')
|
|
|
|
"
|
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- <b-menu-item
|
|
|
|
label="Reportes"
|
|
|
|
:disabled="activo('/admin/administrador/reportes')"
|
|
|
|
:icon="icono('/admin/administrador/reportes')"
|
|
|
|
@click="opcionMenu('/admin/administrador/reportes')"
|
|
|
|
/> -->
|
|
|
|
</b-menu-item>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
icon="cog"
|
|
|
|
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>
|
|
|
|
|
|
|
|
<b-menu-item icon="home">
|
|
|
|
<template #label="props">
|
|
|
|
Instituciones
|
|
|
|
<b-icon
|
|
|
|
class="is-pulled-right"
|
|
|
|
:icon="props.expanded ? 'menu-down' : 'menu-up'"
|
|
|
|
/>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
:label="`Configurar ${
|
|
|
|
idTipoUsuario === 3 ? 'Institución' : 'Instituciones'
|
|
|
|
}`"
|
|
|
|
:icon="
|
|
|
|
icono(
|
|
|
|
'/admin/configuracion/instituciones/buscar_institucion'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
:disabled="
|
|
|
|
activo(
|
|
|
|
'/admin/configuracion/instituciones/buscar_institucion'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu(
|
|
|
|
'/admin/configuracion/instituciones/buscar_institucion'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Responsables"
|
|
|
|
:icon="
|
|
|
|
icono('/admin/configuracion/instituciones/responsables')
|
|
|
|
"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/configuracion/instituciones/responsables')
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu(
|
|
|
|
'/admin/configuracion/instituciones/responsables'
|
|
|
|
)
|
|
|
|
"
|
|
|
|
v-if="idTipoUsuario === 2"
|
|
|
|
/>
|
|
|
|
</b-menu-item>
|
|
|
|
|
|
|
|
<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"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
2022-08-01 08:01:49 +00:00
|
|
|
label="Tipos de carrito"
|
|
|
|
:icon="icono('/admin/configuracion/institucion-tipo-carrito')"
|
2022-07-29 07:12:18 +00:00
|
|
|
:disabled="
|
2022-08-01 08:01:49 +00:00
|
|
|
activo('/admin/configuracion/institucion-tipo-carrito')
|
2022-07-29 07:12:18 +00:00
|
|
|
"
|
|
|
|
@click="
|
2022-08-01 08:01:49 +00:00
|
|
|
opcionMenu('/admin/configuracion/institucion-tipo-carrito')
|
2022-07-29 07:12:18 +00:00
|
|
|
"
|
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="Software"
|
|
|
|
:icon="icono('/admin/configuracion/institucion-programa')"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/configuracion/institucion-programa')
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu('/admin/configuracion/institucion-programa')
|
|
|
|
"
|
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
2022-08-01 08:01:49 +00:00
|
|
|
label="Tipos de conectores"
|
2022-07-29 07:12:18 +00:00
|
|
|
: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"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
2022-08-01 08:01:49 +00:00
|
|
|
label="Carreras y software"
|
|
|
|
:icon="icono('/admin/configuracion/carrera_programa')"
|
|
|
|
:disabled="activo('/admin/configuracion/carrera_programa')"
|
|
|
|
@click="opcionMenu('/admin/configuracion/carrera_programa')"
|
2022-07-29 07:12:18 +00:00
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
2022-08-01 08:01:49 +00:00
|
|
|
label="Infracciones"
|
|
|
|
:icon="icono('/admin/configuracion/institucion-infraccion')"
|
|
|
|
:disabled="
|
|
|
|
activo('/admin/configuracion/institucion-infraccion')
|
|
|
|
"
|
|
|
|
@click="
|
|
|
|
opcionMenu('/admin/configuracion/institucion-infraccion')
|
|
|
|
"
|
2022-07-29 07:12:18 +00:00
|
|
|
v-if="idTipoUsuario === 3"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<b-menu-item
|
|
|
|
label="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"
|
|
|
|
/>
|
|
|
|
</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>
|
2022-08-11 21:39:12 +00:00
|
|
|
import jwt_decode from 'jwt-decode'
|
|
|
|
|
2022-05-31 04:22:49 +00:00
|
|
|
export default {
|
|
|
|
data() {
|
2023-01-11 18:48:39 +00:00
|
|
|
return { open: false, idTipoUsuario: '' }
|
2022-05-31 04:22:49 +00:00
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
cerrarSesion() {
|
2022-09-22 18:24:31 +00:00
|
|
|
const idInstitucion = localStorage.getItem('idInstitucion')
|
|
|
|
const idModulo = localStorage.getItem('idModulo')
|
|
|
|
|
2022-05-31 04:22:49 +00:00
|
|
|
localStorage.clear()
|
2022-09-22 18:24:31 +00:00
|
|
|
if (idModulo) localStorage.setItem('idModulo', idModulo)
|
|
|
|
if (idInstitucion) localStorage.setItem('idInstitucion', idInstitucion)
|
2022-05-31 04:22:49 +00:00
|
|
|
this.$router.push('/')
|
|
|
|
},
|
|
|
|
opcionMenu(path) {
|
2022-07-29 19:56:41 +00:00
|
|
|
this.validarLocalStorage()
|
2022-05-31 04:22:49 +00:00
|
|
|
this.open = false
|
|
|
|
this.$router.push(path)
|
|
|
|
},
|
|
|
|
activo(ruta) {
|
2023-01-10 15:56:32 +00:00
|
|
|
return window.location.pathname.indexOf(ruta) != -1
|
2022-05-31 04:22:49 +00:00
|
|
|
},
|
|
|
|
icono(ruta) {
|
|
|
|
return this.activo(ruta) ? 'square' : 'crop-square'
|
|
|
|
},
|
2022-07-29 19:34:21 +00:00
|
|
|
validarLocalStorage() {
|
2022-08-11 21:39:12 +00:00
|
|
|
const token = this.$getToken.tokenStr()
|
2022-08-14 23:51:03 +00:00
|
|
|
let operador
|
|
|
|
|
|
|
|
try {
|
2022-10-26 05:13:30 +00:00
|
|
|
if (token) operador = jwt_decode(token).Operador
|
2022-08-14 23:51:03 +00:00
|
|
|
} catch (err) {
|
|
|
|
operador = null
|
|
|
|
}
|
2022-08-25 16:18:56 +00:00
|
|
|
if (!token || !operador) this.cerrarSesion()
|
2023-01-11 18:48:39 +00:00
|
|
|
else this.idTipoUsuario = operador.tipoUsuario.id_tipo_usuario
|
2022-07-29 19:34:21 +00:00
|
|
|
},
|
2022-05-31 04:22:49 +00:00
|
|
|
},
|
|
|
|
created() {
|
2022-07-29 19:34:21 +00:00
|
|
|
this.validarLocalStorage()
|
|
|
|
},
|
2022-05-31 04:22:49 +00:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2022-06-02 22:47:09 +00:00
|
|
|
<style scoped>
|
|
|
|
section {
|
|
|
|
background-color: #bb8704;
|
|
|
|
}
|
|
|
|
</style>
|