correciones en vivo

This commit is contained in:
xXpuma99Xx 2022-07-11 18:54:56 -05:00
parent ffd212503d
commit 5d68556aa0
12 changed files with 179 additions and 39 deletions

View File

@ -1,6 +1,6 @@
<template>
<div class="column is-4">
<h3 class="is-size-4 mb-4">Panel de Administración</h3>
<h3 class="is-size-4 mb-4">Alta del administrador</h3>
<div class="columns">
<div class="column">
@ -138,13 +138,13 @@ export default {
if (this.responsable) data.responsable = this.responsable
if (this.telefono) data.telefono = this.telefono
if (this.ubicacion) data.ubicacion = this.ubicacion
if (this.dominio) {
data.email_institucional = true
data.dominio = this.dominio
} else if ((!this.dominio, this.admin.institucion.id_institucion === 3)) {
data.email_institucional = false
data.dominio = this.dominio
}
// if (this.dominio) {
// data.email_institucional = true
// data.dominio = this.dominio
// } else if ((!this.dominio, this.admin.institucion.id_institucion === 3)) {
// data.email_institucional = false
// data.dominio = this.dominio
// }
axios
.put(`${process.env.api}/institucion`, data)
.then((res) => {

View File

@ -1,16 +1,20 @@
<template>
<div>
<p class="subtitle is-4">Crear Infracción</p>
<div class="mb-4">
<p class="subtitle is-4">Crear infracción</p>
<CrearInfraccion :admin="admin" :updateIsLoading="updateIsLoading" />
<p class="subtitle is-4">Crear Programa</p>
<p class="subtitle is-4">Crear programa</p>
<CrearInstiPrograma :admin="admin" :updateIsLoading="updateIsLoading" />
<p class="subtitle is-4">Crear Tipo de Entrada</p>
<p class="subtitle is-4">Crear tipo de entrada</p>
<CrearTipoEntrada :admin="admin" :updateIsLoading="updateIsLoading" />
<p class="subtitle is-4">Crear tipo de carrito</p>
<CrearTipoCarrito :admin="admin" :updateIsLoading="updateIsLoading" />
</div>
</template>
@ -18,9 +22,15 @@
import CrearInfraccion from '@/components/admin/CrearInfraccion'
import CrearInstiPrograma from '@/components/admin/CrearInstiProgra'
import CrearTipoEntrada from '@/components/admin/CrearTipoEntrada'
import CrearTipoCarrito from '@/components/admin/CrearTipoCarrito'
export default {
components: { CrearInfraccion, CrearTipoEntrada, CrearInstiPrograma },
components: {
CrearInfraccion,
CrearTipoEntrada,
CrearInstiPrograma,
CrearTipoCarrito,
},
props: {
admin: { type: Object, require: true },
updateIsLoading: { type: Function, required: true },

View File

@ -0,0 +1,93 @@
<template>
<div class="box">
<dir class="columns is-align-items-flex-end pl-0 pb-4">
<b-field class="column mb-0 pb-0" label="Tipo de carrito">
<b-input
type="text"
placeholder="Nombre del tipo de carrito"
v-model="tipoCarrito"
rounded
@keyup.enter.native="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Está segur@ de querer crear este tipo de carrito?',
crearTipoCarrito
)
"
/>
</b-field>
<b-field class="column mb-0 pb-0" label="Identificador">
<b-input
type="text"
placeholder="Identificador"
maxlength="1"
v-model="letra"
:has-counter="false"
rounded
@keyup.enter.native="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Está segur@ de querer crear este tipo de carrito?',
crearTipoCarrito
)
"
/>
</b-field>
<b-button
type="is-info"
class="column is-4"
@click="
$alertsGenericos.imprimirWarning(
$buefy,
'¿Esta segur@ de querer crear este tipo de carrito?',
crearTipoCarrito
)
"
:disabled="!tipoCarrito"
expanded
rounded
>
Crear
</b-button>
</dir>
</div>
</template>
<script>
import axios from 'axios'
export default {
props: {
admin: { type: Object, require: true },
updateIsLoading: { type: Function, required: true },
},
data() {
return {
tipoCarrito: '',
letra: '',
}
},
methods: {
crearTipoCarrito() {
const data = {
tipo_carrito: this.tipoCarrito,
letra: this.letra,
}
this.updateIsLoading(true)
axios
.post(`${process.env.api}/institucion-tipo-carrito/`, data)
.then((res) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirMensaje(this.$buefy, res.data.message)
this.tipoCarrito = ''
this.letra = ''
})
.catch((err) => {
this.updateIsLoading(false)
this.$alertsGenericos.imprimirError(this.$buefy, err.response.data)
})
},
},
}
</script>

View File

@ -1,7 +1,7 @@
<template>
<div class="box">
<dir class="columns is-align-items-flex-end pl-0 pb-4">
<b-field class="column mb-0 pb-0" label="Tipo de Entrada">
<b-field class="column mb-0 pb-0" label="Tipo de entrada">
<b-input
type="text"
placeholder="Nombre del tipo de entrada"

View File

@ -30,17 +30,17 @@
<p class="input">{{ institucion.dominio || '' }}</p>
</b-field>
<b-field label="Días de multa por retraso">
<!-- <b-field label="Días de multa por retraso" v-if="">
<p class="input">{{ institucion.dias_multa_retraso }}</p>
</b-field>
</b-field> -->
<b-field label="Tiempo para recoger equipo">
<!-- <b-field label="Tiempo para recoger equipo" v-if="">
<p class="input">{{ institucion.tiempo_recoger }}</p>
</b-field>
</b-field> -->
<b-field label="Tiempo para entregar equipo">
<!-- <b-field label="Tiempo para entregar equipo" v-if="">
<p class="input">{{ institucion.tiempo_entrega }}</p>
</b-field>
</b-field> -->
<b-field label="Activo/Inactivo">
<p

View File

@ -20,14 +20,14 @@
</div>
<div class="columns">
<InfoInstitucion :institucion="institucion" />
<AdminInstitucion
:buscar="buscar"
:updateIsLoading="updateIsLoading"
:admin="admin"
:institucion="institucion"
/>
<InfoInstitucion :institucion="institucion" />
</div>
</div>
</template>

View File

@ -41,11 +41,16 @@
paginated
striped
>
<b-table-column field="operador" label="Operador" v-slot="props" centered>
<b-table-column
field="operador"
label="Institución"
v-slot="props"
centered
>
<span>{{ props.row.institucion.institucion }}</span>
</b-table-column>
<b-table-column field="operador" label="Operador" v-slot="props" centered>
<b-table-column field="operador" label="Admin" v-slot="props" centered>
<span>{{ props.row.operador }}</span>
</b-table-column>

View File

@ -243,6 +243,20 @@ export default {
this.obtenerPrestamos()
}
},
mounted() {
this.socket = this.$nuxtSocket({
name: 'main',
path: process.env.path,
})
this.socket.on('reconnect', (data) => {
this.obtenerPrestamos()
})
this.socket.on('actualizar-operador', (data) => {
this.obtenerPrestamos()
})
},
}
</script>

View File

@ -56,7 +56,7 @@ export default {
entregar() {
const data = {
id_operador: this.operador.id_operador,
id_prestamo: this.idPrestamo,
id_prestamo: parseInt(this.idPrestamo),
}
this.updateIsLoading(true)
@ -114,29 +114,29 @@ export default {
this.updateVariable = updateVariable
axios
.get(
`${process.env.api}/prestamo?id_prestamo=${this.idPrestamo}`,
`${process.env.api}/prestamo/prestamo-id-prestamo?id_prestamo=${this.idPrestamo}`,
this.operador.token
)
.then((res) => {
let data = res.data
let prestamo = res.data
if (data.activo) {
if (data.Equipo.Status.idStatus === 2)
if (prestamo.activo) {
if (prestamo.equipo.status.id_status === 2)
this.$alertsGenericos.imprimirWarning(
this.$buefy,
'Esta a punto de entregar el equipo de cómputo al usuario y dar inicio a un préstamo. ¿Esta segur@ de querer realizar esta acción?',
this.entregar
)
else if (data.Equipo.Status.idStatus === 3)
else if (prestamo.equipo.status.id_status === 3)
this.$alertsGenericos.imprimirWarning(
this.$buefy,
`
Esta apunto de recibir el equipo:<br>
Equipo: ${data.Equipo.equipo}<br>
Carrito: ${data.Equipo.Carrito.carrito}<br>
Tipo: ${data.Equipo.Carrito.TipoCarrito.tipoCarrito}<br>
Número de Inventario: ${data.Equipo.numeroInventario}<br>
Número de Serie: ${data.Equipo.numeroSerie}<br>
Equipo: ${data.equipo.equipo}<br>
Carrito: ${data.equipo.carrito.carrito}<br>
Tipo: ${data.equipo.carrito.tipoCarrito.tipoCarrito}<br>
Número de Inventario: ${data.equipo.numero_inventario}<br>
Número de Serie: ${data.equipo.numero_serie}<br>
y dar por terminado el préstamo. ¿Esta segur@ de querer realizar esta acción?
`,
this.revisionMulta

View File

@ -1,6 +1,6 @@
<template>
<div>
<Title title="Carga Masiva Equipos" :operador="admin" />
<Title title="Carga Masiva Equipos" :operador="admin.operador" />
<SubirCsv
:admin="admin"
@ -49,17 +49,33 @@ export default {
updateIsLoading(valorBooleano) {
this.isLoading = valorBooleano
},
// getLocalhostInfo() {
// const objeto = JSON.parse(localStorage.getItem('usuario'))
// this.admin = objeto.operador
// },
getLocalhostInfo() {
const objeto = JSON.parse(localStorage.getItem('usuario'))
this.admin = objeto.operador
this.admin.idOperador = objeto.operador.id_operador
this.admin.operador = objeto.operador
this.admin.tipoUsuario = objeto.operador.tipoUsuario.tipo_usuario
this.admin.idTipoUsuario = objeto.operador.tipoUsuario.id_tipo_usuario
this.admin.idInstitucion = objeto.operador.institucion.id_institucion
this.admin.token = {
headers: {
'Content-Type': 'multipart/form-data',
token: localStorage.getItem('token'),
},
}
},
},
created() {
this.getLocalhostInfo()
this.path = `upload-file/carga-masiva-equipos?id_institucion=${this.admin.idInstitucion}`
if (
this.admin.tipoUsuario.id_tipo_usuario != 2 &&
this.admin.tipoUsuario.id_tipo_usuario != 3
// this.admin.tipoUsuario.id_tipo_usuario != 2 &&
// this.admin.tipoUsuario.id_tipo_usuario != 3
this.admin.idTipoUsuario != 2 &&
this.admin.idTipoUsuario != 3
)
this.$router.push('/operador/prestamo_devolucion')
},

View File

@ -67,6 +67,7 @@ export default {
},
created() {
this.getLocalhostInfo()
console.log(this.admin)
this.path = `upload-file/carga-masiva-usuarios?id_institucion=${this.admin.idInstitucion}`
if (this.admin.idTipoUsuario != 2 && this.admin.idTipoUsuario != 3)
this.$router.push('/operador/prestamo_devolucion')

1
store/index.js Normal file
View File

@ -0,0 +1 @@
export const state = () => ({})