asignación de comisión completa

parent 02eeca97
...@@ -190,6 +190,7 @@ import { AddIdentificacionPoblacionComponent } from './pages/Proyectos/Diagnosti ...@@ -190,6 +190,7 @@ import { AddIdentificacionPoblacionComponent } from './pages/Proyectos/Diagnosti
import { ListProyectoAsignaComponent } from './pages/asignar comision/list-proyecto-asigna/list-proyecto-asigna.component'; import { ListProyectoAsignaComponent } from './pages/asignar comision/list-proyecto-asigna/list-proyecto-asigna.component';
import { ProyectoAsigComponent } from './pages/asignar comision/proyecto-asig/proyecto-asig.component'; import { ProyectoAsigComponent } from './pages/asignar comision/proyecto-asig/proyecto-asig.component';
import { EnvioFormularioComponent } from './pages/programa/opciones/envio-formulario/envio-formulario.component'; import { EnvioFormularioComponent } from './pages/programa/opciones/envio-formulario/envio-formulario.component';
import { ComisionEvaComponent } from './pages/asignar comision/comision-eva/comision-eva.component';
@NgModule({ @NgModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA], schemas: [CUSTOM_ELEMENTS_SCHEMA],
...@@ -335,7 +336,8 @@ import { EnvioFormularioComponent } from './pages/programa/opciones/envio-formul ...@@ -335,7 +336,8 @@ import { EnvioFormularioComponent } from './pages/programa/opciones/envio-formul
AddIdentificacionPoblacionComponent, AddIdentificacionPoblacionComponent,
ListProyectoAsignaComponent, ListProyectoAsignaComponent,
ProyectoAsigComponent, ProyectoAsigComponent,
EnvioFormularioComponent EnvioFormularioComponent,
ComisionEvaComponent
], ],
imports: [ imports: [
FullCalendarModule, FullCalendarModule,
......
.area-busqueda {
padding: 20px;
margin-top: 30px;
display: flex;
justify-content: space-between;
align-items: center;
}
.contenedorP {
width: 96%;
margin-left: 2%;
margin-right: 2%;
margin: 5px auto;
border-radius: 10px;
text-align: center;
margin-top: 2%;
background-color: white;
}
.mat-mdc-radio-button ~ .mat-mdc-radio-button {
margin-left: 16px;
}
.mat-radio-button{
margin-right: 10px;
}
.form-container {
display: flex;
flex-direction: column;
align-items: center;
width: 80%;
}
.formulario {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 96%;
margin: 0 auto;
background-color: white;
padding: 10px;
border-radius: 10px;
}
.contenedor-dos {
margin-top: 30px;
padding: 0.9375rem 20px;
position: relative;
}
.form-field {
width: 100%;
margin-bottom: 20px;
}
.separator {
margin: 0 5px;
opacity: 0;
pointer-events: none;
}
.separator2 {
margin: 5px 0;
opacity: 0;
pointer-events: none;
}
<div class="contenedorP">
<div>
<form [formGroup]="myForm" (ngSubmit)="onUpdate()">
<mat-label><strong>Asignar la comisión de Evaluación</strong></mat-label>
<mat-form-field class="form-field">
<mat-label>Seleccione un Item</mat-label>
<mat-select formControlName="comision">
<mat-option *ngFor="let item of comisionA"
[value]="item.uzytavcabcomca_id">
{{ item. uzytavcabcomca_decsrip }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-label><strong>Asignar Parametros de Evaluación</strong></mat-label>
<mat-form-field class="form-field">
<mat-label>Seleccione un Item</mat-label>
<mat-select formControlName="preguntas">
<mat-option *ngFor="let item of parametroA"
[value]="item.uzytavconparaeva_id">
{{ item. uzytavconparaeva_descrip }}
</mat-option>
</mat-select>
</mat-form-field>
<!--boton para agregar las fechas-->
<div class="save-button">
<button mat-raised-button color="primary"
[disabled]="!myForm.valid">Agregar
Fecha</button>
<span class="separator"></span>
<button mat-raised-button color="warn"
(click)="cancelarF()">Cancelar</button>
</div>
<div class="separator2"></div>
<!--fecha de inicio-->
</form>
</div>
</div>
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ComisionEvaComponent } from './comision-eva.component';
describe('ComisionEvaComponent', () => {
let component: ComisionEvaComponent;
let fixture: ComponentFixture<ComisionEvaComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ ComisionEvaComponent ]
})
.compileComponents();
fixture = TestBed.createComponent(ComisionEvaComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { EnvioFormularioComponent } from '../../programa/opciones/envio-formulario/envio-formulario.component';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { ComisionEvaluacion } from '../../../Models/Comision de evaluacion/comision-evaluacion';
import { Parametros } from '../../../Models/conf-parametros';
import { Proyectos } from '../../../Models/proyectos';
import { ComisionEvaluacionService } from '../../../services/comision-evaluacion/comision-evaluacion.service';
import { ParametrosService } from '../../../services/conf-parametros/parametros.service';
import { ProyectosService } from '../../../services/proyectos/proyectos.service';
import { MatDialog } from '@angular/material/dialog';
import { Route, Router } from '@angular/router';
@Component({
selector: 'vex-comision-eva',
templateUrl: './comision-eva.component.html',
styleUrls: ['./comision-eva.component.css']
})
export class ComisionEvaComponent implements OnInit {
idRecuperado: number;
myForm: FormGroup
comisionA: ComisionEvaluacion[] = [];
parametroA: Parametros[] = [];
datos: Proyectos;
formularioEnviado: boolean = false;
constructor(
private formBuilder: FormBuilder,
private comiS: ComisionEvaluacionService,
private paraS: ParametrosService,
private proyecM: Proyectos,
private proyecS: ProyectosService,
private dialog: MatDialog,
private router: Router
) {
this.myForm = formBuilder.group({
comision: ['', Validators.required],
preguntas: ['', Validators.required]
});
}
ngOnInit(): void {
this.idRecuperado = parseInt(localStorage.getItem('proyectoId'),10);
this.obtenerRegistros();
}
onUpdate(){
if(this.myForm.valid){
try {
const id_proyecto = this.idRecuperado;
this.proyecM.uzytavcabcomca_id = this.myForm.get("comision").value;
const idcab = this.proyecM.uzytavcabcomca_id;
this.proyecM.uzytavconparaeva_id = this.myForm.get("preguntas").value;
const idpara = this.proyecM.uzytavconparaeva_id;
this.proyecS.modificarParametros(id_proyecto, this.proyecM).subscribe(response => {
localStorage.setItem('comisionId',idcab.toString());
localStorage.setItem('parametrosId',idpara.toString());
this.router.navigate(['main/Asignar-Comision']);
this.setear();
this.openModal();
});
} catch (error) {
console.log(error);
}
}
}
setear(){
this.myForm.patchValue({
comision: [parseInt(localStorage.getItem('comisionId'),10)],
preguntas: [parseInt(localStorage.getItem('parametrosId'),10)]
});
}
cancelarF(){
}
obtenerRegistros(){
this.comiS.obtenerParametros().subscribe(data => {
this.comisionA = data;
});
this.paraS.obtenerParametrosInicial().subscribe(data => {
this.parametroA = data;
});
this.proyecS.obtenerParametrosRela(this.idRecuperado).subscribe(data => {
this.datos = data;
localStorage.setItem('comisionId',this.datos.uzytavcabcomca_id.toString());
localStorage.setItem('parametrosId',this.datos.uzytavconparaeva_id.toString());
});
}
openModal() {
const dialogRef = this.dialog.open(EnvioFormularioComponent, {
width: '400px',
disableClose: true
});
dialogRef.afterClosed().subscribe(result => {
console.log('La ventana modal se ha cerrado');
this.formularioEnviado = true;
});
}
}
...@@ -79,7 +79,7 @@ export class ListProyectoAsignaComponent implements OnInit { ...@@ -79,7 +79,7 @@ export class ListProyectoAsignaComponent implements OnInit {
}; };
}); });
this.dataSource.data = this.proyectos.filter(item => !item.uzytavconvoca_id); this.dataSource.data = this.proyectos.filter(item => item.uzytavcabcomca_id === null && item.uzytavconparaeva_id === null);
}); });
} }
......
...@@ -424,20 +424,7 @@ ...@@ -424,20 +424,7 @@
Asignar Comisión de Evaluación Asignar Comisión de Evaluación
</mat-panel-title> </mat-panel-title>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<vex-add-comision-eva></vex-add-comision-eva> <vex-comision-eva></vex-comision-eva>
<!--fin-->
</mat-expansion-panel>
<mat-expansion-panel (opened)="contraccion = true"
(closed)="contraccion = false">
<mat-expansion-panel-header>
<mat-panel-title>
<mat-icon
[ngClass]="{'expanded': contraccion, 'collapsed': !contraccion}">keyboard_arrow_right</mat-icon>
Asignar Parametros de Evaluación
</mat-panel-title>
</mat-expansion-panel-header>
<vex-add-comision-eva></vex-add-comision-eva>
<!--fin--> <!--fin-->
</mat-expansion-panel> </mat-expansion-panel>
</mat-expansion-panel> </mat-expansion-panel>
......
...@@ -34,6 +34,9 @@ export class ProyectoAsigComponent implements OnInit { ...@@ -34,6 +34,9 @@ export class ProyectoAsigComponent implements OnInit {
} }
volver(){ volver(){
localStorage.removeItem('proyectoId');
localStorage.removeItem('comisionId');
localStorage.removeItem('parametrosId');
this.router.navigate(['main/Asignar-Comision']); this.router.navigate(['main/Asignar-Comision']);
} }
......
...@@ -12,6 +12,7 @@ export class ProyectosService { ...@@ -12,6 +12,7 @@ export class ProyectosService {
parametrosActualizados: Subject<void> = new Subject<void>(); parametrosActualizados: Subject<void> = new Subject<void>();
private readonly URL = environment.appApiUrl + '/proyec'; private readonly URL = environment.appApiUrl + '/proyec';
private readonly URL_ID = environment.appApiUrl + '/proyec/exampleFindId' private readonly URL_ID = environment.appApiUrl + '/proyec/exampleFindId'
private readonly URL_rela = environment.appApiUrl + '/proyec/findCabcomcaIdConparaevaIdByProyecId'
private idGuardado: number; private idGuardado: number;
constructor(private httpClient: HttpClient) {} constructor(private httpClient: HttpClient) {}
...@@ -24,6 +25,10 @@ export class ProyectosService { ...@@ -24,6 +25,10 @@ export class ProyectosService {
return this.httpClient.get<Proyectos>(`${this.URL_ID}/${id}`); return this.httpClient.get<Proyectos>(`${this.URL_ID}/${id}`);
} }
obtenerParametrosRela(id: number): Observable<Proyectos> {
return this.httpClient.get<Proyectos>(`${this.URL_rela}/${id}`);
}
eliminarParametros(id: number): Observable<any> { eliminarParametros(id: number): Observable<any> {
return this.httpClient.delete(`${this.URL}/eliminar/${id}`, { responseType: 'text' }); return this.httpClient.delete(`${this.URL}/eliminar/${id}`, { responseType: 'text' });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment