Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
Front-NG
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
José Alejandro Cáceres López
Front-NG
Commits
f11c7083
Commit
f11c7083
authored
Aug 28, 2023
by
José Alejandro Cáceres López
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'desarrollo' into 'master'
controles en proyecto See merge request
!11
parents
f62691bf
3ca5b574
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
692 additions
and
446 deletions
+692
-446
acta-compromiso-carreras.component.ts
...compromiso-carreras/acta-compromiso-carreras.component.ts
+2
-2
listar-anexos-imagenes.component.ts
...istar-anexos-imagenes/listar-anexos-imagenes.component.ts
+3
-1
add-informe.component.html
...informes de avance/add-informe/add-informe.component.html
+2
-2
add-informe.component.ts
...n/informes de avance/add-informe/add-informe.component.ts
+2
-2
list-informe.component.html
...formes de avance/list-informe/list-informe.component.html
+2
-2
list-informe.component.ts
...informes de avance/list-informe/list-informe.component.ts
+29
-14
add-cronograma-acti.component.ts
...ción/add-cronograma-acti/add-cronograma-acti.component.ts
+43
-13
add-hitos.component.ts
...Estrategias de Ejecución/add-hitos/add-hitos.component.ts
+44
-14
asignacion-docentes.component.css
...tes/asignacion-docentes/asignacion-docentes.component.css
+155
-155
asignacion-docentes.component.html
...es/asignacion-docentes/asignacion-docentes.component.html
+10
-13
asignacion-docentes.component.ts
...ntes/asignacion-docentes/asignacion-docentes.component.ts
+69
-80
listar-docentes-asignados.component.css
...ocentes-asignados/listar-docentes-asignados.component.css
+0
-0
listar-docentes-asignados.component.html
...centes-asignados/listar-docentes-asignados.component.html
+20
-22
listar-docentes-asignados.component.ts
...docentes-asignados/listar-docentes-asignados.component.ts
+95
-40
add-compromiso.component.ts
... participacion/add-compromiso/add-compromiso.component.ts
+37
-4
list-compromiso.component.ts
...articipacion/list-compromiso/list-compromiso.component.ts
+28
-14
list-documentos.component.ts
...articipacion/list-documentos/list-documentos.component.ts
+34
-21
aporte-comunidad.component.ts
... detallado/aporte-comunidad/aporte-comunidad.component.ts
+14
-0
aporte-entidad.component.ts
...esto detallado/aporte-entidad/aporte-entidad.component.ts
+28
-14
aporte-universidad.component.ts
...allado/aporte-universidad/aporte-universidad.component.ts
+25
-12
list-comunidad.component.ts
...esto detallado/list-comunidad/list-comunidad.component.ts
+26
-14
list-entidad.component.ts
...supuesto detallado/list-entidad/list-entidad.component.ts
+16
-3
responsable-prog.service.ts
...ain/services/responsable-prog/responsable-prog.service.ts
+8
-4
No files found.
src/app/modules/main/pages/Proyectos/Acta de Compromiso de Carreras/acta-compromiso-carreras/acta-compromiso-carreras.component.ts
View file @
f11c7083
...
@@ -82,7 +82,7 @@ export class ActaCompromisoCarrerasComponent implements OnInit {
...
@@ -82,7 +82,7 @@ export class ActaCompromisoCarrerasComponent implements OnInit {
return
fileName
.
toLocaleLowerCase
().
endsWith
(
'.pdf'
);
return
fileName
.
toLocaleLowerCase
().
endsWith
(
'.pdf'
);
}
}
openModal
()
{
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
width
:
'400px'
,
width
:
'400px'
,
disableClose
:
true
disableClose
:
true
...
@@ -107,7 +107,7 @@ export class ActaCompromisoCarrerasComponent implements OnInit {
...
@@ -107,7 +107,7 @@ export class ActaCompromisoCarrerasComponent implements OnInit {
this
.
proyecto
.
uzytavproyec_com_part2_nom
=
pdfData
.
filename
;
this
.
proyecto
.
uzytavproyec_com_part2_nom
=
pdfData
.
filename
;
this
.
proyectosService
.
modificarParametros
(
this
.
proyecto
.
uzytavproyec_id
,
this
.
proyecto
).
subscribe
(
this
.
proyectosService
.
modificarParametros
(
this
.
proyecto
.
uzytavproyec_id
,
this
.
proyecto
).
subscribe
(
response
=>
{
response
=>
{
this
.
openModal
();
this
.
openModal
(
'El PDF ha sido Enviado'
);
console
.
log
(
'Datos Actualizados'
,
this
.
proyecto
);
console
.
log
(
'Datos Actualizados'
,
this
.
proyecto
);
this
.
myForm
.
disable
();
this
.
myForm
.
disable
();
this
.
cambio
=
false
;
this
.
cambio
=
false
;
...
...
src/app/modules/main/pages/Proyectos/Diagnostico y problema/Anexos e Imagenes/listar-anexos-imagenes/listar-anexos-imagenes.component.ts
View file @
f11c7083
...
@@ -94,7 +94,7 @@ export class ListarAnexosImagenesComponent implements OnInit {
...
@@ -94,7 +94,7 @@ export class ListarAnexosImagenesComponent implements OnInit {
eliminarParametro
(
id
:
number
)
{
eliminarParametro
(
id
:
number
)
{
this
.
openModalDelete
(
'¿Desea eliminar
la Entidad
?'
).
subscribe
(
result
=>
{
this
.
openModalDelete
(
'¿Desea eliminar
el Anexo
?'
).
subscribe
(
result
=>
{
if
(
result
)
{
if
(
result
)
{
this
.
anexosImagenesService
.
eliminarParametros
(
id
).
subscribe
(
this
.
anexosImagenesService
.
eliminarParametros
(
id
).
subscribe
(
()
=>
{
()
=>
{
...
@@ -110,6 +110,8 @@ export class ListarAnexosImagenesComponent implements OnInit {
...
@@ -110,6 +110,8 @@ export class ListarAnexosImagenesComponent implements OnInit {
});
});
}
}
formatFecha
(
fecha
:
Date
):
string
{
formatFecha
(
fecha
:
Date
):
string
{
const
dateObj
=
new
Date
(
fecha
);
const
dateObj
=
new
Date
(
fecha
);
return
format
(
dateObj
,
'dd-MM-yyyy'
);
return
format
(
dateObj
,
'dd-MM-yyyy'
);
...
...
src/app/modules/main/pages/Proyectos/Ejecución/informes de avance/add-informe/add-informe.component.html
View file @
f11c7083
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<ng-container
matColumnDef=
"resultado"
>
<ng-container
matColumnDef=
"resultado"
>
<th
mat-header-cell
*
matHeaderCellDef
>
Resultado
</th>
<th
mat-header-cell
*
matHeaderCellDef
>
Resultado
</th>
<td
mat-cell
*
matCellDef=
"let actividad"
>
<td
mat-cell
*
matCellDef=
"let actividad"
>
<input
matInput
type=
"number"
[
formControlName
]="'
resultado
'
+
actividad
.
uzytavobjetivo_programa_id
"
<input
matInput
[
formControlName
]="'
resultado
'
+
actividad
.
uzytavobjetivo_programa_id
"
placeholder=
"Resultado"
>
placeholder=
"Resultado"
>
</td>
</td>
</ng-container>
</ng-container>
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
<ng-container
matColumnDef=
"observacion"
>
<ng-container
matColumnDef=
"observacion"
>
<th
mat-header-cell
*
matHeaderCellDef
>
Observación
</th>
<th
mat-header-cell
*
matHeaderCellDef
>
Observación
</th>
<td
mat-cell
*
matCellDef=
"let actividad"
>
<td
mat-cell
*
matCellDef=
"let actividad"
>
<input
matInput
type=
"number"
[
formControlName
]="'
observacion
'
+
actividad
.
uzytavobjetivo_programa_id
"
<input
matInput
[
formControlName
]="'
observacion
'
+
actividad
.
uzytavobjetivo_programa_id
"
placeholder=
"Observación"
>
placeholder=
"Observación"
>
</td>
</td>
</ng-container>
</ng-container>
...
...
src/app/modules/main/pages/Proyectos/Ejecución/informes de avance/add-informe/add-informe.component.ts
View file @
f11c7083
...
@@ -173,7 +173,7 @@ export class AddInformeComponent implements OnInit {
...
@@ -173,7 +173,7 @@ export class AddInformeComponent implements OnInit {
this
.
guardarBody
(
this
.
informeS
.
obtenerIdCabe
());
this
.
guardarBody
(
this
.
informeS
.
obtenerIdCabe
());
this
.
cancelarF
();
this
.
cancelarF
();
this
.
datosCompartidos
.
actualizarDatos
(
this
.
cabeM
);
this
.
datosCompartidos
.
actualizarDatos
(
this
.
cabeM
);
this
.
openModal
();
this
.
openModal
(
'Los datos han sido Enviados'
);
});
});
}
}
}
}
...
@@ -222,7 +222,7 @@ export class AddInformeComponent implements OnInit {
...
@@ -222,7 +222,7 @@ export class AddInformeComponent implements OnInit {
}
}
openModal
()
{
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
disableClose
:
true
disableClose
:
true
});
});
...
...
src/app/modules/main/pages/Proyectos/Ejecución/informes de avance/list-informe/list-informe.component.html
View file @
f11c7083
...
@@ -38,10 +38,10 @@
...
@@ -38,10 +38,10 @@
<mat-icon
color=
"warn"
<mat-icon
color=
"warn"
(
click
)="
eliminarHeader
(
item
.
uzytavactproy_id
)"
>
delete
</mat-icon>
(
click
)="
eliminarHeader
(
item
.
uzytavactproy_id
)"
>
delete
</mat-icon>
</button>
</button>
<button>
<!--
<button>
<mat-icon color="azul"
<mat-icon color="azul"
(click)="editarCabecera(item.uzytavactproy_id)">edit</mat-icon>
(click)="editarCabecera(item.uzytavactproy_id)">edit</mat-icon>
</button>
</button>
-->
</td>
</td>
</tr>
</tr>
...
...
src/app/modules/main/pages/Proyectos/Ejecución/informes de avance/list-informe/list-informe.component.ts
View file @
f11c7083
import
{
Component
,
ElementRef
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
ElementRef
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
format
}
from
'date-fns'
;
import
{
format
}
from
'date-fns'
;
import
{
Observable
}
from
'rxjs'
;
import
{
actproy
}
from
'src/app/modules/main/Models/actproy'
;
import
{
actproy
}
from
'src/app/modules/main/Models/actproy'
;
import
{
detactproy
}
from
'src/app/modules/main/Models/detactproy'
;
import
{
detactproy
}
from
'src/app/modules/main/Models/detactproy'
;
import
{
objetivoprograma
}
from
'src/app/modules/main/Models/objetivoPrograma'
;
import
{
objetivoprograma
}
from
'src/app/modules/main/Models/objetivoPrograma'
;
...
@@ -8,6 +9,8 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
...
@@ -8,6 +9,8 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import
{
Informes_avanceService
}
from
'src/app/modules/main/services/informes_avance/informes_avance.service'
;
import
{
Informes_avanceService
}
from
'src/app/modules/main/services/informes_avance/informes_avance.service'
;
import
{
MostrarOcultarService
}
from
'src/app/modules/main/services/mostrar-ocultar.service'
;
import
{
MostrarOcultarService
}
from
'src/app/modules/main/services/mostrar-ocultar.service'
;
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
@
Component
({
@
Component
({
selector
:
'vex-list-informe'
,
selector
:
'vex-list-informe'
,
...
@@ -35,7 +38,8 @@ export class ListInformeComponent implements OnInit {
...
@@ -35,7 +38,8 @@ export class ListInformeComponent implements OnInit {
private
bodyM
:
detactproy
,
private
bodyM
:
detactproy
,
private
compartirDatos
:
Actualiza_datosService
,
private
compartirDatos
:
Actualiza_datosService
,
private
mostrarOcultarService
:
MostrarOcultarService
,
private
mostrarOcultarService
:
MostrarOcultarService
,
public
idCompartido
:
Compartir_idService
public
idCompartido
:
Compartir_idService
,
private
dialog
:
MatDialog
)
{
}
)
{
}
ngOnInit
():
void
{
ngOnInit
():
void
{
...
@@ -113,23 +117,34 @@ export class ListInformeComponent implements OnInit {
...
@@ -113,23 +117,34 @@ export class ListInformeComponent implements OnInit {
}
}
eliminarHeader
(
id
:
number
){
eliminarHeader
(
id
:
number
){
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Desea Eliminar el Registro?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
informeS
.
eliminarParametrosCabecera
(
id
).
subscribe
(
this
.
informeS
.
eliminarParametrosCabecera
(
id
).
subscribe
(
()
=>
{
()
=>
{
console
.
log
(
'El registro se ha eliminado'
);
console
.
log
(
'El registro se ha eliminado'
);
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
},
},
(
error
)
=>
{
(
error
)
=>
{
// No mostrar el error en la consola
// No mostrar el error en la consola
console
.
log
(
'Error durante el tratamiento al registro'
);
console
.
log
(
'Error durante el tratamiento al registro'
);
}
}
);
);
}
}
});
}
}
formatFecha
(
fecha
:
Date
):
string
{
formatFecha
(
fecha
:
Date
):
string
{
const
dateObj
=
new
Date
(
fecha
);
const
dateObj
=
new
Date
(
fecha
);
return
format
(
dateObj
,
'dd-MM-yyyy'
);
return
format
(
dateObj
,
'dd-MM-yyyy'
);
}
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
src/app/modules/main/pages/Proyectos/Estrategias de Ejecución/add-cronograma-acti/add-cronograma-acti.component.ts
View file @
f11c7083
...
@@ -12,6 +12,10 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
...
@@ -12,6 +12,10 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
DatePipe
}
from
"@angular/common"
;
import
{
DatePipe
}
from
"@angular/common"
;
import
{
Observable
}
from
'rxjs'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
EnvioFormularioComponent
}
from
'../../../programa/opciones/envio-formulario/envio-formulario.component'
;
@
Component
({
@
Component
({
selector
:
'vex-add-cronograma-acti'
,
selector
:
'vex-add-cronograma-acti'
,
...
@@ -44,7 +48,8 @@ export class AddCronogramaActiComponent implements OnInit {
...
@@ -44,7 +48,8 @@ export class AddCronogramaActiComponent implements OnInit {
private
objPS
:
Objetivo_programaService
,
private
objPS
:
Objetivo_programaService
,
private
idCompartido
:
Compartir_idService
,
private
idCompartido
:
Compartir_idService
,
private
datosCompartidos
:
Actualiza_datosService
,
private
datosCompartidos
:
Actualiza_datosService
,
private
objM
:
objetivoprograma
private
objM
:
objetivoprograma
,
private
dialog
:
MatDialog
)
{
)
{
this
.
myForm
=
this
.
formBuilder
.
group
({
this
.
myForm
=
this
.
formBuilder
.
group
({
Actividades
:
[
''
,
Validators
.
required
],
Actividades
:
[
''
,
Validators
.
required
],
...
@@ -94,6 +99,7 @@ export class AddCronogramaActiComponent implements OnInit {
...
@@ -94,6 +99,7 @@ export class AddCronogramaActiComponent implements OnInit {
console
.
log
(
'yo digo'
,
this
.
objM
.
uzytavobjetivo_programafec_fin
)
console
.
log
(
'yo digo'
,
this
.
objM
.
uzytavobjetivo_programafec_fin
)
this
.
objPS
.
modificarParametros
(
id_recuperado
,
this
.
objM
).
subscribe
(
response
=>
{
this
.
objPS
.
modificarParametros
(
id_recuperado
,
this
.
objM
).
subscribe
(
response
=>
{
this
.
showDataAdd
=
false
;
this
.
showDataAdd
=
false
;
this
.
openModal
(
'Los Datos han sido agregados'
);
this
.
ocultar
=
true
;
this
.
ocultar
=
true
;
this
.
myForm
.
reset
();
this
.
myForm
.
reset
();
this
.
datosCompartidos
.
actualizarDatos
(
this
.
objM
);
this
.
datosCompartidos
.
actualizarDatos
(
this
.
objM
);
...
@@ -153,18 +159,42 @@ export class AddCronogramaActiComponent implements OnInit {
...
@@ -153,18 +159,42 @@ export class AddCronogramaActiComponent implements OnInit {
}
}
eliminarFechas
(
id
:
number
)
{
eliminarFechas
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Desea eliminar el registro?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
objPS
.
modificarFechas
(
id
).
subscribe
(
this
.
objPS
.
modificarFechas
(
id
).
subscribe
(
()
=>
{
()
=>
{
console
.
log
(
'El registro se ha eliminado'
);
console
.
log
(
'El registro se ha eliminado'
);
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
},
},
(
error
)
=>
{
(
error
)
=>
{
console
.
log
(
'Error durante el tratamiento al registro'
);
console
.
log
(
'Error durante el tratamiento al registro'
);
}
}
);
);
}
}
});
}
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
width
:
'400px'
,
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
dialogRef
.
afterClosed
().
subscribe
(
result
=>
{
this
.
formularioEnviado
=
true
;
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/pages/Proyectos/Estrategias de Ejecución/add-hitos/add-hitos.component.ts
View file @
f11c7083
...
@@ -3,12 +3,16 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
...
@@ -3,12 +3,16 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import
{
CalendarOptions
,
EventApi
,
EventClickArg
,
EventInput
}
from
'@fullcalendar/core'
;
import
{
CalendarOptions
,
EventApi
,
EventClickArg
,
EventInput
}
from
'@fullcalendar/core'
;
import
dayGridPlugin
from
'@fullcalendar/daygrid'
;
import
dayGridPlugin
from
'@fullcalendar/daygrid'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
{
Observable
}
from
'rxjs'
;
import
{
seguim
}
from
'src/app/modules/main/Models/hito'
;
import
{
seguim
}
from
'src/app/modules/main/Models/hito'
;
import
{
objetivoprograma
}
from
'src/app/modules/main/Models/objetivoPrograma'
;
import
{
objetivoprograma
}
from
'src/app/modules/main/Models/objetivoPrograma'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
HitosService
}
from
'src/app/modules/main/services/hitos/hitos.service'
;
import
{
HitosService
}
from
'src/app/modules/main/services/hitos/hitos.service'
;
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
Objetivo_programaService
}
from
'src/app/modules/main/services/objetivo_programa/objetivo_programa.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
EnvioFormularioComponent
}
from
'../../../programa/opciones/envio-formulario/envio-formulario.component'
;
@
Component
({
@
Component
({
selector
:
'vex-add-hitos'
,
selector
:
'vex-add-hitos'
,
templateUrl
:
'./add-hitos.component.html'
,
templateUrl
:
'./add-hitos.component.html'
,
...
@@ -38,7 +42,8 @@ export class AddHitosComponent implements OnInit {
...
@@ -38,7 +42,8 @@ export class AddHitosComponent implements OnInit {
private
objM
:
objetivoprograma
,
private
objM
:
objetivoprograma
,
private
objPS
:
Objetivo_programaService
,
private
objPS
:
Objetivo_programaService
,
private
hitoS
:
HitosService
,
private
hitoS
:
HitosService
,
private
hitoM
:
seguim
private
hitoM
:
seguim
,
private
dialog
:
MatDialog
)
{
)
{
this
.
myForm
=
this
.
formBuilder
.
group
({
this
.
myForm
=
this
.
formBuilder
.
group
({
hitos
:
[
''
,
Validators
.
required
],
hitos
:
[
''
,
Validators
.
required
],
...
@@ -105,6 +110,7 @@ export class AddHitosComponent implements OnInit {
...
@@ -105,6 +110,7 @@ export class AddHitosComponent implements OnInit {
this
.
objM
.
uzytavobjetivo_programafec_fin
=
fechaHoraSecond
;
this
.
objM
.
uzytavobjetivo_programafec_fin
=
fechaHoraSecond
;
this
.
objPS
.
modificarParametros
(
id_recuperado
,
this
.
objM
).
subscribe
(
response
=>
{
this
.
objPS
.
modificarParametros
(
id_recuperado
,
this
.
objM
).
subscribe
(
response
=>
{
this
.
showDataAdd
=
false
;
this
.
showDataAdd
=
false
;
this
.
openModal
(
'Los Datos han sido agregados'
);
this
.
ocultar
=
true
;
this
.
ocultar
=
true
;
this
.
myForm
.
reset
();
this
.
myForm
.
reset
();
this
.
datosCompartidos
.
actualizarDatos
(
this
.
objM
);
this
.
datosCompartidos
.
actualizarDatos
(
this
.
objM
);
...
@@ -141,19 +147,43 @@ export class AddHitosComponent implements OnInit {
...
@@ -141,19 +147,43 @@ export class AddHitosComponent implements OnInit {
return
color
;
return
color
;
}
}
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
width
:
'400px'
,
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
dialogRef
.
afterClosed
().
subscribe
(
result
=>
{
this
.
formularioEnviado
=
true
;
});
}
eliminarFechas
(
id
:
number
)
{
eliminarFechas
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Desea eliminar el registro?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
objPS
.
modificarFechas
(
id
).
subscribe
(
this
.
objPS
.
modificarFechas
(
id
).
subscribe
(
()
=>
{
()
=>
{
console
.
log
(
'El registro se ha eliminado'
);
console
.
log
(
'El registro se ha eliminado'
);
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
},
},
(
error
)
=>
{
(
error
)
=>
{
// No mostrar el error en la consola
// No mostrar el error en la consola
console
.
log
(
'Error durante el tratamiento al registro'
);
console
.
log
(
'Error durante el tratamiento al registro'
);
}
}
);
);
}
}
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/asignacion-docentes/asignacion-docentes.component.css
View file @
f11c7083
/* Estilos para el formulario */
/* Estilos para el formulario */
.formulario
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
max-width
:
96%
;
margin
:
0
auto
;
background-color
:
white
;
border-radius
:
10px
;
}
.botones
{
width
:
100px
;
height
:
40px
;
text-align
:
center
;
padding
:
0
;
}
/* Estilos para la columna única */
.columna-unico
{
width
:
100%
;
box-sizing
:
border-box
;
padding-right
:
0
;
padding-left
:
0
;
}
/* Estilos para los labels */
label
{
display
:
block
;
margin-bottom
:
8px
;
font-weight
:
bold
;
}
/* Estilos para los inputs y selects */
input
[
type
=
"text"
],
select
{
width
:
100%
;
padding
:
10px
;
border
:
none
;
border-bottom
:
1px
solid
#ccc
;
background-color
:
transparent
;
font-size
:
16px
;
margin-bottom
:
16px
;
transition
:
border-color
0.3s
ease
;
}
input
[
type
=
"text"
]
:focus
,
select
:focus
{
outline
:
none
;
border-color
:
#4caf50
;
}
/* Estilos para los mensajes de error */
.error-message
{
color
:
red
;
font-size
:
14px
;
margin-top
:
4px
;
}
/* Estilos para el botón */
button
{
display
:
block
;
margin
:
20px
auto
;
padding
:
10px
20px
;
background-color
:
rgb
(
71
,
127
,
75
);
color
:
#fff
;
border
:
none
;
border-radius
:
5px
;
font-size
:
16px
;
cursor
:
pointer
;
transition
:
background-color
0.3s
ease
;
}
button
:hover
{
background-color
:
rgb
(
90
,
159
,
95
);
}
/* Estilos para el contenedor principal */
.contenedor
{
width
:
96%
;
margin-left
:
2%
;
margin-right
:
2%
;
margin-top
:
10%
;
border-radius
:
10px
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0.4
);
background-color
:
#ffffff
;
position
:
relative
;
z-index
:
1
;
}
/* Estilos para el contenedor del formulario */
.contenedor-dos
{
padding
:
0.9375rem
20px
;
position
:
relative
;
}
/* Estilos para el título sobremontado */
.sobremontado
{
position
:
relative
;
width
:
96%
;
top
:
-20px
;
left
:
2%
;
background-color
:
#477f4b
;
color
:
#fff
;
text-align
:
center
;
padding
:
10px
;
box-sizing
:
border-box
;
margin-bottom
:
-50px
;
z-index
:
2
;
border-radius
:
10px
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0.4
);
}
/* Estilos para el icono de instituciones */
.icono-instituciones
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
5px
;
font-size
:
20px
;
}
.volver
{
position
:
absolute
;
top
:
25%
;
right
:
10px
;
transform
:
translateY
(
-50%
);
border-radius
:
50%
;
background-color
:
white
;
display
:
flex
;
color
:
rgb
(
71
,
127
,
75
);
align-items
:
center
;
justify-content
:
center
;
padding
:
0
;
width
:
32px
;
height
:
32px
;
border
:
none
;
outline
:
none
;
cursor
:
pointer
;
}
.save-button
{
display
:
flex
;
justify-content
:
flex-end
;
margin-bottom
:
16px
;
}
.input-container
{
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
/* Estilos para el formulario */
.formulario
{
.formulario
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
...
@@ -295,7 +142,7 @@ button:hover {
...
@@ -295,7 +142,7 @@ button:hover {
.save-button
{
.save-button
{
display
:
flex
;
display
:
flex
;
justify-content
:
flex-end
;
justify-content
:
flex-end
;
margin-bottom
:
5
px
;
margin-bottom
:
16
px
;
}
}
...
@@ -303,5 +150,158 @@ button:hover {
...
@@ -303,5 +150,158 @@ button:hover {
width
:
100%
;
width
:
100%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
margin-bottom
:
5px
;
}
/* Estilos para el formulario */
.formulario
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
max-width
:
96%
;
margin
:
0
auto
;
background-color
:
white
;
border-radius
:
10px
;
}
.botones
{
width
:
100px
;
height
:
40px
;
text-align
:
center
;
padding
:
0
;
}
/* Estilos para la columna única */
.columna-unico
{
width
:
100%
;
box-sizing
:
border-box
;
padding-right
:
0
;
padding-left
:
0
;
}
/* Estilos para los labels */
label
{
display
:
block
;
margin-bottom
:
8px
;
font-weight
:
bold
;
}
/* Estilos para los inputs y selects */
input
[
type
=
"text"
],
select
{
width
:
100%
;
padding
:
10px
;
border
:
none
;
border-bottom
:
1px
solid
#ccc
;
background-color
:
transparent
;
font-size
:
16px
;
margin-bottom
:
16px
;
transition
:
border-color
0.3s
ease
;
}
input
[
type
=
"text"
]
:focus
,
select
:focus
{
outline
:
none
;
border-color
:
#4caf50
;
}
/* Estilos para los mensajes de error */
.error-message
{
color
:
red
;
font-size
:
14px
;
margin-top
:
4px
;
}
/* Estilos para el botón */
button
{
display
:
block
;
margin
:
20px
auto
;
padding
:
10px
20px
;
background-color
:
rgb
(
71
,
127
,
75
);
color
:
#fff
;
border
:
none
;
border-radius
:
5px
;
font-size
:
16px
;
cursor
:
pointer
;
transition
:
background-color
0.3s
ease
;
}
button
:hover
{
background-color
:
rgb
(
90
,
159
,
95
);
}
/* Estilos para el contenedor principal */
.contenedor
{
width
:
96%
;
margin-left
:
2%
;
margin-right
:
2%
;
margin-top
:
10%
;
border-radius
:
10px
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0.4
);
background-color
:
#ffffff
;
position
:
relative
;
z-index
:
1
;
}
/* Estilos para el contenedor del formulario */
.contenedor-dos
{
padding
:
0.9375rem
20px
;
position
:
relative
;
}
/* Estilos para el título sobremontado */
.sobremontado
{
position
:
relative
;
width
:
96%
;
top
:
-20px
;
left
:
2%
;
background-color
:
#477f4b
;
color
:
#fff
;
text-align
:
center
;
padding
:
10px
;
box-sizing
:
border-box
;
margin-bottom
:
-50px
;
z-index
:
2
;
border-radius
:
10px
;
box-shadow
:
0
2px
4px
rgba
(
0
,
0
,
0
,
0.4
);
}
/* Estilos para el icono de instituciones */
.icono-instituciones
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
5px
;
font-size
:
20px
;
}
.volver
{
position
:
absolute
;
top
:
25%
;
right
:
10px
;
transform
:
translateY
(
-50%
);
border-radius
:
50%
;
background-color
:
white
;
display
:
flex
;
color
:
rgb
(
71
,
127
,
75
);
align-items
:
center
;
justify-content
:
center
;
padding
:
0
;
width
:
32px
;
height
:
32px
;
border
:
none
;
outline
:
none
;
cursor
:
pointer
;
}
.save-button
{
display
:
flex
;
justify-content
:
flex-end
;
margin-bottom
:
5px
;
}
.input-container
{
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
margin-bottom
:
5px
;
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/asignacion-docentes/asignacion-docentes.component.html
View file @
f11c7083
<div
class=
"contenedor-dos"
>
<div
class=
"contenedor-dos"
>
<form
class=
"formulario"
[
formGroup
]="
myForm
"
(
ngSubmit
)="
onSubmit
()"
>
<form
class=
"formulario"
[
formGroup
]="
myForm
"
(
ngSubmit
)="
onSubmit
()"
>
<!-- Información de la institución -->
<div
class=
"columna-unico"
>
<div
class=
"columna-unico"
>
<!-- Control de fechas inicio -->
<div
class=
"save-button"
>
<div
class=
"save-button"
>
<button
mat-raised-button
class=
"botones"
color=
"primary"
*
ngIf=
"!cambio"
(
click
)="
cambiar
()"
>
Agregar
</button>
<button
mat-raised-button
class=
"botones"
color=
"primary"
*
ngIf=
"!cambio"
(
click
)="
cambiar
()"
>
Agregar
</button>
<button
mat-raised-button
class=
"botones"
color=
"primary"
*
ngIf=
"cambio"
<button
mat-raised-button
class=
"botones"
color=
"primary"
*
ngIf=
"cambio"
[
disabled
]="
myForm
.
invalid
"
>
Guardar
</button>
[
disabled
]="
myForm
.
invalid
"
>
Guardar
</button>
<span
class=
"separator"
></span>
<span
class=
"separator"
></span>
<button
mat-raised-button
class=
"botones"
color=
"warn"
*
ngIf=
"cambio"
(
click
)="
cancelado
()"
>
Cancelar
</button>
<button
mat-raised-button
class=
"botones"
color=
"warn"
*
ngIf=
"cambio"
(
click
)="
cancelado
()"
>
Cancelar
</button>
</div>
</div>
<div
class=
"input-container"
>
<div
class=
"input-container"
>
<mat-form-field
class=
"contenedor-dos"
>
<mat-form-field
class=
"contenedor-dos"
>
<mat-label>
Nombres
</mat-label>
<mat-label>
Nombres
</mat-label>
<input
matInput
[
formControl
]="
myControl
"
formControlName=
"nombres"
<input
matInput
#
searchInput
id=
"#searchInput"
placeholder=
"Realizar búsqueda"
/>
(
input
)="
resetAutocompleteVisibility
();
realizarBusqueda
(
searchInput
.
value
)"
[
value
]="
selectedUsuario
?
selectedUsuario
.
uzytusuario_nombres
+
'
'
+
selectedUsuario
.
uzytusuario_apellidos
:
''"
placeholder=
"Realizar búsqueda"
[
disabled
]="!
cambio
"
/>
</mat-form-field>
</mat-form-field>
<mat-autocomplete
*
ngIf=
"usuarios"
autoActiveFirstOption
>
<mat-autocomplete
*
ngIf=
"usuarios && autocompleteVisible"
[
displayWith
]="
displayFn
"
>
<mat-option
*
ngFor=
"let usuario of filteredOptions | async"
[
value
]="
usuario
"
<mat-option
*
ngFor=
"let usuario of usuarios"
[
value
]="
usuario
"
(
click
)="
onUsuarioSelected
(
usuario
)"
>
(
click
)="
onUsuarioSelected
(
usuario
)"
>
{{ usuario.uzytusuario_nombres }} {{ usuario.uzytusuario_apellidos }}
{{ usuario.uzytusuario_nombres }} {{ usuario.uzytusuario_apellidos }}
</mat-option>
</mat-option>
</mat-autocomplete>
</mat-autocomplete>
</div>
</div>
<div
class=
"input-container"
>
<div
class=
"input-container"
>
<mat-form-field
class=
"contenedor-dos"
>
<mat-form-field
class=
"contenedor-dos"
>
<mat-label>
Seleccionar Funcion
</mat-label>
<mat-label>
Seleccionar Funcion
</mat-label>
...
...
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/asignacion-docentes/asignacion-docentes.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
ElementRef
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
FormBuilder
,
Validators
,
FormGroup
,
FormControl
}
from
'@angular/forms'
;
import
{
FormBuilder
,
Validators
,
FormGroup
,
FormControl
}
from
'@angular/forms'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
...
@@ -6,51 +6,40 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
...
@@ -6,51 +6,40 @@ import { Compartir_idService } from 'src/app/modules/main/services/compartir_id/
import
{
Programa
}
from
'src/app/modules/main/Models/programa-v'
;
import
{
Programa
}
from
'src/app/modules/main/Models/programa-v'
;
import
{
DocenteParticipante
}
from
'src/app/modules/main/Models/docente-participante'
;
import
{
DocenteParticipante
}
from
'src/app/modules/main/Models/docente-participante'
;
import
{
DocentesParticipantesService
}
from
'src/app/modules/main/services/docentes-participantes/docentes-participantes.service'
;
import
{
DocentesParticipantesService
}
from
'src/app/modules/main/services/docentes-participantes/docentes-participantes.service'
;
import
{
ProgramaService
}
from
'src/app/modules/main/services/programa/programa.service'
;
import
{
DatosEspeService
}
from
'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service'
;
import
{
DatosEspeService
}
from
'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service'
;
import
{
UsuariosService
}
from
'src/app/modules/main/services/usuarios/usuarios.service'
;
import
{
UsuariosService
}
from
'src/app/modules/main/services/usuarios/usuarios.service'
;
import
{
Usuario
}
from
'src/app/modules/main/Models/usuario'
;
import
{
Usuario
}
from
'src/app/modules/main/Models/usuario'
;
import
{
MatAutocomplete
,
MatAutocompleteTrigger
}
from
'@angular/material/autocomplete'
;
import
{
TiPres
}
from
'src/app/modules/main/Models/tiv-pres'
;
import
{
TiPres
}
from
'src/app/modules/main/Models/tiv-pres'
;
import
{
TipresService
}
from
'src/app/modules/main/services/tipres/tipres.service'
;
import
{
ResponsableProg
}
from
'src/app/modules/main/Models/responsable-prog'
;
import
{
ResponsableProg
}
from
'src/app/modules/main/Models/responsable-prog'
;
import
{
Observable
}
from
'rxjs'
;
import
{
map
,
startWith
}
from
'rxjs/operators'
;
import
{
ResponsableProgService
}
from
'src/app/modules/main/services/responsable-prog/responsable-prog.service'
;
import
{
ResponsableProgService
}
from
'src/app/modules/main/services/responsable-prog/responsable-prog.service'
;
import
{
TipresService
}
from
'src/app/modules/main/services/tipres/tipres.service'
;
import
{
EnvioFormularioComponent
}
from
'../../../../programa/opciones/envio-formulario/envio-formulario.component'
;
import
{
EnvioFormularioComponent
}
from
'../../../../programa/opciones/envio-formulario/envio-formulario.component'
;
interface
Funcion
{
value
:
string
;
viewValue
:
string
;
}
@
Component
({
@
Component
({
selector
:
'app-asignacion-docentes'
,
selector
:
'app-asignacion-docentes'
,
templateUrl
:
'./asignacion-docentes.component.html'
,
templateUrl
:
'./asignacion-docentes.component.html'
,
styleUrls
:
[
'./asignacion-docentes.component.css'
]
styleUrls
:
[
'./asignacion-docentes.component.css'
]
})
})
export
class
AsignacionDocentesComponent
implements
OnInit
{
export
class
AsignacionDocentesComponent
implements
OnInit
{
@
ViewChild
(
'searchInput'
,
{
static
:
false
})
searchInput
:
ElementRef
;
@
ViewChild
(
MatAutocomplete
)
autocomplete
:
MatAutocomplete
;
@
ViewChild
(
MatAutocompleteTrigger
)
autocompleteTrigger
:
MatAutocompleteTrigger
;
autocompleteVisible
:
boolean
=
true
;
idRecuperado
:
number
;
idRecuperado
:
number
;
myForm
:
FormGroup
;
myForm
:
FormGroup
;
docenteParticipante
:
DocenteParticipante
;
docenteParticipante
:
DocenteParticipante
;
responsableProg
:
ResponsableProg
;
responsableProg
:
ResponsableProg
;
responsableProgAll
!
:
ResponsableProg
[]
selectedDepartamentoId
:
number
;
selectedDepartamentoId
:
number
;
selectedCampusId
:
number
;
selectedCampusId
:
number
;
searchTerm
:
string
;
searchTerm
:
string
;
debounceTimeout
:
any
;
debounceTimeout
:
any
;
tipres
!
:
TiPres
[]
tipres
!
:
TiPres
[]
selectedUsuario
:
Usuario
;
selectedUsuario
:
Usuario
;
idUsuario
:
number
idUsuario
:
number
filteredOptions
:
Observable
<
Usuario
[]
>
;
myControl
=
new
FormControl
(
''
);
usuarios
:
Usuario
[];
usuarios
:
Usuario
[];
enviarSolicitud
=
false
;
enviarSolicitud
=
false
;
...
@@ -81,36 +70,26 @@ export class AsignacionDocentesComponent implements OnInit {
...
@@ -81,36 +70,26 @@ export class AsignacionDocentesComponent implements OnInit {
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
cambio
=
false
;
this
.
cambio
=
false
;
// Set initial value to false
this
.
obtenerCampus
()
this
.
obtenerCampus
();
this
.
obtenerFuncion
()
this
.
obtenerFuncion
();
this
.
obtenerUsuarios
()
this
.
obtenerDepartamento
();
this
.
obtenerDepartamento
()
this
.
obtenerRegistros
()
this
.
filteredOptions
=
this
.
myControl
.
valueChanges
.
pipe
(
startWith
(
''
),
map
(
value
=>
this
.
_filter
(
value
||
''
)),
);
this
.
myForm
=
this
.
formBuilder
.
group
({
this
.
myForm
=
this
.
formBuilder
.
group
({
numero
:
[{
value
:
''
,
disabled
:
true
},
Validators
.
required
],
numero
:
[{
value
:
''
,
disabled
:
true
},
Validators
.
required
],
funcion
:
[{
value
:
''
,
disabled
:
true
},
Validators
.
required
],
funcion
:
[{
value
:
''
,
disabled
:
true
},
Validators
.
required
],
//nombres
: [{ value: '', disabled: true }, Validators.required],
nombre
:
[{
value
:
''
,
disabled
:
true
},
Validators
.
required
],
});
});
}
}
private
_filter
(
value
:
string
):
Usuario
[]
{
const
filterValue
=
value
.
toLowerCase
();
return
this
.
usuarios
.
filter
(
option
=>
(
option
.
uzytusuario_nombres
+
' '
+
option
.
uzytusuario_apellidos
).
toLowerCase
().
includes
(
filterValue
)
);
}
openModal
()
{
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
disableClose
:
true
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
});
dialogRef
.
afterClosed
().
subscribe
(
result
=>
{
dialogRef
.
afterClosed
().
subscribe
(
result
=>
{
...
@@ -118,48 +97,52 @@ export class AsignacionDocentesComponent implements OnInit {
...
@@ -118,48 +97,52 @@ export class AsignacionDocentesComponent implements OnInit {
});
});
}
}
realizarBusqueda
()
{
clearTimeout
(
this
.
debounceTimeout
);
realizarBusqueda
(
searchTerm
:
string
)
{
clearTimeout
(
this
.
debounceTimeout
);
this
.
debounceTimeout
=
setTimeout
(()
=>
{
this
.
debounceTimeout
=
setTimeout
(()
=>
{
this
.
usuariosService
.
obtenerParametros
().
subscribe
(
data
=>
{
this
.
usuariosService
.
obtenerUsuarios
(
searchTerm
).
subscribe
(
data
=>
{
this
.
usuarios
=
data
;
this
.
usuarios
=
data
;
console
.
log
(
this
.
usuarios
)
});
});
},
30
0
);
},
0
);
}
}
obtenerUsuarios
()
{
this
.
usuariosService
.
obtenerParametros
().
subscribe
(
usuarios
=>
{
this
.
usuarios
=
usuarios
;
},
error
=>
{
console
.
log
(
'Error al obtener los usuarios:'
,
error
);
}
);
}
displayFn
(
usuario
:
Usuario
):
string
{
displayFn
(
usuario
:
Usuario
):
string
{
return
usuario
?
usuario
.
uzytusuario_nombres
+
' '
+
usuario
.
uzytusuario_apellidos
:
''
;
return
usuario
?
usuario
.
uzytusuario_nombres
+
' '
+
usuario
.
uzytusuario_apellidos
:
''
;
}
}
onUsuarioSelected
(
usuario
:
Usuario
):
void
{
if
(
usuario
)
{
this
.
idUsuario
=
usuario
.
uzytusuario_id
;
console
.
log
(
"id idUsuario "
,
this
.
idUsuario
)
this
.
selectedUsuario
=
usuario
;
resetAutocompleteVisibility
()
{
const
nombreCompleto
=
usuario
.
uzytusuario_nombres
+
" "
+
usuario
.
uzytusuario_apellidos
;
this
.
autocompleteVisible
=
true
;
this
.
myControl
.
setValue
(
nombreCompleto
);
// Asigna el nombre completo al FormControl
}
async
onUsuarioSelected
(
usuario
:
Usuario
):
Promise
<
void
>
{
await
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
obtenerRegistros
();
});
// Cierra el componente de autocompletar manualmente usando el trigger
console
.
log
(
"this.responsableProgAll2"
,
this
.
responsableProgAll
)
if
(
this
.
autocompleteTrigger
)
{
if
(
usuario
)
{
this
.
autocompleteTrigger
.
closePanel
();
// Verificar si el idUsuario ya existe en los registros
const
usuarioExistente
=
this
.
responsableProgAll
.
find
(
responsable
=>
responsable
.
uzytusuario_id_docente
===
usuario
.
uzytusuario_id
);
if
(
usuarioExistente
)
{
this
.
openModal
(
"El usuario ya existe en los registros."
);
// Puedes mostrar un mensaje en la interfaz aquí si lo deseas
}
else
{
this
.
idUsuario
=
usuario
.
uzytusuario_id
;
console
.
log
(
"idUsuario"
,
this
.
idUsuario
);
this
.
selectedUsuario
=
usuario
;
this
.
myForm
.
get
(
'nombre'
).
patchValue
(
usuario
.
uzytusuario_nombres
+
' '
+
usuario
.
uzytusuario_apellidos
);
this
.
autocompleteVisible
=
false
;
}
}
}
else
{
}
else
{
console
.
log
(
"
no existe el usuario
"
);
console
.
log
(
"
No existe el usuario.
"
);
}
}
}
}
...
@@ -167,30 +150,32 @@ export class AsignacionDocentesComponent implements OnInit {
...
@@ -167,30 +150,32 @@ export class AsignacionDocentesComponent implements OnInit {
obtenerRegistros
()
{
if
(
this
.
idRecuperado
!==
undefined
)
{
this
.
responsableProgService
.
obtenerParametrosRelacionados
(
this
.
idRecuperado
)
.
subscribe
(
data
=>
{
this
.
responsableProgAll
=
data
;
});
}
}
onSubmit
()
{
onSubmit
()
{
if
(
this
.
myForm
.
valid
&&
this
.
myControl
.
valid
)
{
if
(
this
.
myForm
.
valid
)
{
console
.
log
(
"id idUsuario "
,
this
.
idUsuario
)
console
.
log
(
"id idUsuario "
,
this
.
idUsuario
)
this
.
responsableProg
.
uzytavproyec_id
=
this
.
idRecuperado
;
this
.
responsableProg
.
uzytavproyec_id
=
this
.
idRecuperado
;
this
.
responsableProg
.
uzytusuario_id_docente
=
this
.
idUsuario
;
this
.
responsableProg
.
uzytusuario_id_docente
=
this
.
idUsuario
;
this
.
responsableProg
.
uzytavtipres_id
=
this
.
myForm
.
value
.
funcion
this
.
responsableProg
.
uzytavtipres_id
=
this
.
myForm
.
value
.
funcion
this
.
responsableProg
.
uzytavresponsable_prog_g_horas_planif
=
this
.
myForm
.
value
.
numero
this
.
responsableProg
.
uzytavresponsable_prog_g_horas_planif
=
this
.
myForm
.
value
.
numero
/*/
this.docenteParticipante.uzytavcamp_code = this.selectedCampusId.toString();
this.docenteParticipante.uzytavsubj_code = this.selectedDepartamentoId.toString();
this.docenteParticipante.uzytavdocparti_numero = this.myForm.value.numero;
*/
this
.
responsableProgService
.
guardarParametros
(
this
.
responsableProg
).
subscribe
(
this
.
responsableProgService
.
guardarParametros
(
this
.
responsableProg
).
subscribe
(
response
=>
{
response
=>
{
console
.
log
(
"Datos enviados "
,
this
.
responsableProg
)
console
.
log
(
"Datos enviados "
,
this
.
responsableProg
)
this
.
openModal
();
this
.
openModal
(
'El Docente ha sido Agregado'
);
this
.
guardar
()
this
.
guardar
()
this
.
datosCompartidos
.
actualizarDatos
(
this
.
responsableProg
);
this
.
datosCompartidos
.
actualizarDatos
(
this
.
responsableProg
);
},
},
error
=>
{
error
=>
{
console
.
log
(
error
)
console
.
log
(
error
)
//this.router.navigate(['main/Convocatorias']);
}
}
);
);
}
}
...
@@ -215,7 +200,7 @@ export class AsignacionDocentesComponent implements OnInit {
...
@@ -215,7 +200,7 @@ export class AsignacionDocentesComponent implements OnInit {
this
.
tipresService
.
obtenerParametros
().
subscribe
(
this
.
tipresService
.
obtenerParametros
().
subscribe
(
tipres
=>
{
tipres
=>
{
this
.
tipres
=
tipres
.
filter
(
item
=>
item
.
uzytavtipres_id
===
1
||
item
.
uzytavtipres_id
===
2
);
this
.
tipres
=
tipres
.
filter
(
item
=>
item
.
uzytavtipres_id
===
1
||
item
.
uzytavtipres_id
===
2
);
console
.
log
(
"obtenido "
,
tipres
)
console
.
log
(
"obtenido "
,
tipres
)
},
},
error
=>
{
error
=>
{
console
.
log
(
'Error al obtener los tipresService:'
,
error
);
console
.
log
(
'Error al obtener los tipresService:'
,
error
);
...
@@ -244,15 +229,19 @@ export class AsignacionDocentesComponent implements OnInit {
...
@@ -244,15 +229,19 @@ export class AsignacionDocentesComponent implements OnInit {
this
.
cambio
=
false
;
this
.
cambio
=
false
;
this
.
myForm
.
disable
();
this
.
myForm
.
disable
();
this
.
myForm
.
reset
()
this
.
myForm
.
reset
()
this
.
myControl
.
reset
()
if
(
this
.
searchInput
&&
this
.
searchInput
.
nativeElement
)
{
this
.
searchInput
.
nativeElement
.
value
=
''
;
// Vacía el contenido del input
}
}
}
guardar
()
{
guardar
()
{
this
.
cambio
=
false
;
this
.
cambio
=
false
;
this
.
myForm
.
disable
();
this
.
myForm
.
disable
();
this
.
myForm
.
reset
()
this
.
myForm
.
reset
();
this
.
myControl
.
disable
();
this
.
myControl
.
reset
()
if
(
this
.
searchInput
&&
this
.
searchInput
.
nativeElement
)
{
this
.
searchInput
.
nativeElement
.
value
=
''
;
// Vacía el contenido del input
}
}
}
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/listar-docentes-asignados/listar-docentes-asignados.component.css
View file @
f11c7083
This diff is collapsed.
Click to expand it.
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/listar-docentes-asignados/listar-docentes-asignados.component.html
View file @
f11c7083
...
@@ -12,35 +12,43 @@
...
@@ -12,35 +12,43 @@
<!-- Dirección Column -->
<!-- Dirección Column -->
<ng-container
matColumnDef=
"
Campu
s"
class=
"Column"
>
<ng-container
matColumnDef=
"
Nombre
s"
class=
"Column"
>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Campus
</th>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Nombre
</th>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
{{dato.
campus$ | async
}}
</td>
{{dato.
usuario.uzytusuario_nombres
}}
</td>
</ng-container>
</ng-container>
<ng-container
matColumnDef=
"
Departamento
"
class=
"Column"
>
<ng-container
matColumnDef=
"
Apellidos
"
class=
"Column"
>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Departament
o
</th>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Apellid
o
</th>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
{{ dato.
departamento$ | async
}}
{{ dato.
usuario.uzytusuario_apellidos
}}
</td>
</td>
</ng-container>
</ng-container>
<ng-container
matColumnDef=
"Funcion"
class=
"Column"
>
<ng-container
matColumnDef=
"Docentes Participantes"
class=
"Column"
>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Funcion
</th>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Docentes Participantes
</th>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
{{dato.uzytavdocparti_numero}}
</td>
{{ dato.tiPres.uzytavtipres_descrip }}
</td>
</ng-container>
</ng-container>
<ng-container
matColumnDef=
"HorasP"
class=
"Column"
>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Horas Planificadas
</th>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
{{ dato.uzytavresponsable_prog_g_horas_planif }}
</td>
</ng-container>
<ng-container
matColumnDef=
"Acciones"
class=
"Column"
>
<ng-container
matColumnDef=
"Acciones"
class=
"Column"
>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Acciones
</th>
<th
class=
"Column"
mat-header-cell
*
matHeaderCellDef
mat-sort-header
>
Acciones
</th>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
<td
class=
"Column"
mat-cell
*
matCellDef=
"let dato"
>
<!--eliminar-->
<!--eliminar-->
<button>
<button>
<mat-icon
color=
"warn"
(
click
)="
eliminarParametro
(
dato
.
uzytav
docparti
_id
)"
>
delete
</mat-icon>
<mat-icon
color=
"warn"
(
click
)="
eliminarParametro
(
dato
.
uzytav
responsable_prog
_id
)"
>
delete
</mat-icon>
</button>
</button>
</td>
</td>
</ng-container>
</ng-container>
...
@@ -48,14 +56,5 @@
...
@@ -48,14 +56,5 @@
<tr
mat-header-row
*
matHeaderRowDef=
"displayedColumns"
></tr>
<tr
mat-header-row
*
matHeaderRowDef=
"displayedColumns"
></tr>
<tr
mat-row
*
matRowDef=
"let row; columns: displayedColumns;"
></tr>
<tr
mat-row
*
matRowDef=
"let row; columns: displayedColumns;"
></tr>
</table>
</table>
<table>
<!-- Nueva tabla para la fila de total -->
<tr>
<td
class=
"Column1 negrita "
colspan=
"1"
>
Total
</td>
<td
class=
"Column "
>
{{ totalDocentesParticipantes }}
</td>
<td
class=
"Column "
></td>
<td
class=
"Column "
></td>
</tr>
</table>
</div>
</div>
</div>
</div>
\ No newline at end of file
src/app/modules/main/pages/Proyectos/Inicio Ejecución/Asignacion Docentes/listar-docentes-asignados/listar-docentes-asignados.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
Observable
,
of
}
from
'rxjs'
;
import
{
Observable
,
forkJoin
,
of
}
from
'rxjs'
;
import
{
map
}
from
'rxjs/operators'
;
import
{
map
}
from
'rxjs/operators'
;
import
{
DocenteParticipante
}
from
'src/app/modules/main/Models/docente-participante'
;
import
{
DocenteParticipante
}
from
'src/app/modules/main/Models/docente-participante'
;
import
{
Programa
}
from
'src/app/modules/main/Models/programa-v'
;
import
{
Programa
}
from
'src/app/modules/main/Models/programa-v'
;
import
{
Proyectos
}
from
'src/app/modules/main/Models/proyectos'
;
import
{
ResponsableProg
}
from
'src/app/modules/main/Models/responsable-prog'
;
import
{
TiPres
}
from
'src/app/modules/main/Models/tiv-pres'
;
import
{
Usuario
}
from
'src/app/modules/main/Models/usuario'
;
import
{
DatosEspeService
}
from
'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service'
;
import
{
DatosEspeService
}
from
'src/app/modules/main/services/APIs Externas/Datos espe/datos-espe.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
DocentesParticipantesService
}
from
'src/app/modules/main/services/docentes-participantes/docentes-participantes.service'
;
import
{
DocentesParticipantesService
}
from
'src/app/modules/main/services/docentes-participantes/docentes-participantes.service'
;
import
{
MostrarOcultarService
}
from
'src/app/modules/main/services/mostrar-ocultar.service'
;
import
{
ResponsableProgService
}
from
'src/app/modules/main/services/responsable-prog/responsable-prog.service'
;
import
{
TipresService
}
from
'src/app/modules/main/services/tipres/tipres.service'
;
import
{
UsuariosService
}
from
'src/app/modules/main/services/usuarios/usuarios.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
@
Component
({
@
Component
({
selector
:
'app-listar-docentes-asignados'
,
selector
:
'app-listar-docentes-asignados'
,
...
@@ -16,63 +26,96 @@ import { DocentesParticipantesService } from 'src/app/modules/main/services/doce
...
@@ -16,63 +26,96 @@ import { DocentesParticipantesService } from 'src/app/modules/main/services/doce
})
})
export
class
ListarDocentesAsignadosComponent
implements
OnInit
{
export
class
ListarDocentesAsignadosComponent
implements
OnInit
{
idRecuperado
:
number
;
idRecuperado
:
number
;
dataSource
:
MatTableDataSource
<
DocenteParticipante
>
;
dataSource
:
MatTableDataSource
<
ResponsableProg
>
;
docenteParticipante
:
DocenteParticipante
[]
=
[];
docenteParticipante
:
DocenteParticipante
[]
=
[];
programas
:
Programa
[];
// Arreglo de programas obtenidos del servicio
programas
:
Programa
[];
// Arreglo de programas obtenidos del servicio
selectedProgramaId
:
number
;
selectedProgramaId
:
number
;
displayedColumns
:
string
[]
=
[
'Nro'
,
'Campus'
,
'Departamento'
,
'Docentes Participantes'
,
'Acciones'
];
displayedColumns
:
string
[]
=
[
'Nro'
,
'Nombres'
,
'Apellidos'
,
'Funcion'
,
'HorasP'
,
'Acciones'
];
totalDocentesParticipantes
:
number
=
0
;
//total de participantes
totalDocentesParticipantes
:
number
=
0
;
//total de participantes
usuario
!
:
Usuario
[];
tiPres
!
:
TiPres
[];
proyecto
:
Proyectos
responsableProg
!
:
ResponsableProg
[]
constructor
(
constructor
(
private
idCompartido
:
Compartir_idService
,
private
idCompartido
:
Compartir_idService
,
private
datosCompar
:
Actualiza_datosService
,
private
datosCompar
:
Actualiza_datosService
,
private
docentesParticipantesService
:
DocentesParticipantesService
,
private
responsableProgService
:
ResponsableProgService
,
private
datosEspeService
:
DatosEspeService
private
datosEspeService
:
DatosEspeService
,
private
mostrarOcultarService
:
MostrarOcultarService
,
private
datosUsuarioService
:
UsuariosService
,
private
tipresService
:
TipresService
,
private
datosCompartidos
:
Actualiza_datosService
,
private
dialog
:
MatDialog
)
{
)
{
this
.
dataSource
=
new
MatTableDataSource
<
DocenteParticipante
>
([]);
this
.
dataSource
=
new
MatTableDataSource
<
ResponsableProg
>
([]);
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
proyecto
=
this
.
mostrarOcultarService
.
editProyecto
;
this
.
datosCompar
.
datos$
.
subscribe
(()
=>
{
this
.
datosCompar
.
datos$
.
subscribe
(()
=>
{
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
});
});
this
.
docentesParticipantes
Service
.
parametrosActualizados
.
subscribe
(()
=>
{
this
.
responsableProg
Service
.
parametrosActualizados
.
subscribe
(()
=>
{
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
});
});
}
}
obtenerRegistros
()
{
obtenerRegistros
()
{
if
(
this
.
idRecuperado
!==
undefined
)
{
if
(
this
.
idRecuperado
!==
undefined
)
{
this
.
docentesParticipantesService
.
obtenerRegistrosRelacionadosProyecto
(
this
.
idRecuperado
).
this
.
responsableProgService
.
obtenerParametrosRelacionados
(
this
.
idRecuperado
)
subscribe
(
data
=>
{
.
subscribe
(
data
=>
{
this
.
docenteParticipante
=
data
.
map
(
docente
=>
{
if
(
data
!==
undefined
)
{
return
{
const
userObservables
:
Observable
<
Usuario
>
[]
=
[];
...
docente
,
const
tiPresObservables
:
Observable
<
TiPres
>
[]
=
[];
departamento
$
:
this
.
obtenerDatosDepartamento
(
docente
.
uzytavsubj_code
),
campus
$
:
this
.
obtenerDatosCampus
(
docente
.
uzytavcamp_code
)
for
(
const
responsable
of
data
)
{
};
console
.
log
(
"id usuario "
,
responsable
.
uzytusuario_id_docente
)
console
.
log
(
"id obtenerTipres "
,
responsable
.
uzytusuario_id_docente
)
userObservables
.
push
(
this
.
obtenerUsuarios
(
responsable
.
uzytusuario_id_docente
));
tiPresObservables
.
push
(
this
.
obtenerTipres
(
responsable
.
uzytavtipres_id
));
}
forkJoin
([...
userObservables
,
...
tiPresObservables
]).
subscribe
(
results
=>
{
const
users
=
results
.
slice
(
0
,
userObservables
.
length
);
const
tiPres
=
results
.
slice
(
userObservables
.
length
);
this
.
responsableProg
=
data
.
map
((
responsable
,
index
)
=>
({
...
responsable
,
usuario
:
users
[
index
],
tiPres
:
tiPres
[
index
]
}));
console
.
log
(
"this.responsableProg;"
,
this
.
responsableProg
);
this
.
dataSource
.
data
=
this
.
responsableProg
;
});
}
});
});
this
.
dataSource
.
data
=
this
.
docenteParticipante
;
this
.
calcularTotalDocentesParticipantes
();
// Total de docentes
});
}
}
}
}
calcularTotalDocentesParticipantes
()
{
this
.
totalDocentesParticipantes
=
0
;
// Reinicia el total a 0
for
(
const
docente
of
this
.
docenteParticipante
)
{
this
.
totalDocentesParticipantes
+=
docente
.
uzytavdocparti_numero
;
}
obtenerUsuarios
(
id
:
number
){
return
this
.
datosUsuarioService
.
obtenerUsuariosId
(
id
);
}
}
obtenerTipres
(
id
:
number
){
return
this
.
tipresService
.
obtenerParametrosId
(
id
);
}
obtenerDatosCampus
(
codigo
:
string
):
Observable
<
string
>
{
obtenerDatosCampus
(
codigo
:
string
):
Observable
<
string
>
{
return
this
.
datosEspeService
.
obtenerCampus
().
pipe
(
return
this
.
datosEspeService
.
obtenerCampus
().
pipe
(
...
@@ -94,20 +137,32 @@ export class ListarDocentesAsignadosComponent implements OnInit {
...
@@ -94,20 +137,32 @@ export class ListarDocentesAsignadosComponent implements OnInit {
eliminarParametro
(
id
:
number
)
{
eliminarParametro
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Desea eliminar el Docente?'
).
subscribe
(
resutl
=>
{
if
(
confirmacion
)
{
if
(
resutl
)
{
this
.
docentesParticipantesService
.
eliminarParametros
(
id
).
subscribe
(
this
.
responsableProgService
.
eliminarParametros
(
id
).
subscribe
(
()
=>
{
()
=>
{
console
.
log
(
'El registro se ha eliminado'
);
console
.
log
(
'El registro se ha eliminado'
);
this
.
obtenerRegistros
();
this
.
datosCompartidos
.
actualizarDatos
(
this
.
responsableProg
);
},
this
.
obtenerRegistros
();
(
error
)
=>
{
// No mostrar el error en la consola
console
.
log
(
error
)
},
}
(
error
)
=>
{
);
// No mostrar el error en la consola
}
console
.
log
(
error
)
}
);
}
});
}
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/compromiso participacion/add-compromiso/add-compromiso.component.ts
View file @
f11c7083
...
@@ -8,6 +8,10 @@ import { ParametrosdetService } from 'src/app/modules/main/services/parametrosde
...
@@ -8,6 +8,10 @@ import { ParametrosdetService } from 'src/app/modules/main/services/parametrosde
import
{
EnvioFormularioComponent
}
from
'../../../../programa/opciones/envio-formulario/envio-formulario.component'
;
import
{
EnvioFormularioComponent
}
from
'../../../../programa/opciones/envio-formulario/envio-formulario.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Parroquia
}
from
'src/app/modules/main/Models/Ubicaciones/parroquia'
;
import
{
Canton
}
from
'src/app/modules/main/Models/Ubicaciones/canton'
;
import
{
Provincia
}
from
'src/app/modules/main/Models/Ubicaciones/provincia'
;
import
{
UbicacionesService
}
from
'src/app/modules/main/services/Ubicaciones/ubicaciones.service'
;
@
Component
({
@
Component
({
...
@@ -26,13 +30,18 @@ export class AddCompromisoComponent implements OnInit {
...
@@ -26,13 +30,18 @@ export class AddCompromisoComponent implements OnInit {
entidad
:
parametrosdet
[]
=
[];
entidad
:
parametrosdet
[]
=
[];
orga
:
parametrosdet
[]
=
[];
orga
:
parametrosdet
[]
=
[];
institu
:
Instituciones
[]
=
[];
institu
:
Instituciones
[]
=
[];
parroquias
:
Parroquia
[]
=
[];
cantones
:
Canton
[]
=
[];
provincias
:
Provincia
[]
=
[];
constructor
(
constructor
(
private
formBuilder
:
FormBuilder
,
private
formBuilder
:
FormBuilder
,
private
instP
:
ParametrosdetService
,
private
instP
:
ParametrosdetService
,
private
instituS
:
InstitucionesService
,
private
instituS
:
InstitucionesService
,
private
instproyM
:
instproy
,
private
instproyM
:
instproy
,
private
dialog
:
MatDialog
,
private
dialog
:
MatDialog
,
private
datosCompartidos
:
Actualiza_datosService
private
datosCompartidos
:
Actualiza_datosService
,
private
UbicacionesS
:
UbicacionesService
)
{
}
)
{
}
ngOnInit
():
void
{
ngOnInit
():
void
{
...
@@ -62,10 +71,10 @@ export class AddCompromisoComponent implements OnInit {
...
@@ -62,10 +71,10 @@ export class AddCompromisoComponent implements OnInit {
this
.
instproyM
.
uzytparametros_det_id_organizacion
=
this
.
myForm
.
get
(
'organizacionI'
).
value
;
this
.
instproyM
.
uzytparametros_det_id_organizacion
=
this
.
myForm
.
get
(
'organizacionI'
).
value
;
this
.
instproyM
.
uzytavinstproy_declaracion
=
this
.
myForm
.
get
(
'declaracion'
).
value
;
this
.
instproyM
.
uzytavinstproy_declaracion
=
this
.
myForm
.
get
(
'declaracion'
).
value
;
this
.
instP
.
guardarParametros
(
this
.
instproyM
).
subscribe
(
response
=>
{
this
.
instP
.
guardarParametros
(
this
.
instproyM
).
subscribe
(
response
=>
{
this
.
openModal
();
this
.
openModal
(
'Los Datos han sido Enviados'
);
this
.
instP
.
parametrosActualizados
.
next
();
this
.
instP
.
parametrosActualizados
.
next
();
this
.
datosCompartidos
.
actualizarDatos
(
this
.
instproyM
);
this
.
datosCompartidos
.
actualizarDatos
(
this
.
instproyM
);
this
.
formularioGuardado
.
emit
();
});
});
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
'Error al enviar los datos:'
,
error
);
console
.
error
(
'Error al enviar los datos:'
,
error
);
...
@@ -86,11 +95,24 @@ export class AddCompromisoComponent implements OnInit {
...
@@ -86,11 +95,24 @@ export class AddCompromisoComponent implements OnInit {
this
.
instituS
.
obtenerParametros
().
subscribe
(
data
=>
{
this
.
instituS
.
obtenerParametros
().
subscribe
(
data
=>
{
this
.
institu
=
data
;
this
.
institu
=
data
;
});
});
this
.
UbicacionesS
.
obtenerProvincias
().
subscribe
(
data
=>
{
this
.
provincias
=
data
;
});
this
.
UbicacionesS
.
obtenerCant
().
subscribe
(
data
=>
{
this
.
cantones
=
data
;
})
this
.
UbicacionesS
.
obtenerParro
().
subscribe
(
data
=>
{
this
.
parroquias
=
data
;
});
}
}
onInstitucionSelected
(
selectedInstitucionId
:
number
)
{
onInstitucionSelected
(
selectedInstitucionId
:
number
)
{
const
selectedInstitucion
=
this
.
institu
.
find
(
item
=>
item
.
uzytavinstituc_id
===
selectedInstitucionId
);
const
selectedInstitucion
=
this
.
institu
.
find
(
item
=>
item
.
uzytavinstituc_id
===
selectedInstitucionId
);
if
(
selectedInstitucion
)
{
if
(
selectedInstitucion
)
{
this
.
myForm
.
get
(
'provinciaI'
)?.
setValue
(
this
.
getParroquiaNombre
(
selectedInstitucion
.
uzytparroquia_id
));
this
.
myForm
.
get
(
'direccionI'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_calle
);
this
.
myForm
.
get
(
'direccionI'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_calle
);
this
.
myForm
.
get
(
'nombreR'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_nombre
);
this
.
myForm
.
get
(
'nombreR'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_nombre
);
this
.
myForm
.
get
(
'apellidoR'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_apellirl
);
this
.
myForm
.
get
(
'apellidoR'
)?.
setValue
(
selectedInstitucion
.
uzytavinstituc_apellirl
);
...
@@ -100,7 +122,7 @@ export class AddCompromisoComponent implements OnInit {
...
@@ -100,7 +122,7 @@ export class AddCompromisoComponent implements OnInit {
}
}
}
}
openModal
()
{
openModal
(
mensaje
:
string
)
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
const
dialogRef
=
this
.
dialog
.
open
(
EnvioFormularioComponent
,
{
disableClose
:
true
disableClose
:
true
});
});
...
@@ -110,4 +132,15 @@ export class AddCompromisoComponent implements OnInit {
...
@@ -110,4 +132,15 @@ export class AddCompromisoComponent implements OnInit {
this
.
formularioEnviado
=
true
;
this
.
formularioEnviado
=
true
;
});
});
}
}
getParroquiaNombre
(
parroquiaId
:
string
):
string
{
const
parroquia
=
this
.
parroquias
.
find
(
p
=>
p
.
uzytparroquia_id
===
parroquiaId
);
if
(
parroquia
)
{
const
canton
=
this
.
cantones
.
find
(
c
=>
c
.
uzytcanton_id
===
parroquia
.
uzytcanton_id
)
const
prov
=
this
.
provincias
.
find
(
pro
=>
pro
.
uzytprovincia_id
===
canton
.
uzytprovincia_id
)
const
nombre
=
prov
.
uzytprovincia_nombre
.
toLowerCase
();
return
nombre
.
charAt
(
0
).
toUpperCase
()
+
nombre
.
slice
(
1
);
}
return
''
;
}
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/compromiso participacion/list-compromiso/list-compromiso.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
Observable
}
from
'rxjs'
;
import
{
Canton
}
from
'src/app/modules/main/Models/Ubicaciones/canton'
;
import
{
Canton
}
from
'src/app/modules/main/Models/Ubicaciones/canton'
;
import
{
Parroquia
}
from
'src/app/modules/main/Models/Ubicaciones/parroquia'
;
import
{
Parroquia
}
from
'src/app/modules/main/Models/Ubicaciones/parroquia'
;
import
{
Provincia
}
from
'src/app/modules/main/Models/Ubicaciones/provincia'
;
import
{
Provincia
}
from
'src/app/modules/main/Models/Ubicaciones/provincia'
;
...
@@ -11,6 +12,8 @@ import { UbicacionesService } from 'src/app/modules/main/services/Ubicaciones/ub
...
@@ -11,6 +12,8 @@ import { UbicacionesService } from 'src/app/modules/main/services/Ubicaciones/ub
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
ParametrosdetService
}
from
'src/app/modules/main/services/parametrosdet/parametrosdet.service'
;
import
{
ParametrosdetService
}
from
'src/app/modules/main/services/parametrosdet/parametrosdet.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
@
Component
({
@
Component
({
selector
:
'vex-list-compromiso'
,
selector
:
'vex-list-compromiso'
,
...
@@ -36,7 +39,8 @@ export class ListCompromisoComponent implements OnInit {
...
@@ -36,7 +39,8 @@ export class ListCompromisoComponent implements OnInit {
private
instP
:
ParametrosdetService
,
private
instP
:
ParametrosdetService
,
private
ubicacionesS
:
UbicacionesService
,
private
ubicacionesS
:
UbicacionesService
,
private
InstitucionesS
:
InstitucionesService
,
private
InstitucionesS
:
InstitucionesService
,
private
paratS
:
ParametrosdetService
private
paratS
:
ParametrosdetService
,
private
dialog
:
MatDialog
)
{
)
{
this
.
dataSource
=
new
MatTableDataSource
<
instproy
>
([]);
this
.
dataSource
=
new
MatTableDataSource
<
instproy
>
([]);
}
}
...
@@ -169,20 +173,30 @@ export class ListCompromisoComponent implements OnInit {
...
@@ -169,20 +173,30 @@ export class ListCompromisoComponent implements OnInit {
eliminarParametro
(
id
:
number
)
{
eliminarParametro
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Desea Eliminar la Institución?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
instP
.
eliminarParametros
(
id
).
subscribe
(
this
.
instP
.
eliminarParametros
(
id
).
subscribe
(
()
=>
{
()
=>
{
console
.
log
(
'El registro se ha eliminado'
);
console
.
log
(
'El registro se ha eliminado'
);
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
},
},
(
error
)
=>
{
(
error
)
=>
{
// No mostrar el error en la consola
// No mostrar el error en la consola
console
.
log
(
'Error durante el tratamiento al registro'
);
console
.
log
(
'Error durante el tratamiento al registro'
);
}
}
);
);
}
}
});
}
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
src/app/modules/main/pages/Proyectos/Inicio Ejecución/compromiso participacion/list-documentos/list-documentos.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
,
Input
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
Input
}
from
'@angular/core'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
docompar
}
from
'src/app/modules/main/Models/docompar'
;
import
{
docompar
}
from
'src/app/modules/main/Models/docompar'
;
import
{
AddDocumentosComponent
}
from
'../add-documentos/add-documentos.component'
;
import
{
AddDocumentosComponent
}
from
'../add-documentos/add-documentos.component'
;
...
@@ -6,6 +6,8 @@ import { ParametrosdetService } from 'src/app/modules/main/services/parametrosde
...
@@ -6,6 +6,8 @@ import { ParametrosdetService } from 'src/app/modules/main/services/parametrosde
import
{
ActualizarAnexosService
}
from
'src/app/modules/main/services/actualizar_anexos/actualizar-anexos.service'
;
import
{
ActualizarAnexosService
}
from
'src/app/modules/main/services/actualizar_anexos/actualizar-anexos.service'
;
import
{
saveAs
}
from
'file-saver'
;
import
{
saveAs
}
from
'file-saver'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Observable
}
from
'rxjs'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
@
Component
({
@
Component
({
selector
:
'vex-list-documentos'
,
selector
:
'vex-list-documentos'
,
templateUrl
:
'./list-documentos.component.html'
,
templateUrl
:
'./list-documentos.component.html'
,
...
@@ -23,16 +25,16 @@ export class ListDocumentosComponent implements OnInit {
...
@@ -23,16 +25,16 @@ export class ListDocumentosComponent implements OnInit {
)
{
}
)
{
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
obtenerDocumentos
();
this
.
obtenerDocumentos
();
});
});
this
.
pdfService
.
parametrosActualizados
.
subscribe
(()
=>
{
this
.
pdfService
.
parametrosActualizados
.
subscribe
(()
=>
{
this
.
obtenerDocumentos
();
this
.
obtenerDocumentos
();
});
});
}
}
GuardarParametro
(){
GuardarParametro
()
{
const
dialogRef
=
this
.
dialog
.
open
(
AddDocumentosComponent
,
{
const
dialogRef
=
this
.
dialog
.
open
(
AddDocumentosComponent
,
{
data
:
{
idConf
:
this
.
idConf
}
data
:
{
idConf
:
this
.
idConf
}
});
});
...
@@ -70,31 +72,42 @@ export class ListDocumentosComponent implements OnInit {
...
@@ -70,31 +72,42 @@ export class ListDocumentosComponent implements OnInit {
return
'document.pdf'
;
// Nombre predeterminado si no se puede obtener el nombre del archivo
return
'document.pdf'
;
// Nombre predeterminado si no se puede obtener el nombre del archivo
}
}
obtenerDocumentos
(){
obtenerDocumentos
()
{
this
.
pdfService
.
obtenerNombrePDF
().
subscribe
(
data
=>
{
this
.
pdfService
.
obtenerNombrePDF
().
subscribe
(
data
=>
{
this
.
documentoInst
=
data
.
filter
(
item
=>
item
.
uzytavinstproy_id
===
this
.
idConf
);
this
.
documentoInst
=
data
.
filter
(
item
=>
item
.
uzytavinstproy_id
===
this
.
idConf
);
});
});
}
}
descargar
(){
descargar
()
{
}
}
eliminarParametro
(
id
:
number
)
{
eliminarParametro
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Estás seguro de que quieres eliminar este parámetro?'
);
this
.
openModalDelete
(
'¿Desea eliminar el PDF?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
pdfService
.
eliminarPDF
(
id
).
subscribe
(
this
.
pdfService
.
eliminarPDF
(
id
).
subscribe
(
()
=>
{
()
=>
{
// Manejar la eliminación exitosa
// Manejar la eliminación exitosa
console
.
log
(
'Registro eliminado correctamente'
);
console
.
log
(
'Registro eliminado correctamente'
);
this
.
obtenerDocumentos
();
this
.
obtenerDocumentos
();
},
},
(
error
)
=>
{
(
error
)
=>
{
this
.
obtenerDocumentos
();
this
.
obtenerDocumentos
();
// Manejar el error en caso de que ocurra
// Manejar el error en caso de que ocurra
console
.
error
(
'Error al eliminar el registro'
,
error
);
console
.
error
(
'Error al eliminar el registro'
,
error
);
}
}
);
);
}
}
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/pages/Proyectos/Presupuesto detallado/aporte-comunidad/aporte-comunidad.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
Observable
}
from
'rxjs'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
@
Component
({
@
Component
({
selector
:
'app-aporte-comunidad'
,
selector
:
'app-aporte-comunidad'
,
...
@@ -97,6 +99,7 @@ export class AporteComunidadComponent implements OnInit {
...
@@ -97,6 +99,7 @@ export class AporteComunidadComponent implements OnInit {
eliminarParametros
(
id
:
number
)
{
eliminarParametros
(
id
:
number
)
{
this
.
openModalDelete
(
'¿Dsea eliminar el Aporte de la Comunidad?'
).
subscribe
(
result
=>
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
if
(
confirmacion
)
{
if
(
confirmacion
)
{
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
...
@@ -109,7 +112,18 @@ export class AporteComunidadComponent implements OnInit {
...
@@ -109,7 +112,18 @@ export class AporteComunidadComponent implements OnInit {
}
}
);
);
}
}
});
}
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
src/app/modules/main/pages/Proyectos/Presupuesto detallado/aporte-entidad/aporte-entidad.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
Observable
}
from
'rxjs'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
@
Component
({
@
Component
({
...
@@ -51,7 +53,7 @@ export class AporteEntidadComponent implements OnInit {
...
@@ -51,7 +53,7 @@ export class AporteEntidadComponent implements OnInit {
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
});
});
...
@@ -93,24 +95,36 @@ export class AporteEntidadComponent implements OnInit {
...
@@ -93,24 +95,36 @@ export class AporteEntidadComponent implements OnInit {
calcularTotales
()
{
calcularTotales
()
{
this
.
totalSuma
=
this
.
presupuestoPartidas
.
reduce
((
total
,
dato
)
=>
{
this
.
totalSuma
=
this
.
presupuestoPartidas
.
reduce
((
total
,
dato
)
=>
{
return
total
+
dato
.
uzytavpresup_valor
*
dato
.
uzytavpresup_cantidad
;
return
total
+
dato
.
uzytavpresup_valor
*
dato
.
uzytavpresup_cantidad
;
},
0
);
},
0
);
this
.
totalSuma
=
parseFloat
(
this
.
totalSuma
.
toFixed
(
2
));
this
.
totalSuma
=
parseFloat
(
this
.
totalSuma
.
toFixed
(
2
));
}
}
eliminarParametros
(
id
:
number
)
{
eliminarParametros
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Dsea eliminar el Aporte de la Universidad?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
if
(
confirmacion
)
{
(
response
)
=>
{
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
(
response
)
=>
{
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
},
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
(
error
)
=>
{
},
console
.
log
(
'Error during the treatment of the record'
,
error
);
(
error
)
=>
{
}
console
.
log
(
'Error during the treatment of the record'
,
error
);
);
}
}
);
}
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/pages/Proyectos/Presupuesto detallado/aporte-universidad/aporte-universidad.component.ts
View file @
f11c7083
...
@@ -10,6 +10,7 @@ import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_
...
@@ -10,6 +10,7 @@ import { Actualiza_datosService } from 'src/app/modules/main/services/actualiza_
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
PartidasPresupuestariasService
}
from
'src/app/modules/main/services/partidas-presupuestarias/partidas-presupuestarias.service'
;
import
{
PartidasPresupuestariasService
}
from
'src/app/modules/main/services/partidas-presupuestarias/partidas-presupuestarias.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
@
Component
({
@
Component
({
selector
:
'app-aporte-universidad'
,
selector
:
'app-aporte-universidad'
,
...
@@ -166,18 +167,30 @@ export class AporteUniversidadComponent implements OnInit {
...
@@ -166,18 +167,30 @@ export class AporteUniversidadComponent implements OnInit {
eliminarParametros
(
id
:
number
)
{
eliminarParametros
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Dsea eliminar el Aporte de la Universidad?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
(
response
)
=>
{
(
response
)
=>
{
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
},
},
(
error
)
=>
{
(
error
)
=>
{
console
.
log
(
'Error during the treatment of the record'
,
error
);
console
.
log
(
'Error during the treatment of the record'
,
error
);
}
}
);
);
}
}
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/pages/Proyectos/Presupuesto detallado/list-comunidad/list-comunidad.component.ts
View file @
f11c7083
...
@@ -7,6 +7,8 @@ import { PresupuestoPartidas } from 'src/app/modules/main/Models/presupuesto-par
...
@@ -7,6 +7,8 @@ import { PresupuestoPartidas } from 'src/app/modules/main/Models/presupuesto-par
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
import
{
Observable
}
from
'rxjs'
;
@
Component
({
@
Component
({
selector
:
'app-list-comunidad'
,
selector
:
'app-list-comunidad'
,
...
@@ -37,7 +39,7 @@ export class ListComunidadComponent implements OnInit {
...
@@ -37,7 +39,7 @@ export class ListComunidadComponent implements OnInit {
}
}
ngOnInit
():
void
{
ngOnInit
():
void
{
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
idRecuperado
=
parseInt
(
localStorage
.
getItem
(
'proyectoId'
),
10
);
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
datosCompartidos
.
datos$
.
subscribe
(()
=>
{
this
.
obtenerRegistros
();
this
.
obtenerRegistros
();
});
});
...
@@ -78,26 +80,36 @@ export class ListComunidadComponent implements OnInit {
...
@@ -78,26 +80,36 @@ export class ListComunidadComponent implements OnInit {
calcularTotales
()
{
calcularTotales
()
{
this
.
totalSuma
=
this
.
presupuestoPartidas
.
reduce
((
total
,
dato
)
=>
{
this
.
totalSuma
=
this
.
presupuestoPartidas
.
reduce
((
total
,
dato
)
=>
{
return
total
+
dato
.
uzytavpresup_valor
*
dato
.
uzytavpresup_cantidad
;
return
total
+
dato
.
uzytavpresup_valor
*
dato
.
uzytavpresup_cantidad
;
},
0
);
},
0
);
this
.
totalSuma
=
parseFloat
(
this
.
totalSuma
.
toFixed
(
2
));
this
.
totalSuma
=
parseFloat
(
this
.
totalSuma
.
toFixed
(
2
));
}
}
eliminarParametros
(
id
:
number
)
{
eliminarParametros
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Dsea eliminar el Aporte de la Comunidad?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
(
response
)
=>
{
(
response
)
=>
{
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
this
.
obtenerRegistros
();
// Refresh the records after successful deletion
},
},
(
error
)
=>
{
(
error
)
=>
{
console
.
log
(
'Error during the treatment of the record'
,
error
);
console
.
log
(
'Error during the treatment of the record'
,
error
);
}
}
);
);
}
}
});
}
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
src/app/modules/main/pages/Proyectos/Presupuesto detallado/list-entidad/list-entidad.component.ts
View file @
f11c7083
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
Component
,
OnInit
,
ViewChild
}
from
'@angular/core'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatDialog
}
from
'@angular/material/dialog'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
MatTable
,
MatTableDataSource
}
from
'@angular/material/table'
;
import
{
Observable
}
from
'rxjs'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
CatalogoPP
}
from
'src/app/modules/main/Models/catalogo-partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PartidasPresupuestarias
}
from
'src/app/modules/main/Models/partidas-presupuestarias'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
PresupuestoPartidas
}
from
'src/app/modules/main/Models/presupuesto-partidas'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Actualiza_datosService
}
from
'src/app/modules/main/services/actualiza_datos/actualiza_datos.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
Compartir_idService
}
from
'src/app/modules/main/services/compartir_id/compartir_id.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
PresupuestoPartidasService
}
from
'src/app/modules/main/services/presupuesto-partidas/presupuesto-partidas.service'
;
import
{
ConfirmacionEliminacionComponent
}
from
'../../../programa/opciones/ConfirmacionEliminacion/ConfirmacionEliminacion.component'
;
@
Component
({
@
Component
({
selector
:
'app-list-entidad'
,
selector
:
'app-list-entidad'
,
...
@@ -24,7 +26,7 @@ export class ListEntidadComponent implements OnInit {
...
@@ -24,7 +26,7 @@ export class ListEntidadComponent implements OnInit {
politicas
:
any
[]
=
[];
politicas
:
any
[]
=
[];
objetivos
:
any
[]
=
[];
objetivos
:
any
[]
=
[];
presupuestoPartidas
!
:
PresupuestoPartidas
[];
presupuestoPartidas
!
:
PresupuestoPartidas
[];
@
ViewChild
(
MatTable
)
table
:
MatTable
<
any
>
;
@
ViewChild
(
MatTable
)
table
:
MatTable
<
any
>
;
...
@@ -88,8 +90,8 @@ export class ListEntidadComponent implements OnInit {
...
@@ -88,8 +90,8 @@ export class ListEntidadComponent implements OnInit {
eliminarParametros
(
id
:
number
)
{
eliminarParametros
(
id
:
number
)
{
const
confirmacion
=
confirm
(
'¿Desea eliminar el registro?'
);
this
.
openModalDelete
(
'¿Dsea eliminar el Aporte de la Entidad Auspiciante?'
).
subscribe
(
result
=>
{
if
(
confirmacion
)
{
if
(
result
)
{
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
this
.
presupuestoPartidasService
.
eliminarParametros
(
id
).
subscribe
(
(
response
)
=>
{
(
response
)
=>
{
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
console
.
log
(
'El registro se ha eliminado exitosamente.'
);
...
@@ -100,5 +102,16 @@ export class ListEntidadComponent implements OnInit {
...
@@ -100,5 +102,16 @@ export class ListEntidadComponent implements OnInit {
}
}
);
);
}
}
});
}
formularioEnviado
:
boolean
;
openModalDelete
(
mensaje
:
string
):
Observable
<
string
>
{
const
dialogRef
=
this
.
dialog
.
open
(
ConfirmacionEliminacionComponent
,
{
disableClose
:
true
,
data
:
{
mensaje
:
mensaje
}
});
return
dialogRef
.
afterClosed
();
}
}
}
}
src/app/modules/main/services/responsable-prog/responsable-prog.service.ts
View file @
f11c7083
...
@@ -10,9 +10,11 @@ import { ResponsableProg } from '../../Models/responsable-prog';
...
@@ -10,9 +10,11 @@ import { ResponsableProg } from '../../Models/responsable-prog';
})
})
export
class
ResponsableProgService
{
export
class
ResponsableProgService
{
private
readonly
URL
=
environment
.
appApiUrl
+
'/cabevalp'
;
private
readonly
URL
=
environment
.
appApiUrl
+
'/responsableprog'
;
private
readonly
URLRelacionadoProyec
=
environment
.
appApiUrl
+
'/responsableprog/obtenerRegistrosPorProyectID'
;
parametrosActualizados
:
Subject
<
void
>
=
new
Subject
<
void
>
();
parametrosActualizados
:
Subject
<
void
>
=
new
Subject
<
void
>
();
private
idCabEvalProy
:
number
;
private
idCabEvalProy
:
number
;
constructor
(
private
httpClient
:
HttpClient
)
{}
constructor
(
private
httpClient
:
HttpClient
)
{}
...
@@ -25,12 +27,14 @@ export class ResponsableProgService {
...
@@ -25,12 +27,14 @@ export class ResponsableProgService {
return
this
.
httpClient
.
get
<
ResponsableProg
>
(
`
${
this
.
URL
}
/exampleFindId/
${
id
}
`
)
return
this
.
httpClient
.
get
<
ResponsableProg
>
(
`
${
this
.
URL
}
/exampleFindId/
${
id
}
`
)
}
}
obtenerParametrosRelacionados
(
idProyecto
:
number
):
Observable
<
ResponsableProg
[]
>
{
return
this
.
httpClient
.
get
<
ResponsableProg
[]
>
(
`
${
this
.
URLRelacionadoProyec
}
/
${
idProyecto
}
`
)
}
guardarParametros
(
parametros
:
ResponsableProg
):
Observable
<
Object
>
{
guardarParametros
(
parametros
:
ResponsableProg
):
Observable
<
Object
>
{
return
this
.
httpClient
.
post
(
`
${
this
.
URL
+
"/guardar"
}
`
,
parametros
).
pipe
(
return
this
.
httpClient
.
post
(
`
${
this
.
URL
+
"/guardar"
}
`
,
parametros
).
pipe
(
tap
((
response
:
any
)
=>
{
tap
((
response
:
any
)
=>
{
this
.
idCabEvalProy
=
response
.
uzytavcabevalp_id
;
this
.
idCabEvalProy
=
response
.
uzytavcabevalp_id
;
console
.
log
(
"id cabecera evaluacion"
,
this
.
idCabEvalProy
)
// Captura el ID devuelto por el servidor
})
})
);
);
}
}
...
...
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