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
7d433371
Commit
7d433371
authored
Dec 03, 2024
by
Fernando José Palomino Aquino
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[EDIT] CAMBIOS PARA REGISTRO DE SALIDA
parent
cc5b82e1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
73 additions
and
81 deletions
+73
-81
conformidad.componente.html
src/app/pages/conformidad/conformidad.componente.html
+11
-5
conformidad.componente.ts
src/app/pages/conformidad/conformidad.componente.ts
+0
-0
eliminarPasaje.componente.ts
...formidad/modalEliminarPasaje/eliminarPasaje.componente.ts
+2
-2
modalRequerimiento.componente.ts
...midad/modalRequerimiento/modalRequerimiento.componente.ts
+0
-3
ordensalida.componente.html
src/app/pages/ordensalida/ordensalida.componente.html
+18
-3
ordensalida.componente.ts
src/app/pages/ordensalida/ordensalida.componente.ts
+21
-33
conformidad.service.ts
src/app/service/conformidad_service/conformidad.service.ts
+3
-31
solo-numeros.directive.ts
.../directivas_service/soloNumeros/solo-numeros.directive.ts
+18
-4
No files found.
src/app/pages/conformidad/conformidad.componente.html
View file @
7d433371
...
...
@@ -30,9 +30,12 @@
<mat-form-field
class=
"w-full md:w-1/4"
appearance=
"outline"
floatLabel=
"always"
>
<mat-label>
Sede designada :
</mat-label>
<mat-select
formControlName=
"sedePersonal"
placeholder=
"[Seleccionar sede]"
required
>
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
codlocal
"
>
{{option?.
deslocal
}}
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
value
"
>
{{option?.
viewValue
}}
</mat-option>
<!-- <mat-option *ngFor="let option of this.sede_list" [value]="option?.codlocal">
{{option?.deslocal}}
</mat-option> -->
</mat-select>
</mat-form-field>
...
...
@@ -73,9 +76,12 @@
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<mat-form-field
[
formGroup
]="
datos_lugarOrigen
"
appearance=
"outline"
>
<mat-select
formControlName=
"lugarOrigen{{element.index}}"
placeholder=
"[Seleccionar de origen]"
required
>
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
codlocal
"
>
{{option?.
deslocal
}}
<mat-option
*
ngFor=
"let option of this.sede_list"
[
value
]="
option
?.
value
"
>
{{option?.
viewValue
}}
</mat-option>
<!--<mat-option *ngFor="let option of this.sede_list" [value]="option?.codlocal">
{{option?.deslocal}}
</mat-option> -->
</mat-select>
</mat-form-field>
</ng-container>
...
...
@@ -104,7 +110,7 @@
<td
mat-cell
*
matCellDef=
"let element"
>
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<mat-form-field
[
formGroup
]="
datos_pasajeAcumulado
"
appearance=
"outline"
>
<input
matInput
formControlName=
"montoPasaje{{element.index}}"
soloNumeros
placeholder=
"[Monto]"
value=
""
maxlength=
"6"
(
blur
)="
formatMontoPasaje
(
element
.
index
)"
>
<input
matInput
formControlName=
"montoPasaje{{element.index}}"
soloNumeros
=
"decimal"
placeholder=
"[Monto]"
value=
""
maxlength=
"6"
(
blur
)="
formatMontoPasaje
(
this
.
datos_pasajeAcumulado
,'
montoPasaje
'+
element
.
index
)"
>
</mat-form-field>
</ng-container>
<ng-template
#
displayOrigen
>
...
...
src/app/pages/conformidad/conformidad.componente.ts
View file @
7d433371
This diff is collapsed.
Click to expand it.
src/app/pages/conformidad/modalEliminarPasaje/eliminarPasaje.componente.ts
View file @
7d433371
...
...
@@ -27,9 +27,9 @@ import {MatTableModule} from "@angular/material/table";
],
standalone
:
true
,
template
:
`
<h1 mat-dialog-title>Confirmar
Eliminación
</h1>
<h1 mat-dialog-title>Confirmar
eliminación pasaje
</h1>
<div mat-dialog-content>
<p>¿Estás seguro de que deseas eliminar este
registro
?</p>
<p>¿Estás seguro de que deseas eliminar este
pasaje
?</p>
</div>
<div mat-dialog-actions>
<button mat-button (click)="onCancelar()">Cancelar</button>
...
...
src/app/pages/conformidad/modalRequerimiento/modalRequerimiento.componente.ts
View file @
7d433371
...
...
@@ -81,7 +81,6 @@ export class modalRequerimientoComponent implements OnInit{
fechaRegistro
:
item
.
fechaRegistro
}
})
||
[];
console
.
log
(
datosPrincipales
);
if
(
datosPrincipales
[
0
]){
//Obtener los valores de descripcion, observacion, sede y empleado por separado y en un solo objeto
...
...
@@ -99,8 +98,6 @@ export class modalRequerimientoComponent implements OnInit{
//this.detalleRequerimiento = data.requerimientoInfo
//this.filasRequerimientos =
console
.
log
(
this
.
detalleRequerimiento
);
}
ngOnInit
():
void
{
...
...
src/app/pages/ordensalida/ordensalida.componente.html
View file @
7d433371
...
...
@@ -29,7 +29,8 @@
<ng-container
matColumnDef=
"nombre"
>
<th
mat-header-cell
*
matHeaderCellDef
>
NOMBRE DE ARTÍCULO
</th>
<td
mat-cell
*
matCellDef=
"let element"
>
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<!-- DESBLOQUEAR DESPUES -->
<!-- <ng-container *ngIf="element.isNew; else displayOrigen">
<mat-form-field class="w-[25rem]">
<input type="text" placeholder="Buscar artículos" matInput formControlName="articulo{{element.index}}" [matAutocomplete]="auto" maxlength="9"
(input)="onBusquedaArticulo($event,element.index)">
...
...
@@ -39,6 +40,11 @@
</mat-option>
</mat-autocomplete>
</mat-form-field>
</ng-container> -->
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<mat-form-field
class=
"w-[25rem]"
>
<input
type=
"text"
placeholder=
"Buscar artículos"
matInput
formControlName=
"articulo{{element.index}}"
>
</mat-form-field>
</ng-container>
<ng-template
#
displayOrigen
>
{{ element.nombre }}
...
...
@@ -50,8 +56,17 @@
<ng-container
matColumnDef=
"unidad"
>
<th
mat-header-cell
*
matHeaderCellDef
>
UNIDAD
</th>
<td
mat-cell
*
matCellDef=
"let element"
>
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<
!-- <
ng-container *ngIf="element.isNew; else displayOrigen">
<mat-label>{{formGroupMS(2,'unidad'+element.index)?.value}}</mat-label>
</ng-container> -->
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<mat-form-field
appearance=
"outline"
>
<mat-select
formControlName=
"unidad{{element.index}}"
required
>
<mat-option
*
ngFor=
"let option of this.listUnidades"
[
value
]="
option
?.
codigo
"
>
{{option?.nombre}}
</mat-option>
</mat-select>
</mat-form-field>
</ng-container>
<ng-template
#
displayOrigen
>
{{ element.unidad }}
...
...
@@ -65,7 +80,7 @@
<td
mat-cell
*
matCellDef=
"let element"
>
<ng-container
*
ngIf=
"element.isNew; else displayOrigen"
>
<mat-form-field
class=
"w-[10rem]"
appearance=
"outline"
>
<input
matInput
formControlName=
"cantidad{{element.index}}"
soloNumeros
maxlength=
"2"
>
<input
matInput
formControlName=
"cantidad{{element.index}}"
soloNumeros
=
"entero"
maxlength=
"2"
>
</mat-form-field>
</ng-container>
<ng-template
#
displayOrigen
>
...
...
src/app/pages/ordensalida/ordensalida.componente.ts
View file @
7d433371
...
...
@@ -41,11 +41,16 @@ interface interArticulo{
acciones
:
boolean
;
}
interface
estadosArticulo
{
interface
interEstados
{
valor
:
string
;
nombre
:
string
;
}
interface
interUnidad
{
codigo
:
string
;
nombre
:
string
;
}
@
Component
({
selector
:
'ordensalida-component'
,
templateUrl
:
'./ordensalida.componente.html'
,
...
...
@@ -116,10 +121,11 @@ export class ordenSalidaComponent implements OnInit {
// INICIALIZACION DATOS
columnasArticulos
:
string
[]
=
[
'nombre'
,
'unidad'
,
'cantidad'
,
'estado'
,
'accion'
];
articulosList
:
any
[]
=
[];
listUnidades
:
interUnidad
[]
=
[];
activarNuevoArticulo
:
boolean
=
true
;
indexArticulo
:
number
=
0
;
public
dataSource
:
interArticulo
[]
=
[];
listEstadoArticulo
:
estadosArticulo
[]
=
[{
valor
:
'1'
,
nombre
:
'BUENO'
},
{
valor
:
'2'
,
nombre
:
'OBSERVACIÓN'
},{
valor
:
'3'
,
nombre
:
'MAL ESTADO'
}
]
listEstadoArticulo
:
interEstados
[]
=
[{
valor
:
'1'
,
nombre
:
'BUENO'
},
{
valor
:
'2'
,
nombre
:
'OBSERVACIÓN'
},{
valor
:
'3'
,
nombre
:
'MAL ESTADO'
}
]
// INICIALIZACION DATOS
// OBTENER DATOS DEL FORM GROUP
...
...
@@ -143,11 +149,17 @@ export class ordenSalidaComponent implements OnInit {
private
datePipe
:
DatePipe
,
)
{
this
.
articulosList
=
[];
//this.codigoUnidad = '';
}
ngOnInit
():
void
{
async
ngOnInit
():
Promise
<
void
>
{
this
.
dataSource
=
[];
const
jsonParametrosArti
=
{
accion
:
5
};
const
unidadList
=
await
this
.
conformidadHelper
.
listadoGeneralHorizon
(
jsonParametrosArti
)
;
this
.
listUnidades
=
unidadList
.
map
((
item
:
any
)
=>
({
codigo
:
item
.
CODIGO
,
nombre
:
item
.
NOMBRE
}));
}
onAgregarArticulo
(
event
:
any
){
...
...
@@ -208,7 +220,7 @@ export class ordenSalidaComponent implements OnInit {
};
console
.
log
(
this
.
dataSource
);
//
console.log(this.dataSource);
//console.log(lugarOrigen , lugarDestino, pasaje, fechaPasaje)
this
.
dataSource
.
forEach
((
item
)
=>
{
item
.
acciones
=
true
;
});
// VUELVE A ACTIVAR TODAS LAS ACCION
...
...
@@ -249,6 +261,7 @@ export class ordenSalidaComponent implements OnInit {
this
.
dataSource
.
forEach
((
item
)
=>
{
item
.
acciones
=
true
;
});
// Que todas las filas vuelvan a tener las acciones
if
(
this
.
dataSource
[
index
].
isEdit
){
this
.
dataSource
[
index
].
isEdit
=
false
;
this
.
dataSource
[
index
].
isNew
=
false
;
this
.
dataSource
=
[...
this
.
dataSource
];
...
...
@@ -302,7 +315,7 @@ export class ordenSalidaComponent implements OnInit {
});
}
async
onBusquedaArticulo
(
event
:
any
,
index
:
number
)
{
async
onBusquedaArticulo
(
event
:
any
,
index
:
number
)
{
// OMITIR LA BUSQUEDA POR AHORA YA QUE NO CONOCEN LOS ARTICULOS
const
busquedaArt
=
event
.
target
.
value
;
...
...
@@ -311,8 +324,6 @@ export class ordenSalidaComponent implements OnInit {
nombreValor
:
busquedaArt
,
};
console
.
log
(
jsonParametrosArti
);
const
articulos_list
=
await
this
.
conformidadHelper
.
listadoGeneralHorizon
(
jsonParametrosArti
)
;
const
mapeoResultado
=
articulos_list
.
map
((
item
:
any
)
=>
({
codigo
:
item
.
codigoProducto
,
...
...
@@ -321,10 +332,9 @@ export class ordenSalidaComponent implements OnInit {
}));
this
.
articulosList
=
mapeoResultado
;
console
.
log
(
this
.
articulosList
);
}
onSeleccionArticulo
(
event
:
MatAutocompleteSelectedEvent
,
index
:
number
)
{
onSeleccionArticulo
(
event
:
MatAutocompleteSelectedEvent
,
index
:
number
)
{
// OMITIR LA BUSQUEDA POR AHORA YA QUE NO CONOCEN LOS ARTICULOS
//AL SELECCIONAR , SE OPTIENE EL VALUE
const
selectedOption
=
event
.
option
.
value
;
...
...
@@ -332,7 +342,7 @@ export class ordenSalidaComponent implements OnInit {
//SE BUSCA EL VALUE DENTRO DEL LISTADO DE ARTICULOS
const
articulo
=
this
.
articulosList
.
find
((
item
)
=>
item
.
codigo
===
selectedOption
);
console
.
log
(
articulo
);
//
console.log(articulo);
//SE OPTIENE EL NOMBRE PARA PONERLO EN EL INPUT
this
.
formGroupMS
(
2
,
'articulo'
+
index
)?.
setValue
(
articulo
.
nombre
);
this
.
formGroupMS
(
2
,
'codigoArticulo'
+
index
)?.
setValue
(
articulo
.
codigo
);
...
...
@@ -342,28 +352,6 @@ export class ordenSalidaComponent implements OnInit {
//SE VUELVE A LIMPIAR EL LISTADO DE ARTICULOS PARA DEJAR PASO A OTRA FUTURA BUSQUEDA.
this
.
articulosList
=
[];
/*const valor = event.option.value;
if(this.listRequerimientos.find((item) => item.codigo === valor)){
this.labelText = 'Ya existe el requerimiento ' + valor + ' en el listado'; // Cambia el texto
this.isFading = false; // Resetea el estado de opacidad para mostrar el texto
// Después de 2 segundos, comienza a desvanecer el texto
setTimeout(() => {
this.isFading = true;
}, 2000); // 2000 ms = 2 segundos
}else{
this.listRequerimientos.push({ titulo: `RQ N°${valor}`, id: this.idBotones++ , codigo: valor });
this.labelText = '';
}
this.datos_servicio.get('busquedaReq')?.setValue('');
this.inputBusqueda.nativeElement.blur();
this.detectorChange.detectChanges();
this.requerimientosFiltrados = [];
}*/
}
formatoEstado
(
estado
:
any
)
{
...
...
src/app/service/conformidad_service/conformidad.service.ts
View file @
7d433371
...
...
@@ -76,7 +76,7 @@ export class ConformidadService {
try
{
const
respuesta
=
await
axios
.
post
(
this
.
t_facturacion_electronica_link
+
'/api/v1/conformidad/registrarConformidad'
,
Parametros
);
console
.
log
(
respuesta
);
//
console.log(respuesta);
return
respuesta
.
data
;
}
catch
(
e
)
{
return
e
;
...
...
@@ -227,9 +227,6 @@ export class ConformidadService {
nombreDocumento
:
datos
.
nombreArchivo
||
''
});
console
.
log
(
registroEvidencia
);
if
(
responseBody
?.
status
)
{
respuesta
=
{
status
:
true
,
message
:
"Imagenes subidas"
};
}
else
{
...
...
@@ -285,6 +282,8 @@ export class ConformidadService {
descripcion
:
json
.
descripcion
||
''
,
fechaRegistro
:
json
.
fechaRegistro
||
''
,
codArticulo
:
json
.
codArticulo
||
''
,
nombreArticulo
:
json
.
nombreArticulo
||
''
,
unidad
:
json
.
unidad
||
'-'
,
cantidad
:
json
.
cantidad
||
0
,
estado
:
json
.
estado
||
0
,
...
...
@@ -298,31 +297,4 @@ export class ConformidadService {
}
}
/*async listadoRequerimientos(json: any) {
const parametros =[
json.accion || 0,
json.nombreValor || '',
json.sede || '',
]
try {
const respuesta = await axios.post(this.t_horizon_rest_link + '/api/procedure/Procedimiento',
{
database: "sqlserver",
procedure :"USP_GENERAL_FORMULARIO",
params : parametros
},
{
headers: {
'Content-Type': 'application/json'
}
});
return respuesta.data;
} catch (e) {
return e;
}
}*/
}
src/app/service/directivas_service/soloNumeros/solo-numeros.directive.ts
View file @
7d433371
import
{
Directive
,
HostListener
}
from
'@angular/core'
;
import
{
Directive
,
HostListener
,
Input
}
from
'@angular/core'
;
@
Directive
({
selector
:
'[soloNumeros]'
,
...
...
@@ -7,14 +7,28 @@ import { Directive ,HostListener } from '@angular/core';
export
class
SoloNumerosDirective
{
@
Input
()
soloNumeros
?:
'decimal'
|
'entero'
;
//constructor() { }
@
HostListener
(
'keypress'
,
[
'$event'
])
onKeyPress
(
event
:
KeyboardEvent
)
{
const
charCode
=
event
.
key
;
// Permitir solo números (0-9)
if
(
!
/^
[
0-9.
]
*$/
.
test
(
charCode
))
{
event
.
preventDefault
();
if
(
this
.
soloNumeros
===
'entero'
)
{
// Permitir solo números enteros (0-9)
if
(
!
/^
[
0-9
]
*$/
.
test
(
charCode
))
{
event
.
preventDefault
();
}
}
else
if
(
this
.
soloNumeros
===
'decimal'
)
{
if
(
!
/^
[
0-9.
]
*$/
.
test
(
charCode
))
{
event
.
preventDefault
();
}
}
else
{
if
(
!
/^
[
0-9
]
*$/
.
test
(
charCode
))
{
event
.
preventDefault
();
}
}
}
}
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