Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
formularioConformidad
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Fernando José Palomino Aquino
formularioConformidad
Commits
d20e3ba6
Commit
d20e3ba6
authored
Jan 08, 2025
by
Fernando José Palomino Aquino
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[EDIT] SUBIDA DE DATOS
parent
9ae61fde
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
223 deletions
+38
-223
conformidad.componente.html
src/app/pages/conformidad/conformidad.componente.html
+8
-6
conformidad.componente.ts
src/app/pages/conformidad/conformidad.componente.ts
+21
-217
conformidad.helper.ts
src/app/pages/conformidad/helper/conformidad.helper.ts
+9
-0
No files found.
src/app/pages/conformidad/conformidad.componente.html
View file @
d20e3ba6
...
@@ -51,8 +51,8 @@
...
@@ -51,8 +51,8 @@
<mat-form-field
class=
"w-full"
appearance=
"outline"
floatLabel=
"always"
>
<mat-form-field
class=
"w-full"
appearance=
"outline"
floatLabel=
"always"
>
<mat-label>
Sede designada
</mat-label>
<mat-label>
Sede designada
</mat-label>
<mat-select
formControlName=
"sedePersonal"
placeholder=
"[Seleccionar sede]"
required
>
<mat-select
formControlName=
"sedePersonal"
placeholder=
"[Seleccionar sede]"
required
>
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
value
"
>
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
idlocal
"
>
{{option?.
viewValue
}}
{{option?.
deslocal
}}
</mat-option>
</mat-option>
</mat-select>
</mat-select>
</mat-form-field>
</mat-form-field>
...
@@ -217,11 +217,13 @@
...
@@ -217,11 +217,13 @@
<mat-label
class=
"font-bold text-blue-600 text-lg"
[
ngClass
]="{'
fade-out
'
:
isFading
}"
[
innerText
]="
labelText
"
></mat-label>
<mat-label
class=
"font-bold text-blue-600 text-lg"
[
ngClass
]="{'
fade-out
'
:
isFading
}"
[
innerText
]="
labelText
"
></mat-label>
</div>
</div>
<div
class=
"grid grid-cols-2 md:grid-cols-5 gap-4 w-full md:w-4/5"
>
<!-- <div class="grid grid-cols-2 md:grid-cols-5 gap-4 w-full md:w-4/5">-->
<div
class=
"contenedorRequerimiento"
*
ngFor=
"let card of listRequerimientos"
>
<div
class=
"grid grid-cols-5 gap-4 basis-4/5"
>
<div
class=
"contenedorRequerimiento"
*
ngFor=
"let card of listRequerimientos"
style=
"display: flex"
>
<mat-card>
<mat-card>
<mat-card-content>
<mat-card-content>
<mat-card-subtitle
class=
"text-base font-bold"
>
{{ card.titulo }}
</mat-card-subtitle>
<!-- <mat-card-subtitle class="text-base font-bold">{{ card.titulo }}</mat-card-subtitle> -->
<mat-card-subtitle
style=
"font-size: 1rem;font-weight: bold;align-content: center"
>
{{ card.titulo }}
</mat-card-subtitle>
<div
class=
"w-fit py-2 px-3 flex space-x-4"
>
<div
class=
"w-fit py-2 px-3 flex space-x-4"
>
<button
mat-fab
aria-label=
"Eliminar"
matTooltip=
"Eliminar"
matTooltipPosition=
"above"
(
click
)="
deleteRequerimiento
(
card
.
id
)"
>
<button
mat-fab
aria-label=
"Eliminar"
matTooltip=
"Eliminar"
matTooltipPosition=
"above"
(
click
)="
deleteRequerimiento
(
card
.
id
)"
>
<mat-icon
class=
"mat-icon-small"
>
delete
</mat-icon>
<mat-icon
class=
"mat-icon-small"
>
delete
</mat-icon>
...
@@ -315,7 +317,7 @@
...
@@ -315,7 +317,7 @@
<mat-label>
Seleccionar tipo de trabajo
</mat-label>
<mat-label>
Seleccionar tipo de trabajo
</mat-label>
<mat-select
formControlName=
"tipoTrabajo"
>
<mat-select
formControlName=
"tipoTrabajo"
>
@for (tipoT of listTipoTrabajo; track tipoT) {
@for (tipoT of listTipoTrabajo; track tipoT) {
<mat-option
[
value
]="
tipoT
.
value
"
>
{{ tipoT.viewValue
}}
</mat-option>
<mat-option
[
value
]="
tipoT
.
codtipo
"
>
{{ tipoT.desctipo
}}
</mat-option>
}
}
</mat-select>
</mat-select>
</mat-form-field>
</mat-form-field>
...
...
src/app/pages/conformidad/conformidad.componente.ts
View file @
d20e3ba6
...
@@ -42,8 +42,8 @@ import Notiflix from 'notiflix';
...
@@ -42,8 +42,8 @@ import Notiflix from 'notiflix';
import
{
DecimalPipe
}
from
'@angular/common'
;
import
{
DecimalPipe
}
from
'@angular/common'
;
interface
tiposTrabajo
{
interface
tiposTrabajo
{
value
:
string
;
codtipo
:
string
;
viewValue
:
string
;
desctipo
:
string
;
}
}
interface
lugaresTrabajo
{
interface
lugaresTrabajo
{
...
@@ -143,212 +143,8 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -143,212 +143,8 @@ export class ConformidadComponent implements AfterViewInit {
// INICIALIZACION DE SEDES
// INICIALIZACION DE SEDES
listadoSedesTrabajo
:
lugaresTrabajo
[]
=
[
{
"value"
:
'1'
,
"viewValue"
:
"6 DE AGOSTO"
},
{
"value"
:
'2'
,
"viewValue"
:
"ADMINISTRACION - SAN ISIDRO"
},
{
"value"
:
'3'
,
"viewValue"
:
"ANIVERSARIO"
},
{
"value"
:
'4'
,
"viewValue"
:
"ARENALES"
},
{
"value"
:
'5'
,
"viewValue"
:
"AREQUIPA"
},
{
"value"
:
'6'
,
"viewValue"
:
"BARRANCO"
},
{
"value"
:
'7'
,
"viewValue"
:
"BELISARIO"
},
{
"value"
:
'8'
,
"viewValue"
:
"BELLAVISTA"
},
{
"value"
:
'9'
,
"viewValue"
:
"BELLIDO"
},
{
"value"
:
'10'
,
"viewValue"
:
"CALCA"
},
{
"value"
:
'11'
,
"viewValue"
:
"CANTA CALLAO"
},
{
"value"
:
'12'
,
"viewValue"
:
"CARABAYLLO"
},
{
"value"
:
'13'
,
"viewValue"
:
"CASONA"
},
{
"value"
:
'14'
,
"viewValue"
:
"CHACLACAYO"
},
{
"value"
:
'15'
,
"viewValue"
:
"CHORRILLOS"
},
{
"value"
:
'16'
,
"viewValue"
:
"CIPRESES"
},
{
"value"
:
'17'
,
"viewValue"
:
"CIPRESES ELIO"
},
{
"value"
:
'18'
,
"viewValue"
:
"OBRA"
},
{
"value"
:
'19'
,
"viewValue"
:
"CUBA"
},
{
"value"
:
'20'
,
"viewValue"
:
"EL AGUSTINO"
},
{
"value"
:
'21'
,
"viewValue"
:
"ATE - GRAFICA"
},
{
"value"
:
'22'
,
"viewValue"
:
"HUANCAYO"
},
{
"value"
:
'23'
,
"viewValue"
:
"HUARAL"
},
{
"value"
:
'24'
,
"viewValue"
:
"ICA"
},
{
"value"
:
'25'
,
"viewValue"
:
"INDEPENDENCIA - ACADEMIA"
},
{
"value"
:
'26'
,
"viewValue"
:
"INGENIEROS"
},
{
"value"
:
'27'
,
"viewValue"
:
"LA VICTORIA"
},
{
"value"
:
'28'
,
"viewValue"
:
"LINCE"
},
{
"value"
:
'29'
,
"viewValue"
:
"ATE - LOGISTICA"
},
{
"value"
:
'30'
,
"viewValue"
:
"TALLER"
},
{
"value"
:
'31'
,
"viewValue"
:
"COCALENOS"
},
{
"value"
:
'32'
,
"viewValue"
:
"MIGUEL IGLESIAS"
},
{
"value"
:
'33'
,
"viewValue"
:
"MONTERRICO"
},
{
"value"
:
'34'
,
"viewValue"
:
"MONTESSORI"
},
{
"value"
:
'35'
,
"viewValue"
:
"NARANJAL"
},
{
"value"
:
'36'
,
"viewValue"
:
"PUEBLO LIBRE"
},
{
"value"
:
'37'
,
"viewValue"
:
"QUILCA"
},
{
"value"
:
'38'
,
"viewValue"
:
"SALAMANCA"
},
{
"value"
:
'39'
,
"viewValue"
:
"SAN CARLOS"
},
{
"value"
:
'40'
,
"viewValue"
:
"SAN JUAN - ACADEMIA"
},
{
"value"
:
'41'
,
"viewValue"
:
"SAN LUIS GERONA"
},
{
"value"
:
'42'
,
"viewValue"
:
"SAN LUIS BADAJOZ"
},
{
"value"
:
'43'
,
"viewValue"
:
"SAN MIGUEL"
},
{
"value"
:
'44'
,
"viewValue"
:
"SANTA ANITA"
},
{
"value"
:
'45'
,
"viewValue"
:
"SANTA ANITA - ACADEMIA"
},
{
"value"
:
'46'
,
"viewValue"
:
"SORIA"
},
{
"value"
:
'47'
,
"viewValue"
:
"VILLA EL SALVADOR"
},
{
"value"
:
'48'
,
"viewValue"
:
"VILLA SOL"
}
];
//INICIALIZACION DE LISTADO DE TIPOS DE TRABAJO
listTipoTrabajo
:
tiposTrabajo
[]
=
[
{
value
:
'1'
,
viewValue
:
'Instalación-Revisión'
},
{
value
:
'2'
,
viewValue
:
'Instalación-Ampliación'
},
{
value
:
'3'
,
viewValue
:
'Mantenimiento-Reparación'
},
{
value
:
'4'
,
viewValue
:
'Mantenimiento-Remodelación'
},
{
value
:
'5'
,
viewValue
:
'Reposición'
},
{
value
:
'6'
,
viewValue
:
'Reinstalación'
},
];
//INICIALIZACION DE LISTADO DE TIPOS DE TRABAJO
//INICIALIZACION DE VARIABLES UTILIZABLES
//INICIALIZACION DE VARIABLES UTILIZABLES
...
@@ -356,9 +152,11 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -356,9 +152,11 @@ export class ConformidadComponent implements AfterViewInit {
sede_list
:
any
=
[];
sede_list
:
any
=
[];
requerimientosFiltrados
:
any
[]
=
[];
requerimientosFiltrados
:
any
[]
=
[];
listRequerimientos
:
interRequerimientos
[]
=
[];
listRequerimientos
:
interRequerimientos
[]
=
[];
listTipoTrabajo
:
tiposTrabajo
[]
=
[];
listadoSedesTrabajo
:
lugaresTrabajo
[]
=
[];
listPersonal
:
interPersonal
[]
=
[{
index
:
0
,
id
:
0
,
nombre
:
''
}];
listPersonal
:
interPersonal
[]
=
[{
index
:
0
,
id
:
0
,
nombre
:
''
}];
idBotones
:
number
=
0
;
idBotones
:
number
=
0
;
indexPasaje
:
number
=
0
;
//
indexPasaje : number = 0 ;
labelText
:
string
=
''
;
// Texto que se muestra inicialmente
labelText
:
string
=
''
;
// Texto que se muestra inicialmente
isFading
:
boolean
=
false
;
// Controla si la animación de desvanecimiento debe activarse
isFading
:
boolean
=
false
;
// Controla si la animación de desvanecimiento debe activarse
personalText
:
string
=
''
;
personalText
:
string
=
''
;
...
@@ -463,11 +261,12 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -463,11 +261,12 @@ export class ConformidadComponent implements AfterViewInit {
const
[
const
[
personal
,
personal
,
sede
sede
,
tipoTrabajo
]
=
await
Promise
.
all
([
]
=
await
Promise
.
all
([
this
.
conformidadHelper
.
cargarPersonal
(),
this
.
conformidadHelper
.
cargarPersonal
(),
//this.conformidadHelper.listadoGeneralHorizon({accion: 1}
),
this
.
conformidadHelper
.
cargarSedes
(
),
this
.
listadoSedesTrabajo
this
.
conformidadHelper
.
gestionConformidad
({
opcion
:
9
})
]);
]);
this
.
personal_list
=
personal
;
this
.
personal_list
=
personal
;
...
@@ -475,6 +274,9 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -475,6 +274,9 @@ export class ConformidadComponent implements AfterViewInit {
//this.dataSource = [];
//this.dataSource = [];
this
.
activarPasajes
=
false
;
this
.
activarPasajes
=
false
;
const
jsonTipoTrabajo
=
JSON
.
parse
(
tipoTrabajo
);
this
.
listTipoTrabajo
=
jsonTipoTrabajo
.
data
;
//this.habilitarSeccionPersonal(true);
//this.habilitarSeccionPersonal(true);
// Detecta cambios en el formulario de Datos Personal exceptuando 'lugarDestinoPasaje' para desbloquear el boton de 'Agregar Pasaje'
// Detecta cambios en el formulario de Datos Personal exceptuando 'lugarDestinoPasaje' para desbloquear el boton de 'Agregar Pasaje'
...
@@ -677,11 +479,6 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -677,11 +479,6 @@ export class ConformidadComponent implements AfterViewInit {
}
}
//tecnicoPersonal
}
}
//REALIZAR UNA BUSQUEDA DE REQUERIMIENTO
//REALIZAR UNA BUSQUEDA DE REQUERIMIENTO
...
@@ -996,10 +793,12 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -996,10 +793,12 @@ export class ConformidadComponent implements AfterViewInit {
return
;
return
;
}
}
console
.
log
(
datosPersonal
);
const
registroConformidad
=
await
this
.
conformidadHelper
.
gestionConformidad
({
const
registroConformidad
=
await
this
.
conformidadHelper
.
gestionConformidad
({
opcion
:
1
,
opcion
:
1
,
//codper: datosPersonal.tecnicoPersonal,
//codper: datosPersonal.tecnicoPersonal,
codlocal
:
datosPersonal
.
sedePersonal
,
codlocal
:
datosPersonal
.
sedePersonal
+
''
,
fechainicio
:
this
.
formatoFechaRegistro
(
datosPersonal
.
minFechaTrabajo
||
new
Date
()
)
,
fechainicio
:
this
.
formatoFechaRegistro
(
datosPersonal
.
minFechaTrabajo
||
new
Date
()
)
,
fechafin
:
this
.
formatoFechaRegistro
(
datosPersonal
.
maxFechaTrabajo
||
new
Date
()
)
,
fechafin
:
this
.
formatoFechaRegistro
(
datosPersonal
.
maxFechaTrabajo
||
new
Date
()
)
,
descproblema
:
datosServicio
.
descripcionServicio
,
descproblema
:
datosServicio
.
descripcionServicio
,
...
@@ -1010,6 +809,7 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -1010,6 +809,7 @@ export class ConformidadComponent implements AfterViewInit {
const
respuestaConformidad
:
any
=
JSON
.
parse
(
registroConformidad
);
const
respuestaConformidad
:
any
=
JSON
.
parse
(
registroConformidad
);
let
codigoConformidad
=
0
;
let
codigoConformidad
=
0
;
if
(
respuestaConformidad
.
status
){
// DATOS DE CONFORMIDAD VALIDADOS Y REGISTRADOS
if
(
respuestaConformidad
.
status
){
// DATOS DE CONFORMIDAD VALIDADOS Y REGISTRADOS
...
@@ -1100,7 +900,7 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -1100,7 +900,7 @@ export class ConformidadComponent implements AfterViewInit {
const
registroOrdenSalida
=
await
this
.
conformidadHelper
.
gestionOrdenSalida
({
const
registroOrdenSalida
=
await
this
.
conformidadHelper
.
gestionOrdenSalida
({
accion
:
1
,
accion
:
1
,
//codper: datosPersonal.tecnicoPersonal,
//codper: datosPersonal.tecnicoPersonal,
codlocal
:
datosPersonal
.
sedePersonal
,
codlocal
:
datosPersonal
.
sedePersonal
+
''
,
fechaRegistro
:
this
.
formatoFechaRegistro
(
new
Date
()),
fechaRegistro
:
this
.
formatoFechaRegistro
(
new
Date
()),
descripcion
:
datosMaterialSobrante
descripcion
:
datosMaterialSobrante
});
});
...
@@ -1163,6 +963,10 @@ export class ConformidadComponent implements AfterViewInit {
...
@@ -1163,6 +963,10 @@ export class ConformidadComponent implements AfterViewInit {
Notiflix
.
Loading
.
remove
();
Notiflix
.
Loading
.
remove
();
Notiflix
.
Notify
.
success
(
'REGISTRO COMPLETADO'
);
Notiflix
.
Notify
.
success
(
'REGISTRO COMPLETADO'
);
setTimeout
(()
=>
{
window
.
location
.
reload
();
},
3000
);
}
else
{
}
else
{
this
.
mostrarAlerta
(
'ERROR AL REGISTRAR ORDEN DE SALIDA'
);
this
.
mostrarAlerta
(
'ERROR AL REGISTRAR ORDEN DE SALIDA'
);
}
}
...
...
src/app/pages/conformidad/helper/conformidad.helper.ts
View file @
d20e3ba6
...
@@ -17,6 +17,15 @@ export class ConformidadHelper {
...
@@ -17,6 +17,15 @@ export class ConformidadHelper {
}
}
}
}
async
cargarSedes
(){
const
respuesta
=
await
this
.
ConformidadService
.
listadoGeneral
(
2
);
if
(
respuesta
?.
status
){
return
respuesta
.
data
;
}
else
{
return
[];
}
}
async
listadoGeneralHorizon
(
json
:
any
){
async
listadoGeneralHorizon
(
json
:
any
){
const
respuesta
=
await
this
.
ConformidadService
.
listadoGeneralHorizon
(
json
);
const
respuesta
=
await
this
.
ConformidadService
.
listadoGeneralHorizon
(
json
);
if
(
respuesta
?.
status
)
{
if
(
respuesta
?.
status
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment