{"version":3,"sources":["./src/app/material-component/proyecto/componentes/actividad-detalle/actividad-detalle.component.html","./src/app/material-component/proyecto/componentes/actividad-detalle/actividad-detalle.component.ts","./src/app/material-component/proyecto/componentes/componentes.component.html","./src/app/material-component/proyecto/componentes/componentes.component.ts","./src/app/material-component/proyecto/componentes/indicadores-detalle/indicadores-detalle.component.html","./src/app/material-component/proyecto/componentes/indicadores-detalle/indicadores-detalle.component.ts","./src/app/material-component/proyecto/contrapartes-proyecto/contrapartes-proyecto.component.html","./src/app/material-component/proyecto/contrapartes-proyecto/contrapartes-proyecto.component.ts","./src/app/material-component/proyecto/datos-generales/datos-generales.component.html","./src/app/material-component/proyecto/datos-generales/datos-generales.component.ts","./src/app/material-component/proyecto/descripcion-proyecto/descripcion-proyecto.component.html","./src/app/material-component/proyecto/descripcion-proyecto/descripcion-proyecto.component.ts","./src/app/material-component/proyecto/inf-tec-actividades/inf-tec-actividades.component.html","./src/app/material-component/proyecto/inf-tec-actividades/inf-tec-actividades.component.ts","./src/app/material-component/proyecto/inf-tec-componentes/inf-tec-componentes.component.html","./src/app/material-component/proyecto/inf-tec-componentes/inf-tec-componentes.component.ts","./src/app/material-component/proyecto/inf-tec-estado/inf-tec-estado.component.html","./src/app/material-component/proyecto/inf-tec-estado/inf-tec-estado.component.ts","./src/app/material-component/proyecto/inf-tec-indicadores/inf-tec-indicadores.component.html","./src/app/material-component/proyecto/inf-tec-indicadores/inf-tec-indicadores.component.ts","./src/app/material-component/proyecto/messages-proyecto/messages-proyecto.component.html","./src/app/material-component/proyecto/messages-proyecto/messages-proyecto.component.ts","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-card/proyecto-card.component.html","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-card/proyecto-card.component.ts","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-dashboard.component.html","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-dashboard.component.ts","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-detalle/proyecto-detalle.component.html","./src/app/material-component/proyecto/proyecto-dashboard/proyecto-detalle/proyecto-detalle.component.ts","./src/app/material-component/proyecto/proyecto.module.ts"],"names":[],"mappings":"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","file":"proyecto-proyecto-module-ngfactory-es2015.fddfe02321996761b68b.js","sourcesContent":["<div class=\"container\"> \r\n <div class=\"example-table-container\">\r\n <table mat-table [dataSource]=\"datosActividades\" class=\"example-table\" matSort matSortActive=\"created\"\r\n matSortDisableClear matSortDirection=\"desc\" multiTemplateDataRows>\r\n <!-- Unidades Participantes Column -->\r\n <ng-container matColumnDef=\"nombreUE\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Actividades</th>\r\n <td class=\"nombre-actividad-cell\" mat-cell *matCellDef=\"let row\" [title]=\"row.nombre\">\r\n <mat-icon *ngIf=\"row != expandedRow\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"row == expandedRow\">expand_less</mat-icon>\r\n {{ row.nombre }}\r\n </td>\r\n </ng-container>\r\n \r\n <ng-container matColumnDef=\"zona\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Zona</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.zona?.nombreZona}}</td>\r\n </ng-container>\r\n \r\n <ng-container matColumnDef=\"id\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>ID(PRG)</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.id}}</td>\r\n </ng-container>\r\n \r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosCoviar\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos COVIAR</th>\r\n <td mat-cell *matCellDef=\"let row\">$ {{ row.sumaFondosCoviar | number:'':'es' }}</td>\r\n </ng-container>\r\n \r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosContraparte\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos Contraparte</th>\r\n <td mat-cell *matCellDef=\"let row\">$ {{ row.sumaFondosContraParte | number:'':'es' }}</td>\r\n </ng-container>\r\n\r\n <!-- descripcion Column -->\r\n <ng-container matColumnDef=\"descripcion\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Descripción</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <button mat-icon-button (click)=\"showDescripcion($event, row)\">\r\n <mat-icon>remove_red_eye</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n \r\n <!-- Expanded Content Column - The detail row is made up of this one column that spans across all columns -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"actividadesColumns.length\">\r\n <div class=\"coviar-row-detail\"\r\n [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\">\r\n <table class=\"table-inside\">\r\n <thead>\r\n <th>Previsiones</th>\r\n <th *ngFor=\"let mes of row.meses\">\r\n {{mes.substring(0,3)}}\r\n </th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let prev of row.data\">\r\n <td [class]=\"'td-tipo-' + prev.type\">{{prev.nombre}}</td>\r\n <td [class]=\"'td-tipo-value-'+ prev.type\" *ngFor=\"let flujo of prev.data\">\r\n ${{flujo.monto | number:'':'es'}}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n \r\n \r\n </div>\r\n </td>\r\n </ng-container>\r\n \r\n <tr mat-header-row *matHeaderRowDef=\"actividadesColumns\"></tr>\r\n <tr class=\"coviar-row\" mat-row *matRowDef=\"let row; columns: actividadesColumns\"\r\n (click)=\"expandedRow = expandedRow === row ? null : row\"\r\n [class.coviar-expanded-row]=\"expandedRow === row\"\r\n ></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"coviar-detail-row\"></tr>\r\n </table>\r\n </div>\r\n <!-- <mat-paginator [length]=\"resultsLength\" [pageSize]=\"30\"></mat-paginator> -->\r\n \r\n </div>","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IComponente } from '../../../proyecto-UE/IComponente';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { DataExtended, IActividad } from '../../../proyecto-UE/IActividad';\r\nimport { IPrevision } from '../../../proyecto-UE/IPrevision';\r\nimport { tablaActividades } from '../../../shared/utils/utils';\r\nimport { ActividadDescripcionDialog } from '../../../proyecto-UE/cargar-actividades-proyecto/cargar-actividades-proyecto.component';\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-actividad-detalle',\r\n templateUrl: './actividad-detalle.component.html',\r\n styleUrls: ['./actividad-detalle.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class ActividadDetalleComponent implements OnInit {\r\n constructor(\r\n private dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: IComponente\r\n ) { }\r\n datosActividades: any[];\r\n\r\n expandedRow: any | null;\r\n\r\n\r\n actividadesColumns: string[] = [\r\n 'nombreUE',\r\n 'id',\r\n 'zona',\r\n 'fondosCoviar',\r\n 'fondosContraparte',\r\n 'descripcion'\r\n ];\r\n\r\n ngOnInit() {\r\n this.datosActividades = tablaActividades([...this.data.actividades]);\r\n\r\n }\r\n\r\n showDescripcion(event, actividad) {\r\n event.stopPropagation();\r\n // alert(actividad.descripcion);\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.minWidth = '300px';\r\n dialogConfig.data = actividad;\r\n self.dialogRef = this.dialog.open(ActividadDescripcionDialog, dialogConfig);\r\n }\r\n\r\n}\r\n","<section>\r\n <header>\r\n <header-proyecto></header-proyecto>\r\n <h1 class=\"upper-case\" mat-dialog-title>Componentes</h1>\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n\r\n </header>\r\n <div *ngIf=\"datosComponentes && datosComponentes.length > 0\">\r\n <div class=\"example-table-container\">\r\n <table *ngIf=\"datosComponentes.length > 0\" mat-table [dataSource]=\"datosComponentes\" class=\"example-table\" matSort\r\n matSortActive=\"created\" matSortDisableClear matSortDirection=\"desc\">\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <!-- <tr mat-row matRipple class=\"element-row\" *matRowDef=\"let row; columns: displayedColumns\"></tr> -->\r\n <tr mat-row matRipple *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n\r\n <!-- Componentes Column -->\r\n <ng-container matColumnDef=\"nombre\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Componentes</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.nombre }}</td>\r\n </ng-container>\r\n\r\n <!-- Fondos COVIAR Column -->\r\n <ng-container matColumnDef=\"fondosCoviar\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos COVIAR</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n $ {{ row.fondosCoviar | number: \"\":\"es\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Fondos Contraparte Column -->\r\n <ng-container matColumnDef=\"fondosContraparte\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos Contraparte</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n $ {{ row.fondosContraparte | number: \"\":\"es\" }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Actividades Column -->\r\n <ng-container matColumnDef=\"actividades\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Actividades</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n {{ row.actividades ? row.actividades.length : 0 }}\r\n <a class=\"action-link\" (click)=\"verActividad(row)\">\r\n <mat-icon class=\"add\">remove_red_eye</mat-icon>\r\n </a>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Indicadores Column -->\r\n <ng-container matColumnDef=\"indicadores\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicadores</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n {{ row.indicadores ? row.indicadores.length : 0 }}\r\n <a class=\"action-link\" (click)=\"verIndicador(row)\">\r\n <mat-icon class=\"add\">remove_red_eye</mat-icon>\r\n </a>\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <!-- Documentacion Column -->\r\n <ng-container matColumnDef=\"documentacion\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Documentación</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"idProyecto\" [blobType]=\"'componente-' + row._id\">\r\n </material-file-upload>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"action\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef> Accion </th>\r\n <td mat-cell *matCellDef=\"let row\" class=\"action-link\">\r\n <a (click)=\"ver(row)\">Ver</a>\r\n </td>\r\n </ng-container>\r\n\r\n\r\n </table>\r\n </div>\r\n\r\n <mat-paginator [length]=\"resultsLength\" [pageSize]=\"30\"></mat-paginator>\r\n\r\n <h4>Resumen de Actividades</h4>\r\n\r\n <div class=\"example-table-container\">\r\n <ng-template ngFor let-componente [ngForOf]=\"datosComponentes\">\r\n <table *ngIf=\"componente.actividades\" mat-table [dataSource]=\"componente.actividades\"\r\n class=\"example-table resument-table\" matSort matSortActive=\"created\" matSortDisableClear\r\n matSortDirection=\"desc\">\r\n <tr mat-header-row *matHeaderRowDef=\"columnasResumen\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnasResumen\"></tr>\r\n\r\n <!-- Componentes Column -->\r\n <ng-container matColumnDef=\"componente\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>\r\n Componente: <b>{{ componente.nombre }}</b>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.nombre }}</td>\r\n </ng-container>\r\n\r\n <!-- Mes Column -->\r\n <ng-container *ngFor=\"let mes of meses\" matColumnDef=\"{{ mes.toLowerCase() }}\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>{{ mes }}</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-icon *ngIf=\"row.meses && row.meses.indexOf(mes) > -1\">brightness_1</mat-icon>\r\n </td>\r\n </ng-container>\r\n </table>\r\n </ng-template>\r\n </div>\r\n\r\n <h4>Observaciones de Carga Inicial</h4>\r\n\r\n <form class=\"form\" [formGroup]=\"form\">\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea class=\"text-area\" matInput placeholder=\"Ingrese las observaciones de la carga inicial...\"\r\n formControlName=\"observaciones\" matTextareaAutosize matAutosizeMinRows=\"4\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"right-col\"></div>\r\n </div>\r\n </form>\r\n\r\n </div>\r\n\r\n <div class=\"message\" *ngIf=\"!datosComponentes || datosComponentes.length == 0\">\r\n <h4>No hay datos!</h4>\r\n <h5>La unidad ejecutora aun no ha cargado componentes</h5>\r\n </div>\r\n\r\n <footer>\r\n <mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a routerLink=\"/proyecto\">Proyectos</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/datos-generales\">Datos Generales</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/descripcion\">Descripción</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/contrapartes\">Contrapartes</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/componentes\">Componentes</a>\r\n </div>\r\n </mat-dialog-actions>\r\n </footer>\r\n</section>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { IUnidadEjecutora } from '../../unidad-ejecutora/iunidad-ejecutora';\r\nimport { ProyectoService } from '../../proyecto/services/proyecto.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { MatSnackBar, MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { NOMBRE_MESES } from '../../shared/constantes';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { IActividad, DataExtended } from '../../proyecto-UE/IActividad';\r\nimport { IPrevision } from '../../proyecto-UE/IPrevision';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { IndicadoresDetalleComponent } from './indicadores-detalle/indicadores-detalle.component';\r\nimport { ActividadDetalleComponent } from './actividad-detalle/actividad-detalle.component';\r\nimport { configurarComponente } from '../../shared/utils/utils';\r\nimport { ComponenteDetalleComponent } from '../../componentes/componente-detalle/componente-detalle.component';\r\n\r\n\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-componentes',\r\n templateUrl: './componentes.component.html',\r\n styleUrls: ['./componentes.component.scss']\r\n})\r\nexport class ComponentesComponent implements OnInit, OnDestroy {\r\n\r\n form: FormGroup;\r\n unidadesEjecutoras: Array<IUnidadEjecutora>;\r\n idProyecto: string;\r\n isLoading = true;\r\n meses: string[] = NOMBRE_MESES;\r\n\r\n displayedColumns: string[] = [\r\n 'nombre', 'fondosCoviar', 'fondosContraparte', 'actividades', 'indicadores', 'documentacion', 'action'\r\n ];\r\n\r\n columnasResumen: string[] = ['componente'].concat(NOMBRE_MESES).map(\r\n (item: string) => item.toLocaleLowerCase()\r\n );\r\n\r\n datosComponentes: Array<any>;\r\n resultsLength = 0;\r\n\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private dialog: MatDialog,\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _route: ActivatedRoute\r\n ) {\r\n self = this;\r\n\r\n this.form = this._fb.group({\r\n observaciones: [null, [Validators.required]],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n });\r\n\r\n this._proyectoService.getComponentes(this.idProyecto).pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((componentes: IComponente[]) => {\r\n if (componentes) { \r\n this.datosComponentes = componentes.map(x=>configurarComponente(x));\r\n this.resultsLength = this.datosComponentes.length;\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n verValores(componente: IComponente) {\r\n this._router.navigate(\r\n ['proyecto-UE/' + this.idProyecto + '/componente/' + componente._id + '/actividades-valores']\r\n );\r\n }\r\n\r\n verIndicador(componente: IComponente) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = false;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = componente;\r\n self.dialogRef = this.dialog.open(IndicadoresDetalleComponent, dialogConfig);\r\n }\r\n\r\n verActividad(componente: IComponente) { \r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = false;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = componente;\r\n self.dialogRef = this.dialog.open(ActividadDetalleComponent, dialogConfig);\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n ver(componente: IComponente) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {componente, isReadonly: true};\r\n self.dialogRef = this.dialog.open(ComponenteDetalleComponent, dialogConfig);\r\n }\r\n}\r\n","<div class=\"container\">\r\n\r\n <table mat-table [dataSource]=\"datosIndicadores\" class=\"example-table\" matSort matSortActive=\"created\"\r\n matSortDisableClear matSortDirection=\"desc\">\r\n\r\n <!-- Indicador Column -->\r\n <ng-container matColumnDef=\"nombre\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicador</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.nombre }}</td>\r\n </ng-container>\r\n\r\n <!-- Meta Column -->\r\n <ng-container matColumnDef=\"meta\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Meta Anual</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.meta }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"medida\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Medida</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.medida }}</td>\r\n </ng-container>\r\n\r\n <!-- Indicador Agregado Column -->\r\n <ng-container matColumnDef=\"indAgregado\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicador Agregado</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.indAgregado.nombreTipoIndObjetivo }}</td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"indicadoresColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: indicadoresColumns;\"></tr>\r\n </table>\r\n</div>","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IComponente } from '../../../proyecto-UE/IComponente';\r\n\r\n@Component({\r\n selector: 'app-indicadores-detalle',\r\n templateUrl: './indicadores-detalle.component.html',\r\n styleUrls: ['./indicadores-detalle.component.scss']\r\n})\r\nexport class IndicadoresDetalleComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: IComponente) { }\r\n\r\n datosIndicadores: any[];\r\n\r\n indicadoresColumns: string[] = [\r\n 'nombre',\r\n 'meta',\r\n 'medida',\r\n 'indAgregado'\r\n ];\r\n\r\n ngOnInit() {\r\n this.datosIndicadores = this.data.indicadores;\r\n }\r\n\r\n}\r\n","<section>\r\n <header>\r\n <header-proyecto></header-proyecto>\r\n <h1 class=\"upper-case\" mat-dialog-title>CONTRAPARTES</h1>\r\n </header>\r\n\r\n <div *ngIf=\"datosContrapartes && datosContrapartes.length > 0\">\r\n <h4>Unidades Participantes Vinculadas</h4>\r\n <br />\r\n\r\n <div class=\"example-container\">\r\n <div *ngIf=\"datosContrapartes\" class=\"example-table-container\">\r\n <table mat-table [dataSource]=\"datosContrapartes\" class=\"example-table\" matSort matSortActive=\"created\"\r\n matSortDisableClear matSortDirection=\"desc\">\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n\r\n <!-- Unidades Participantes Column -->\r\n <ng-container matColumnDef=\"nombreUE\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Unidades Participantes</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n {{ row.unidadParticipante ? row.unidadParticipante.nombreUP: row.origenFondos }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondos\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n ${{ (row.origenFondos== 'Fondos propios unidad ejecutora' ? row.fondos : row.fondosUP) | number:'':'es' }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- fechaAltaTipoObjetivoEstrategico Column -->\r\n <ng-container matColumnDef=\"viaCoviar\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>VÃa Coviar</th>\r\n\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox [(ngModel)]=\"row.viaCoviar\" disabled=\"true\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Nombre Column -->\r\n <ng-container matColumnDef=\"archivos\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Archivos</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"idProyecto\" [blobType]=\"'contraparte-' + row._id\">\r\n </material-file-upload>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"action\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Accion</th>\r\n <td mat-cell *matCellDef=\"let row\" class=\"action-link\">\r\n <a (click)=\"abrirEditarUP(row, unidadesParticipantes)\">Editar</a> |\r\n <a (click)=\"deleteUP(row)\">Eliminar</a>\r\n </td>\r\n </ng-container>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n\r\n <br />\r\n <br />\r\n </div>\r\n\r\n <div class=\"message\" *ngIf=\"!datosContrapartes || datosContrapartes.length == 0\">\r\n <h4>No hay datos!</h4>\r\n <h5>La unidad ejecutora aun no ha cargado contrapartes</h5>\r\n </div>\r\n\r\n <div>\r\n <h1 class=\"upper-case\" mat-dialog-title>TOTALES DE FONDOS</h1>\r\n\r\n <div class=\"example-container\">\r\n <table class=\"total-fondo\">\r\n <tr>\r\n <td colspan=\"3\"><strong>Fondos COVIAR</strong></td>\r\n <td></td>\r\n <td></td>\r\n <td><strong>${{ totalCoviar | number:'':'es' }}</strong></td>\r\n </tr>\r\n <tr>\r\n <td></td>\r\n <td colspan=\"2\">Contribución Obligatoria</td>\r\n <td></td>\r\n <td>${{ contribucionObligatoria | number:'':'es' }}</td>\r\n <td></td>\r\n </tr>\r\n <tr>\r\n <td></td>\r\n <td colspan=\"2\">Saldo No Ejecutado</td>\r\n <td></td>\r\n <td>${{ saldoNoEjecutado | number:'':'es' }}</td>\r\n <td></td>\r\n </tr>\r\n <tr>\r\n <td colspan=\"3\"><strong>Contraparte</strong></td>\r\n <td></td>\r\n <td></td>\r\n <td><strong>${{ totalContraparte | number:'':'es' }}</strong></td>\r\n </tr>\r\n <tr>\r\n <td></td>\r\n <td colspan=\"2\"><strong>Fondos propios unidad ejecutora</strong></td>\r\n <td></td>\r\n <td>${{ totalFondosUE | number:'':'es' }}</td>\r\n <td></td>\r\n </tr>\r\n <tr>\r\n <td></td>\r\n <td colspan=\"2\"><strong>Unidades participantes</strong></td>\r\n <td></td>\r\n <td>${{ totalFondosUP | number:'':'es' }}</td>\r\n <td></td>\r\n </tr>\r\n\r\n <tr>\r\n <td></td>\r\n <td></td>\r\n <td>Aportes directo</td>\r\n <td>${{ totalAportesDirectos | number:'':'es' }}</td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n\r\n <tr>\r\n <td></td>\r\n <td></td>\r\n <td>Afectación EspecÃfica</td>\r\n <td>${{ totalAfectacionEspecifica | number:'':'es' }}</td>\r\n <td></td>\r\n <td></td>\r\n </tr>\r\n\r\n\r\n <tr class=\"total\">\r\n <td colspan=\"3\"><strong>TOTAL PROYECTO</strong></td>\r\n <td></td>\r\n <td></td>\r\n <td><strong>${{ totalProyecto | number:'':'es' }}</strong></td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n\r\n <br />\r\n </div>\r\n\r\n <footer>\r\n <mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a routerLink=\"/proyecto\">Proyectos</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/datos-generales\">Datos Generales</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/descripcion\">Descripción</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/contrapartes\">Contrapartes</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/componentes\">Componentes</a>\r\n </div>\r\n </mat-dialog-actions>\r\n </footer>\r\n</section>","import { Component, OnDestroy } from '@angular/core';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProyectoService } from '../../proyecto/services/proyecto.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { IProyectoUnidadParticipante } from '../../proyecto-UE/IProyectoUnidadParticipante';\r\nimport { UnidadParticipanteService } from '../../unidad-participante/services/unidad-participante.service';\r\nimport { IUnidadParticipante } from '../../unidad-participante/iunidad-participante';\r\nimport { PresupuestoAnualService } from '../../presupuesto-anual/services/presupuesto-anual.service';\r\nimport { IPresupuestoAnual } from '../../presupuesto-anual/IPresupuestoAnual';\r\nimport * as _ from 'lodash';\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-contrapartes-proyecto',\r\n templateUrl: './contrapartes-proyecto.component.html',\r\n styleUrls: ['./contrapartes-proyecto.component.scss'],\r\n})\r\nexport class ContrapartesProyectoComponent implements OnDestroy {\r\n formularioCargaCuotaPartes: FormGroup;\r\n unidadesParticipantes: IUnidadParticipante[] = [];\r\n idProyecto: string;\r\n isLoading: boolean = true;\r\n\r\n totalCoviar: number = 0;\r\n contribucionObligatoria: number = 0;\r\n saldoNoEjecutado: number = 0;\r\n\r\n totalFondosUP: number = 0;\r\n totalFondosUE: number = 0;\r\n totalContraparte: number = 0;\r\n\r\n totalAportesDirectos: number = 0;\r\n totalAfectacionEspecifica: number = 0;\r\n totalProyecto: number = 0; \r\n displayedColumns: string[] = [\r\n 'nombreUE',\r\n 'fondos',\r\n 'viaCoviar',\r\n 'archivos'\r\n ];\r\n\r\n datosContrapartes: IProyectoUnidadParticipante[] = [];\r\n resultsLength = 0;\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private _uParticipanteService: UnidadParticipanteService,\r\n private _presupuestoAnualService: PresupuestoAnualService,\r\n private _snackBar: MatSnackBar,\r\n private _route: ActivatedRoute\r\n ) {\r\n self = this;\r\n\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n });\r\n \r\n this._presupuestoAnualService.getByIdProyecto(this.idProyecto).subscribe(\r\n (presupuestoAnual: IPresupuestoAnual) => {\r\n if (presupuestoAnual) {\r\n this.totalCoviar = presupuestoAnual.totalPresupuesto;\r\n this.contribucionObligatoria = presupuestoAnual.contribucionObligatoria;\r\n this.saldoNoEjecutado = presupuestoAnual.saldoNoEjecutado;\r\n }\r\n },\r\n (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n\r\n this._uParticipanteService.getUnidadesParticipantes().subscribe(\r\n (opciones: IUnidadParticipante[]) => {\r\n if (opciones) {\r\n this.unidadesParticipantes = opciones;\r\n this._proyectoService\r\n .getProyectoUnidadParticipantes(this.idProyecto)\r\n .pipe(finalize(() => (this.isLoading = false)))\r\n .subscribe((proyectoUPs: IProyectoUnidadParticipante[]) => {\r\n if (proyectoUPs) {\r\n this.datosContrapartes = proyectoUPs;\r\n this.resultsLength = this.datosContrapartes.length;\r\n this.calcularTabla();\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n },\r\n (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n }\r\n\r\n calcularTabla(){\r\n this.totalFondosUE = _(this.datosContrapartes).filter(x=>x.origenFondos == 'Fondos propios unidad ejecutora').sumBy(x=>x.fondos);\r\n this.totalFondosUP = _(this.datosContrapartes).filter(x=>x.origenFondos == 'Fondos unidad participante').sumBy(x=>x.fondosUP);\r\n this.totalContraparte = this.totalFondosUE + this.totalFondosUP;\r\n this.totalAportesDirectos = _(this.datosContrapartes).filter(x=>x.origenFondos == 'Fondos unidad participante' && !x.viaCoviar).sumBy(x=>x.fondosUP);\r\n this.totalAfectacionEspecifica = _(this.datosContrapartes).filter(x=>x.origenFondos == 'Fondos unidad participante' && x.viaCoviar).sumBy(x=>x.fondosUP);\r\n this.totalProyecto = this.totalContraparte + this.totalCoviar;\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"example-loading-shade\" *ngIf=\"isLoading \">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n</div>\r\n\r\n<div *ngIf=\"proyecto\">\r\n <header-proyecto></header-proyecto>\r\n <h1 mat-dialog-title>DATOS GENERALES</h1>\r\n\r\n <mat-list>\r\n <!--mat-list-item>\r\n <b>CLONADO:</b> {{ proyecto.proyectoClonado ? 'SI' : 'NO' }}\r\n </mat-list-item-->\r\n <mat-list-item>\r\n <b>INICIO:</b> {{ meses[proyecto.fechaInicioProyecto - 1] }}\r\n </mat-list-item>\r\n <mat-list-item>\r\n <b>DURACION:</b> {{ proyecto.duracionProyecto }} meses\r\n </mat-list-item>\r\n <mat-list-item>\r\n <b>RESPONSABLE:</b>\r\n {{ (proyecto.idResponsable?.apellidoUsuario || '') + ', ' + (proyecto.idResponsable?.nombreUsuario || '')\r\n }}\r\n <b>CORREO:</b> {{ proyecto.idResponsable?.mailUsuario }}\r\n <b>CELULAR:</b> {{ proyecto.idResponsable?.celUsuario }}\r\n <b>TEL ALTERNATIVO:</b> {{ proyecto.idResponsable?.telefonoAlternativo }}\r\n </mat-list-item>\r\n\r\n <h1 mat-dialog-title>PLAN ESTRATÉGICO: {{periodoFiscalProyecto?.planEstrategico?.nombre}}</h1>\r\n\r\n <!-- ---------------------------------------------------------------------------------------------------------------- -->\r\n <ng-container *ngIf=\"periodoFiscalProyecto?.planEstrategico?.nombre == 'PEVI 2030'\">\r\n <div class=\"row\" style=\"width: 100%; text-align: center; padding: 25px;\">\r\n <button class=\"volver-btn m-2\" mat-raised-button (click)=\"resumenAccionesEstrategicasModal()\"\r\n style=\"background-color: rgb(118, 0, 0); color: white; font-size: 16px;\">\r\n VER RESUMEN SELECCIONADAS\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- ---------------------------------------------------------------------------------------------------------------- -->\r\n <ng-container *ngIf=\"periodoFiscalProyecto?.planEstrategico?.nombre == 'PEVI 2020'\">\r\n\r\n <mat-list-item>\r\n <b>OBJETIVOS ESTRATEGICOS:</b> \r\n </mat-list-item>\r\n\r\n <mat-list-item *ngFor=\"let objEstrategico of objetivosDelProyecto\">\r\n {{ objEstrategico.idTipoObjetivoEstrategico.nombreTipoObjetivoEstrategico }}\r\n </mat-list-item>\r\n\r\n <mat-list-item>\r\n <b>ACCIONES ESTRATEGICAS:</b> \r\n </mat-list-item>\r\n\r\n <mat-list-item *ngFor=\"let accionEstrategica of accionesDelProyecto\">\r\n {{ accionEstrategica.idTipoAccionEstrategica.nombreTipoAccionEstrategica }}\r\n </mat-list-item>\r\n\r\n <mat-list-item class=\"ind-objetivo\">\r\n <b>INDICADORES DE OBJETIVO:</b>\r\n </mat-list-item>\r\n <mat-list-item *ngFor=\"let indObjetivo of indicadoresObjetivos\">\r\n {{ indObjetivo.nombreTipoIndObjetivo }}\r\n </mat-list-item>\r\n\r\n <mat-list-item>\r\n <b>INDICADORES DE GESTION:</b> \r\n </mat-list-item>\r\n\r\n <mat-list-item *ngFor=\"let indGestion of indicadoresGestion\">\r\n {{ indGestion.nombre }}\r\n </mat-list-item>\r\n\r\n </ng-container>\r\n <!-- ---------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <mat-list-item>\r\n <b>Mesa Ejecutiva:</b>\r\n </mat-list-item>\r\n <mat-list-item class=\"auto-height\">\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"idProyecto\" blobType=\"formulacionMesaEjecutiva\"></material-file-upload>\r\n </mat-list-item>\r\n\r\n <mat-list-item>\r\n <b>Evaluación de mérito:</b>\r\n </mat-list-item>\r\n <mat-list-item class=\"auto-height\">\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"idProyecto\" blobType=\"formulacionEvaluacionMerito\"></material-file-upload>\r\n </mat-list-item>\r\n\r\n <mat-list-item>\r\n <b>FORO VALIDACIÓN:</b>\r\n </mat-list-item>\r\n <mat-list-item class=\"auto-height\">\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"idProyecto\" blobType=\"foroValidacion\"></material-file-upload>\r\n </mat-list-item>\r\n\r\n <mat-list-item>\r\n <b>ACCIONES ESTRATÉGICAS:</b>\r\n </mat-list-item>\r\n <mat-list-item>\r\n <b>PLAN ESTRATÉGICO PDF:</b>\r\n </mat-list-item>\r\n <mat-list-item class=\"auto-height\">\r\n <section>\r\n <material-file-upload [entityId]=\"idProyecto\" blobType=\"cargaPdfAccionesEstrategicas\" [isReadOnly]=\"true\">\r\n </material-file-upload>\r\n </section>\r\n </mat-list-item>\r\n </mat-list>\r\n\r\n <mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a routerLink=\"/proyecto\">Proyectos</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/datos-generales\">Datos Generales</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/descripcion\">Descripción</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/contrapartes\">Contrapartes</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/componentes\">Componentes</a>\r\n </div>\r\n </mat-dialog-actions>\r\n</div>","import { Component, OnInit, OnDestroy, ViewEncapsulation, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatSnackBar } from '@angular/material';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { IProyecto } from '../../proyecto/IProyecto';\r\nimport { NOMBRE_MESES_ORDENADO } from '../../shared/constantes';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { ProyectoService } from '../services/proyecto.service';\r\nimport { ITipoObjetivoEstrategico } from '../../tipo-objetivo-estrategico/itipo-objetivo-estrategico';\r\nimport { ITipoAccionEstrategica } from '../../tipo-accion-estrategica/itipo-accion-estrategica';\r\nimport { UsuarioService } from '../../usuarios-UE/services/usuario.service';\r\nimport { IUsuarioUE } from '../../usuarios-UE/IUsuarioUE';\r\nimport { IUsuario } from '../../usuarios-UE/IUsuario';\r\nimport { IProyectoObjetivoEstrategico } from '../../proyecto-UE/IProyecto';\r\nimport { ITipoIndicadorObjetivo } from '../../tipo-indicador-objetivo/itipo-indicador-objetivo';\r\nimport { IIndicadorGestion } from '../../indicador-gestion/iindicador-gestion';\r\nimport { TipoIndicadorObjetivoService } from '../../tipo-indicador-objetivo/services/tipo-indicador-objetivo.service';\r\nimport { IndicadorGestionService } from '../../indicador-gestion/services/indicador-gestion.service';\r\nimport { PeriodoFiscalService } from '../../periodo-fiscal/services/periodo-fiscal.service';\r\nimport { IPlanEstrategico } from '../../plan-estrategico/i-plan-estrategico';\r\nimport { IPeriodoFiscal } from '../../periodo-fiscal/i-periodo-fiscal';\r\nimport { ResumenAccionesEstrategicasModal } from '../../proyecto-UE/resumen-acciones-estrategicas-modal/resumen-acciones-estrategicas-modal.component';\r\n\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-datos-generales',\r\n templateUrl: './datos-generales.component.html',\r\n styleUrls: ['./datos-generales.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DatosGeneralesComponent implements OnInit, OnDestroy {\r\n\r\n idProyecto: string;\r\n proyecto: IProyecto;\r\n meses: any = NOMBRE_MESES_ORDENADO;\r\n usuarios: IUsuario[] = [];\r\n periodoFiscalProyecto: IPeriodoFiscal = {};\r\n objetivosDelProyecto: IProyectoObjetivoEstrategico[] = [];\r\n accionesDelProyecto: ITipoAccionEstrategica[] = [];\r\n indicadoresObjetivos: ITipoIndicadorObjetivo[];\r\n indicadoresGestion: IIndicadorGestion[];\r\n isLoading = false;\r\n\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n fileUploadQueue: ElementRef,\r\n private _fb: FormBuilder,\r\n private _proyectoService: ProyectoService,\r\n private _usuarioService: UsuarioService,\r\n private _indicadorObjetivoService: TipoIndicadorObjetivoService,\r\n private _indicadorGestionService: IndicadorGestionService,\r\n private _periodoFiscalService: PeriodoFiscalService,\r\n private dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _route: ActivatedRoute\r\n ) {\r\n self = this;\r\n }\r\n\r\n ngOnInit() {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n });\r\n\r\n this._proyectoService.getProyectoById(this.idProyecto).pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((proyecto: IProyecto) => {\r\n this.proyecto = proyecto;\r\n\r\n this._periodoFiscalService.getPeriodoFiscalById(this.proyecto.presupuestoAnualProyecto.periodoFiscalCoviar)\r\n .subscribe((periodoFiscal: any) => {\r\n if (periodoFiscal) {\r\n this.periodoFiscalProyecto = periodoFiscal;\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n this._proyectoService.getTiposObjetivosEstrategicosCompleto(this.idProyecto).pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((objetivosDelProyecto: Array<ITipoObjetivoEstrategico>) => {\r\n if (objetivosDelProyecto) {\r\n this.objetivosDelProyecto = objetivosDelProyecto;\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n this._proyectoService.getTiposAccionesEstrategicasCompleto(this.idProyecto).subscribe(\r\n (accionesEstrategicas: Array<ITipoAccionEstrategica>) => {\r\n if (accionesEstrategicas) {\r\n this.accionesDelProyecto = accionesEstrategicas;\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n\r\n this._indicadorObjetivoService.getTiposIndicadoresObjetivos().subscribe(\r\n (indicadoresObjetivos: ITipoIndicadorObjetivo[]) => {\r\n this.indicadoresObjetivos = indicadoresObjetivos;\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n\r\n this._indicadorGestionService.getAll().pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((indicadoresGestion: IIndicadorGestion[]) => {\r\n this.indicadoresGestion = indicadoresGestion;\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n this._usuarioService.getUsuariosUE().pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((usuariosUE: IUsuarioUE[]) => {\r\n usuariosUE.forEach((usuarioUE: IUsuarioUE) => {\r\n this.usuarios.push(usuarioUE.usuario);\r\n });\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n\r\n\r\n resumenAccionesEstrategicasModal() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.width = '930px';\r\n dialogConfig.data = {\r\n proyectoId: this.proyecto._id\r\n }\r\n self.dialogRef = this.dialog.open(ResumenAccionesEstrategicasModal, dialogConfig);\r\n\r\n self.dialogRef.afterClosed().subscribe((result: any) => {\r\n self.dialogRef = null;\r\n });\r\n }\r\n\r\n\r\n volver() {\r\n this._router.navigate(['proyecto']);\r\n }\r\n\r\n siguiente() {\r\n this._router.navigate(['proyecto/' + this.idProyecto + '/descripcion']);\r\n }\r\n\r\n handleError(error: Error) {\r\n console.error(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n isInArray(value: string, myArray: any[], modelName: string) {\r\n const BreakException = null;\r\n let isInArray = false;\r\n\r\n try {\r\n myArray.forEach((arrayValue: any) => {\r\n if (arrayValue['id' + modelName] === value) {\r\n throw new BreakException;\r\n }\r\n });\r\n } catch (error) {\r\n isInArray = true;\r\n }\r\n\r\n return isInArray;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n}\r\n","<form\r\n *ngIf=\"proyecto && formularioDescripcion\"\r\n class=\"form\"\r\n [formGroup]=\"formularioDescripcion\"\r\n>\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n\r\n <header-proyecto></header-proyecto>\r\n <h1 class=\"upper-case\" mat-dialog-title>Descripción</h1>\r\n\r\n <input type=\"hidden\" formControlName=\"_id\" />\r\n\r\n <mat-list>\r\n <mat-list-item id=\"situacionInicial\"><h5 class=\"example-h3\">Situación inicial</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n {{ proyecto.descripcion?.situacionInicial }} \r\n \r\n\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"proyecto._id\" blobType=\"situacionInicial\" ></material-file-upload>\r\n </div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n class=\"text-area\"\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"situacionInicial\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n <mat-list-item id=\"descripcionProblema\"><h5 class=\"example-h3\">Descripcion del Problema</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n {{ proyecto.descripcion?.descripcionProblema }}\r\n \r\n\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"proyecto._id\" blobType=\"descripcionProblema\" ></material-file-upload>\r\n\r\n </div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"descripcionProblema\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n <mat-list-item id=\"objetivo\"><h5 class=\"example-h3\">Objetivo</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">{{ proyecto.descripcion?.objetivo }}</div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n class=\"text-area\"\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"objetivo\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n <mat-list-item id=\"beneficiarios\"><h5 class=\"example-h3\">Beneficiarios</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n {{ proyecto.descripcion?.beneficiarios }}\r\n \r\n \r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"proyecto._id\" blobType=\"beneficiarios\" ></material-file-upload>\r\n\r\n </div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n class=\"text-area\"\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"beneficiarios\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n <mat-list-item id=\"justificacion\"><h5 class=\"example-h3\">Justificación</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n {{ proyecto.descripcion?.justificacion }}\r\n \r\n\r\n <material-file-upload isReadOnly=\"true\" [entityId]=\"proyecto._id\" blobType=\"justificacion\" ></material-file-upload>\r\n\r\n </div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n class=\"text-area\"\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"justificacion\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n <mat-list-item id=\"descripcionProyecto\"><h5 class=\"example-h3\">Descripción del Proyecto</h5></mat-list-item>\r\n <mat-list-item>\r\n <div class=\"col-container\">\r\n <div class=\"left-col\">\r\n {{ proyecto.descripcion?.descripcionProyecto }}\r\n </div>\r\n <div class=\"right-col\" *ngIf=\"puedeEditar\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <textarea\r\n class=\"text-area\"\r\n matInput\r\n placeholder=\"Observaciones\"\r\n formControlName=\"descripcionProyecto\"\r\n matTextareaAutosize\r\n matAutosizeMinRows=\"4\"\r\n ></textarea>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-list-item>\r\n </mat-list>\r\n</form>\r\n\r\n<mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a routerLink=\"/proyecto\">Proyectos</a> |\r\n <a routerLink=\"/proyecto/{{ proyecto._id }}/datos-generales\"\r\n >Datos Generales</a\r\n >\r\n |\r\n <a routerLink=\"/proyecto/{{ proyecto._id }}/descripcion\">Descripción</a> |\r\n <a routerLink=\"/proyecto/{{ proyecto._id }}/contrapartes\">Contrapartes</a> |\r\n <a routerLink=\"/proyecto/{{ proyecto._id }}/componentes\">Componentes</a>\r\n </div>\r\n <button class=\"mat-raised-button action-button\" (click)=\"save()\">\r\n Guardar\r\n </button>\r\n</mat-dialog-actions>\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProyectoService } from '../../proyecto/services/proyecto.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { IProyecto } from '../../proyecto/IProyecto';\r\nimport { IDescripcion } from '../../proyecto/IDescripcion';\r\nimport { IObservaciones } from '../IObservaciones';\r\nimport { UsuarioService } from '../../usuarios-UE/services/usuario.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-descripcion-proyecto-coviar',\r\n templateUrl: './descripcion-proyecto.component.html',\r\n styleUrls: ['./descripcion-proyecto.component.scss']\r\n})\r\nexport class DescripcionProyectoComponent implements OnInit, OnDestroy {\r\n\r\n formularioDescripcion: FormGroup;\r\n isLoading = false;\r\n proyecto: IProyecto = <IProyecto> { _id: null };\r\n puedeEditar = false;\r\n\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _route: ActivatedRoute,\r\n private _usuarioService: UsuarioService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.proyecto._id = params['idProyecto'];\r\n });\r\n\r\n this._proyectoService.getProyectoById(this.proyecto._id).pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((proyecto: IProyecto) => {\r\n this.proyecto = proyecto;\r\n\r\n this.formularioDescripcion = this._fb.group({\r\n _id: this.proyecto._id,\r\n situacionInicial: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.situacionInicial : null, []\r\n ],\r\n descripcionProblema: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.descripcionProblema : null, []\r\n ],\r\n objetivo: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.objetivo : null, []\r\n ],\r\n beneficiarios: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.beneficiarios : null, []\r\n ],\r\n justificacion: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.justificacion : null, []\r\n ],\r\n descripcionProyecto: [\r\n this.proyecto.observaciones && this.proyecto.observaciones.descripcion ?\r\n this.proyecto.observaciones.descripcion.descripcionProyecto : null, []\r\n ],\r\n });\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n this.applyRoles();\r\n }\r\n\r\n save() {\r\n this.proyecto.observaciones = this.proyecto.observaciones || <IObservaciones>{\r\n descripcion: <IDescripcion> {\r\n beneficiarios: '',\r\n descripcionProblema: '',\r\n descripcionProyecto: '',\r\n justificacion: '',\r\n objetivo: '',\r\n situacionInicial: ''\r\n }\r\n }\r\n \r\n this.proyecto.observaciones.descripcion = <IDescripcion> this.formularioDescripcion.value;\r\n\r\n this._proyectoService.updateProyecto(this.proyecto)\r\n .subscribe(\r\n (response: any) => {\r\n alert('¡Las observaciones han sido realizadas con éxito!');\r\n }, (error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n applyRoles(){\r\n this._usuarioService.getUsuario().subscribe((usuario)=>{\r\n if (!usuario || !usuario.permisos){\r\n return;\r\n }\r\n this.puedeEditar = usuario.permisos.editar; \r\n });\r\n }\r\n}\r\n","<div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner></mat-spinner>\r\n</div>\r\n\r\n<header-proyecto></header-proyecto>\r\n<div class=\"content\" fxLayout=\"row wrap\" fxLayoutGap=\"8px grid\">\r\n <div fxFlex=\"100%\" fxFlex.sm=\"100%\" fxFlex.md=\"50%\" fxFlex.lg=\"50%\" fxFlex.xl=\"50%\">\r\n <h1 class=\"upper-case\" mat-dialog-title>Listado de actividades informadas</h1>\r\n </div>\r\n <div fxFlex=\"100%\" fxFlex.sm=\"100%\" fxFlex.md=\"50%\" fxFlex.lg=\"50%\" fxFlex.xl=\"50%\">\r\n <ul class=\"leyenda upper-case\">\r\n <li>\r\n <mat-icon class=\"actv\" estado=\"indefinida\">brightness_1</mat-icon><span>Programada</span>\r\n </li>\r\n <li>\r\n <mat-icon class=\"actv\" estado=\"realizada\">brightness_1</mat-icon><span>Realizada</span>\r\n </li>\r\n <li>\r\n <mat-icon class=\"actv\" estado=\"postergada\">brightness_1</mat-icon><span>Postergada</span>\r\n </li>\r\n <li>\r\n <mat-icon class=\"actv\" estado=\"cancelada\">brightness_1</mat-icon><span>Cancelada</span>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n\r\n\r\n<table *ngIf=\"componente.actividades\" mat-table [dataSource]=\"componente.actividades\"\r\n class=\"example-table resument-table\" matSort matSortActive=\"created\" matSortDisableClear matSortDirection=\"desc\"\r\n multiTemplateDataRows>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnasResumen\"></tr>\r\n <tr class=\"coviar-row\" (click)=\"expandedRow = expandedRow === row ? null : row\"\r\n [class.coviar-expanded-row]=\"expandedRow === row\" mat-row *matRowDef=\"let row; columns: columnasResumen;\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"coviar-detail-row\"></tr>\r\n\r\n <!-- Componentes Column -->\r\n <ng-container matColumnDef=\"actividad\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Actividad</th>\r\n <td class=\"expander nombre-actividad-cell\" mat-cell *matCellDef=\"let row\" [title]=\"row.nombre\">\r\n <mat-icon *ngIf=\"row != expandedRow\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"row == expandedRow\">expand_less</mat-icon>\r\n {{ row.nombre }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"id\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>ID(PRG)</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.id}}</td>\r\n </ng-container>\r\n\r\n <!-- Mes Column -->\r\n <ng-container *ngFor=\"let mes of meses\" matColumnDef=\"{{ mes.toLowerCase() }}\">\r\n <th class=\"coviar-th center-cell\" mat-header-cell *matHeaderCellDef>{{ mes.substring(0,3) }}</th>\r\n <td class=\"center-cell\" mat-cell *matCellDef=\"let row\">\r\n <mat-icon class=\"actv action\" [attr.estado]=\"row?.estado[mes].value || 'indefinida'\"\r\n *ngIf=\"row.meses && row.meses.indexOf(mes) > -1\">\r\n brightness_1</mat-icon>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td class=\"expandedDetail-cell\" mat-cell *matCellDef=\"let row\" [attr.colspan]=\"columnasResumen.length\">\r\n <div [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" class=\"content coviar-row-detail\"\r\n fxLayout=\"row wrap\" fxLayoutGap=\"4px grid\">\r\n <div fxFlex=\"100%\" fxFlex.sm=\"100%\" fxFlex.md=\"50%\" fxFlex.lg=\"25%\" fxFlex.xl=\"25%\"\r\n *ngFor=\"let informe of row.informeActividad\">\r\n <mat-card class=\"mat-elevation-z8\">\r\n <mat-card-header>\r\n <mat-card-title>{{informe.titulo}}</mat-card-title>\r\n <mat-card-subtitle>{{informe.subtitulo}}</mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-label>Info. Adicional</mat-label>\r\n <p class=\"card-field\">{{informe.infoAdicional}}</p>\r\n\r\n <mat-label>Verificación</mat-label>\r\n <material-file-upload [buttonHidden]=\"true\" [entityId]=\"idProyecto + informe._id\" [isReadOnly]=\"true\"\r\n [blobType]=\"informe._id\"></material-file-upload>\r\n <material-file-upload [buttonHidden]=\"true\" [entityId]=\"idProyecto\" [isReadOnly]=\"true\"\r\n [blobType]=\"informe._id\"></material-file-upload>\r\n <material-file-upload [needRed]=\"false\" text=\"Cargar verificación\" [isReadOnly]=\"true\"\r\n [entityId]=\"idProyecto\" [blobType]=\"idProyecto + informe._id\"></material-file-upload>\r\n\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n</table>\r\n\r\n<br>\r\n\r\n<mat-dialog-actions class=\"botones-accion\">\r\n <button class=\"mat-raised-button volver-btn\" (click)=\"volver()\">\r\n Volver\r\n </button>\r\n</mat-dialog-actions>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { ProyectoService } from '../../proyecto-UE/services/proyecto.service';\r\nimport { NOMBRE_MESES } from '../../shared/constantes';\r\nimport { configurarComponente } from '../../shared/utils/utils';\r\nimport { IActividad } from '../../proyecto-UE/IActividad';\r\n\r\n@Component({\r\n selector: 'app-inf-tec-actividades',\r\n templateUrl: './inf-tec-actividades.component.html',\r\n styleUrls: ['./inf-tec-actividades.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class InfTectActividadesComponent implements OnInit, OnDestroy {\r\n\r\n private routeSubscription: Subscription;\r\n\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n private _route: ActivatedRoute,\r\n private _router: Router,\r\n ) {\r\n\r\n }\r\n\r\n componente: IComponente = <IComponente>{};\r\n idProyecto: string;\r\n isLoading = true;\r\n\r\n meses: string[] = NOMBRE_MESES;\r\n expandedRow: IActividad | null;\r\n\r\n\r\n\r\n columnasResumen: string[] = ['actividad', 'id'].concat(NOMBRE_MESES).map(\r\n (item: string) => item.toLocaleLowerCase()\r\n );\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n this.componente._id = params['idComponente'];\r\n });\r\n\r\n this._proyectoService.getComponenteById(this.componente._id).pipe(\r\n finalize(() => (this.isLoading = false))\r\n ).subscribe((componente: IComponente) => {\r\n\r\n this.componente = configurarComponente(componente);\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this.isLoading = false;\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n \r\n\r\n volver(){\r\n this._router.navigate(['proyecto/' + this.idProyecto + '/inf-tec-componentes']);\r\n }\r\n\r\n\r\n}","<section>\r\n <header>\r\n <header-proyecto></header-proyecto>\r\n </header>\r\n\r\n <section>\r\n <h1 class=\"upper-case\" mat-dialog-title>Listado de componentes informados</h1>\r\n\r\n <div *ngIf=\"datosComponentes && datosComponentes.length > 0\">\r\n <div class=\"example-table-container\">\r\n <table *ngIf=\"datosComponentes\" mat-table [dataSource]=\"datosComponentes\" class=\"example-table\" matSort\r\n matSortActive=\"created\" matSortDisableClear matSortDirection=\"desc\">\r\n \r\n <!-- Componentes Column -->\r\n <ng-container matColumnDef=\"nombre\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Componentes</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.nombre }}</td>\r\n </ng-container>\r\n \r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosCoviar\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos COVIAR</th>\r\n <td mat-cell *matCellDef=\"let row\">${{ row.fondosCoviar | number:'':'es' }}</td>\r\n </ng-container>\r\n \r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosContraparte\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos Contraparte</th>\r\n <td mat-cell *matCellDef=\"let row\">${{ row.fondosContraparte | number:'':'es' }}</td>\r\n </ng-container>\r\n \r\n <!-- Actividades Column -->\r\n <ng-container matColumnDef=\"actividades\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Actividades</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n {{ row.actividades ? row.actividades.length : 0 }}\r\n <a *ngIf=\"row.actividades && row.actividades.length > 0\" title=\"Informar actividades\" class=\"action-link\"\r\n (click)=\"informarActividades(row)\">\r\n <mat-icon>remove_red_eye</mat-icon>\r\n </a>\r\n </td>\r\n </ng-container>\r\n \r\n <!-- Indicadores Column -->\r\n <ng-container matColumnDef=\"indicadores\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicadores</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n {{ row.indicadores ? row.indicadores.length : 0 }}\r\n <a *ngIf=\"row.indicadores && row.indicadores.length > 0\" title=\"Informar indicadores\" class=\"action-link\"\r\n (click)=\"informarIndicadores(row)\">\r\n <mat-icon>remove_red_eye</mat-icon>\r\n </a>\r\n </td>\r\n </ng-container>\r\n \r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n </div>\r\n <br>\r\n </div>\r\n \r\n <div class=\"message\" *ngIf=\"!datosComponentes || datosComponentes.length == 0\">\r\n <h4>No hay datos!</h4>\r\n <h5>La unidad ejecutora aun no ha cargado componentes</h5>\r\n </div>\r\n </section>\r\n\r\n <section>\r\n <h1 class=\"upper-case\" mat-dialog-title>Logros y Dificultades</h1>\r\n\r\n <div *ngIf=\"logrosDificultades\" fxLayout=\"row wrap\" fxLayoutGap=\"4px grid\">\r\n <div fxFlex=\"100%\" fxFlex.sm=\"100%\" fxFlex.md=\"100%\" fxFlex.lg=\"50%\" fxFlex.xl=\"50%\"\r\n *ngFor=\"let logroDif of logrosDificultades.logrosDificultades\">\r\n\r\n <mat-card class=\"mat-elevation-z8\">\r\n <mat-card-header>\r\n <mat-card-title>{{logroDif.titulo}}</mat-card-title>\r\n <mat-card-subtitle>{{logroDif.subtitulo}}</mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Logros</mat-label>\r\n <textarea class=\"text-area\" matInput matTextareaAutosize matAutosize matAutosizeMinRows=8\r\n [(ngModel)]=\"logroDif.logros\" readonly></textarea>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Dificultades</mat-label>\r\n <textarea class=\"text-area\" matInput matTextareaAutosize matAutosize matAutosizeMinRows=8\r\n [(ngModel)]=\"logroDif.dificultades\" readonly></textarea>\r\n </mat-form-field>\r\n\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"message\" *ngIf=\"!logrosDificultades\">\r\n <h4>No hay datos!</h4>\r\n <h5>La unidad ejecutora aun no ha cargado Logros y Dificultades</h5>\r\n </div>\r\n </section>\r\n \r\n <footer>\r\n <mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a routerLink=\"/proyecto\">Proyectos</a>\r\n </div>\r\n </mat-dialog-actions>\r\n </footer>\r\n</section>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProyectoService } from '../services/proyecto.service';\r\nimport { MatSnackBar, MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { IActividad, DataExtended } from '../../proyecto-UE/IActividad';\r\nimport { IPrevision } from '../../proyecto-UE/IPrevision';\r\nimport { configurarComponente } from '../../shared/utils/utils';\r\nimport { ILogrosDificultades } from '../../proyecto-UE/carga-inf-tec-componentes/logrosDificultades.interface';\r\nimport { ProyectoService as ProyectoUEService } from '../../proyecto-UE/services/proyecto.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-inf-tec-componentes',\r\n templateUrl: './inf-tec-componentes.component.html',\r\n styleUrls: ['./inf-tec-componentes.component.scss']\r\n})\r\nexport class InfTectComponentesComponent implements OnInit, OnDestroy {\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _proyectoUEService: ProyectoUEService,\r\n\r\n ) {\r\n\r\n }\r\n\r\n idProyecto: string;\r\n isLoading = true;\r\n datosComponentes: Array<any>;\r\n resultsLength = 0;\r\n logrosDificultades: ILogrosDificultades;\r\n displayedColumns: string[] = [\r\n 'nombre', 'fondosCoviar', 'fondosContraparte', 'actividades', 'indicadores'\r\n ];\r\n estadoInfTec: string = '';\r\n\r\n ngOnInit(): void {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n\r\n this._proyectoService.getProyectosEstadoInfTecnico(this.idProyecto).subscribe((data: any) => {\r\n this.estadoInfTec = data[0].estado;\r\n })\r\n });\r\n\r\n this._proyectoService.getComponentes(this.idProyecto).pipe(\r\n finalize(() => this.isLoading = false)\r\n ).subscribe((componentes: IComponente[]) => {\r\n if (componentes) {\r\n let total: number = 0;\r\n\r\n \r\n this.datosComponentes =componentes.map(x=>configurarComponente(x));\r\n this.resultsLength = this.datosComponentes.length;\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n this._proyectoUEService.getLogrosDificultadesByProyectoId(this.idProyecto) \r\n .subscribe((data) => { \r\n this.logrosDificultades = data;\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n informarActividades(row: any) {\r\n this._router.navigate([`/proyecto/${this.idProyecto}/${row._id}/inf-tec-actividades`]);\r\n\r\n }\r\n\r\n informarIndicadores(row: any) {\r\n this._router.navigate([`/proyecto/${this.idProyecto}/${row._id}/inf-tec-indicadores`]);\r\n }\r\n}","<div *ngIf=\"periodoFiscal\" class=\"grid-container\">\r\n <h1 class=\"mat-h1\">Estado de presentación del Informe Técnico. Ejercicio {{ periodoFiscal.nombrePeriodoFiscal }}</h1>\r\n <div flex=\"100\" class=\"generic-card-container material-cards-container\">\r\n\r\n </div>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\" style=\"width:30%\">\r\n <mat-label>Periodo Fiscal</mat-label>\r\n <mat-select [(ngModel)]=\"periodoFiscalValue\" (ngModelChange)=\"changeFiscalValue($event)\"\r\n placeholder=\"Periodo Fiscal\">\r\n <mat-option *ngFor=\"let periodoFiscal of periodosFiscales\" [value]=\"periodoFiscal._id\">\r\n {{ periodoFiscal.nombrePeriodoFiscal }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div class=\"example-container mat-elevation-z8\" style=\"width: auto !important; box-shadow: none;\">\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n <div class=\"example-table-container\" *ngIf=\"!isLoading\">\r\n <span *ngIf=\"!(estados?.length > 0)\">{{estados | json}}</span>\r\n <table *ngIf=\"estados?.length > 0\" mat-table [dataSource]=\"estados\">\r\n\r\n <ng-container matColumnDef=\"hr-first-group\">\r\n <th mat-header-cell class=\"auto-width-field even\" *matHeaderCellDef [style.text-align]=\"center\"\r\n [attr.colspan]=\"2\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-proyecto\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>PROYECTO</th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-estado\">\r\n <th mat-header-cell class=\"fixed-field coviar-th\" *matHeaderCellDef>ESTADO GENERAL</th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-second-group\">\r\n <th mat-header-cell class=\"fixed-field-2 coviar-th\" *matHeaderCellDef [attr.colspan]=\"2\"> TRIM. 1 </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-third-group\">\r\n <th mat-header-cell class=\"fixed-field-2 coviar-th\" *matHeaderCellDef [attr.colspan]=\"2\"> TRIM. 2 </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-fourth-group\">\r\n <th mat-header-cell class=\"fixed-field-2 coviar-th\" *matHeaderCellDef [attr.colspan]=\"2\"> TRIM. 3 </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-fifth-group\">\r\n <th mat-header-cell class=\"fixed-field-2 coviar-th\" *matHeaderCellDef [attr.colspan]=\"2\"> TRIM. 4 </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"hr-ind\">\r\n <th mat-header-cell class=\"fixed-field coviar-th\" *matHeaderCellDef>INDICADORES</th>\r\n </ng-container>\r\n\r\n <tr mat-header-row\r\n *matHeaderRowDef=\"['hr-proyecto', 'hr-estado', 'hr-second-group', 'hr-third-group', 'hr-fourth-group', 'hr-fifth-group', 'hr-ind']\">\r\n </tr>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" class=\"fila\"\r\n routerLink=\"/proyecto/{{ row._id }}/inf-tec-componentes\"></tr>\r\n\r\n <!-- Proyecto Column -->\r\n <ng-container matColumnDef=\"proyecto\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef></th>\r\n <td class=\"auto-width-field odd\" mat-cell *matCellDef=\"let row; let i=index\">\r\n <b>{{ row.aliasProyecto }}</b>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- General Column -->\r\n <ng-container matColumnDef=\"estado\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef></th>\r\n <td mat-cell class=\"fixed-field even\" *matCellDef=\"let row; let i=index\">\r\n <mat-icon [style.color]=\"iconColors[row.estado]\">{{ icons[row.estado] }}</mat-icon>\r\n {{ row.estado }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Trimestre 1 Column -->\r\n <ng-container matColumnDef=\"t1-ld\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>L.D.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t1.ld]\">{{ icons[row.t1?.ld] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"t1-act\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Act.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t1.act]\">{{ icons[row.t1?.act] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <!--ng-container matColumnDef=\"t1-ind\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Ind.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t1.ind]\">{{ icons[row.t1?.ind] }}</mat-icon>\r\n </td>\r\n </ng-container-->\r\n\r\n <!-- Trimestre 2 Column -->\r\n <ng-container matColumnDef=\"t2-ld\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>L.D.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t2.ld]\">{{ icons[row.t2?.ld] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"t2-act\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Act.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t2.act]\">{{ icons[row.t2?.act] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <!--ng-container matColumnDef=\"t2-ind\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Ind.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t2.ind]\">{{ icons[row.t2?.ind] }}</mat-icon>\r\n </td>\r\n </ng-container-->\r\n\r\n <!-- Trimestre 3 Column -->\r\n <ng-container matColumnDef=\"t3-ld\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>L.D.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t3.ld]\">{{ icons[row.t3?.ld] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"t3-act\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Act.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t3.act]\">{{ icons[row.t3?.act] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <!--ng-container matColumnDef=\"t3-ind\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Ind.</th>\r\n <td mat-cell class=\"center odd\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t3.ind]\">{{ icons[row.t3?.ind] }}</mat-icon>\r\n </td>\r\n </ng-container-->\r\n\r\n <!-- Trimestre 4 Column -->\r\n <ng-container matColumnDef=\"t4-ld\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>L.D.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t4.ld]\">{{ icons[row.t4?.ld] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"t4-act\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Act.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t4.act]\">{{ icons[row.t4?.act] }}</mat-icon>\r\n </td>\r\n </ng-container>\r\n <!--ng-container matColumnDef=\"t4-ind\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef>Ind.</th>\r\n <td mat-cell class=\"center even\" *matCellDef=\"let row\">\r\n <mat-icon [style.color]=\"iconColors[row.t4.ind]\">{{ icons[row.t4?.ind] }}</mat-icon>\r\n </td>\r\n </ng-container-->\r\n\r\n <!-- Indicadores Column -->\r\n <ng-container matColumnDef=\"ind\">\r\n <th mat-header-cell class=\"coviar-th\" *matHeaderCellDef></th>\r\n <td mat-cell class=\"fixed-field odd\" *matCellDef=\"let row; let i=index\">\r\n <div style=\"margin-left: 30x;\">\r\n <mat-icon [style.color]=\"iconColors[row.indEstado]\">{{ icons[row.indEstado] }}</mat-icon>\r\n {{ row.indEstado }}\r\n </div>\r\n </td>\r\n </ng-container>\r\n </table>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { IPeriodoFiscal } from \"../../periodo-fiscal/i-periodo-fiscal\";\r\nimport { PeriodoFiscalService } from \"../../periodo-fiscal/services/periodo-fiscal.service\";\r\nimport { ProyectoService } from \"../services/proyecto.service\";\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-inf-tec-estado',\r\n templateUrl: './inf-tec-estado.component.html',\r\n styleUrls: ['./inf-tec-estado.component.scss']\r\n})\r\nexport class InfTecEstadoComponent implements OnInit, OnDestroy {\r\n\r\n periodoFiscal: IPeriodoFiscal = null;\r\n periodoFiscalValue: any;\r\n periodosFiscales: any;\r\n\r\n icons: any = { COMPLETO: 'verified', INCOMPLETO: 'warning', CRITICO: 'dangerous', FORMULACION: 'circle'};\r\n iconColors: any = { COMPLETO: 'green', INCOMPLETO: 'orange', CRITICO: 'red', FORMULACION: 'gray' };\r\n displayedColumns: string[] = [\r\n 'proyecto', 'estado',\r\n 't1-ld', 't1-act', // 't1-ind',\r\n 't2-ld', 't2-act', // 't2-ind',\r\n 't3-ld', 't3-act', // 't3-ind',\r\n 't4-ld', 't4-act', // 't4-ind',\r\n 'ind'\r\n ];\r\n\r\n estados: any[] = [];\r\n\r\n isLoading = false;\r\n\r\n constructor(\r\n private _periodoFiscalService: PeriodoFiscalService,\r\n private _proyectoService: ProyectoService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._periodoFiscalService.getPeriodosFiscales().subscribe((response: IPeriodoFiscal[]) => {\r\n this.periodosFiscales = response.sort((a, b) => a.fechaInicioPeriodoFiscal < b.fechaInicioPeriodoFiscal ? 1 : -1);\r\n this.periodoFiscal = this.periodosFiscales && this.periodosFiscales[0] ? this.periodosFiscales[0] : undefined;\r\n this.periodoFiscalValue = this.periodoFiscal ? this.periodoFiscal._id : undefined;\r\n this.getEstados();\r\n })\r\n }\r\n\r\n changeFiscalValue(e) {\r\n let periodo = this.periodosFiscales.filter(periodo => periodo._id == e);\r\n this.periodoFiscal = periodo[0];\r\n this.getEstados();\r\n }\r\n\r\n private getEstados() {\r\n this.isLoading = true;\r\n this._proyectoService.getProyectosEstadoInfTecnicoByPF(this.periodoFiscalValue).subscribe((estados: any) => {\r\n this.isLoading = false;\r\n this.estados = estados\r\n .filter(el => _.get(el, 'periodoFiscal._id') == this.periodoFiscalValue)\r\n .map(el => {\r\n el.t1 = el.trimestres[0];\r\n el.t2 = el.trimestres[1];\r\n el.t3 = el.trimestres[2];\r\n el.t4 = el.trimestres[3];\r\n return el;\r\n });\r\n console.log(this.estados)\r\n })\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n open(row) {\r\n console.log(row);\r\n }\r\n}","<div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner></mat-spinner>\r\n</div>\r\n<header-proyecto></header-proyecto>\r\n<h1 class=\"upper-case\" mat-dialog-title>Listado de indicadores informados</h1>\r\n\r\n<table *ngIf=\"componente.indicadores\" mat-table [dataSource]=\"componente.indicadores\"\r\n class=\"example-table resument-table\" matSort matSortActive=\"created\" matSortDisableClear matSortDirection=\"desc\"\r\n multiTemplateDataRows>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnasResumen\"></tr>\r\n <tr class=\"coviar-row\" (click)=\"expandedRow = expandedRow === row ? null : row\"\r\n [class.coviar-expanded-row]=\"expandedRow === row\" mat-row *matRowDef=\"let row; columns: columnasResumen;\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"coviar-detail-row\"></tr>\r\n\r\n <!-- Indicador Column -->\r\n <ng-container matColumnDef=\"nombre\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicador</th>\r\n <td class=\"expander\" mat-cell *matCellDef=\"let row\">\r\n <mat-icon *ngIf=\"row != expandedRow\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"row == expandedRow\">expand_less</mat-icon>\r\n {{ row.nombre }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Meta Column -->\r\n <ng-container matColumnDef=\"meta\">\r\n <th class=\"coviar-th text-center\" mat-header-cell *matHeaderCellDef>Meta</th>\r\n <td mat-cell class=\"text-center\" *matCellDef=\"let row\">{{ row.meta }}</td>\r\n </ng-container>\r\n\r\n <!-- Indicador Agregado Column -->\r\n <ng-container matColumnDef=\"indAgregado\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Indicador Agregado</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.indAgregado.nombreTipoIndObjetivo }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"progreso\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Progreso</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <span>{{row.progreso}} {{row.medida}}</span>\r\n <mat-progress-bar mode=\"determinate\" [value]=\"row.procentajeProgreso\"></mat-progress-bar>\r\n <span>{{row.procentajeProgreso | number:'1.0-0':'es'}}%</span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td class=\"expandedDetail-cell\" mat-cell *matCellDef=\"let row\" [attr.colspan]=\"columnasResumen.length\">\r\n <div [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" class=\"content coviar-row-detail\"\r\n fxLayout=\"row wrap\" fxLayoutGap=\"4px grid\">\r\n <div fxFlex=\"100%\" fxFlex.sm=\"100%\" fxFlex.md=\"50%\" fxFlex.lg=\"25%\" fxFlex.xl=\"25%\"\r\n *ngFor=\"let informe of row.informeIndicador\">\r\n <mat-card class=\"mat-elevation-z8\">\r\n <mat-card-header>\r\n <mat-card-title>{{informe.titulo}}</mat-card-title>\r\n <mat-card-subtitle>{{informe.subtitulo}}</mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-label>Valor informado</mat-label>\r\n <p class=\"card-field informe-valor\">{{informe.valor}} {{informe.medida}}</p>\r\n <mat-label>Info. Adicional</mat-label>\r\n <p class=\"card-field\">{{informe.infoAdicional}}</p>\r\n\r\n <mat-label>Verificación</mat-label>\r\n <material-file-upload [buttonHidden]=\"true\" [entityId]=\"idProyecto + informe._id\" [isReadOnly]=\"true\"\r\n [blobType]=\"informe._id\"></material-file-upload>\r\n <material-file-upload [buttonHidden]=\"true\" [entityId]=\"idProyecto\" [isReadOnly]=\"true\"\r\n [blobType]=\"informe._id\"></material-file-upload>\r\n <material-file-upload [needRed]=\"false\" text=\"Cargar verificación\" [isReadOnly]=\"true\"\r\n [entityId]=\"idProyecto\" [blobType]=\"idProyecto + informe._id\"></material-file-upload>\r\n\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n</table>\r\n\r\n<br>\r\n\r\n<mat-dialog-actions class=\"botones-accion\">\r\n <button class=\"mat-raised-button volver-btn\" (click)=\"volver()\">\r\n Volver\r\n </button>\r\n\r\n</mat-dialog-actions>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { ProyectoService } from '../../proyecto-UE/services/proyecto.service';\r\nimport { configurarIndicador, fixIndicadorDuplicado } from '../../shared/utils/utils';\r\nimport { IIndicador, IInformeIndicador } from '../../proyecto-UE/IIndicador';\r\nimport { MaterialFileUploadService } from '../../material-file-upload/material-file-upload.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-inf-tec-indicadores',\r\n templateUrl: './inf-tec-indicadores.component.html',\r\n styleUrls: ['./inf-tec-indicadores.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class InfTectIndicadoresComponent implements OnInit, OnDestroy {\r\n\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n private _route: ActivatedRoute,\r\n private _uploadService: MaterialFileUploadService,\r\n private _router: Router,\r\n\r\n ) {\r\n\r\n }\r\n\r\n componente: IComponente = <IComponente>{};\r\n idProyecto: string;\r\n isLoading = true;\r\n expandedRow: IIndicador | null;\r\n columnasResumen: string[] = ['nombre', 'progreso', 'meta', 'indAgregado',];\r\n\r\n ngOnInit(): void {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n this.componente._id = params['idComponente'];\r\n });\r\n\r\n this._proyectoService.getComponenteById(this.componente._id).pipe(\r\n finalize(() => (this.isLoading = false))\r\n ).subscribe((componente: IComponente) => {\r\n\r\n this.componente = componente;\r\n\r\n if (!this.componente.indicadores) {\r\n return;\r\n }\r\n\r\n this.componente.indicadores.forEach((indicador: IIndicador) => {\r\n configurarIndicador(indicador);\r\n });\r\n\r\n fixIndicadorDuplicado(this.componente.indicadores);\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this.isLoading = false;\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n volver() {\r\n this._router.navigate(['proyecto/' + this.idProyecto + '/inf-tec-componentes']);\r\n }\r\n\r\n\r\n\r\n}","<header-proyecto></header-proyecto>\r\n<app-messages nombreTipoUsuario=\"UsuarioCoviar\"> </app-messages>\r\n<mat-dialog-actions class=\"botones-accion\">\r\n <div class=\"nav-link-container\">\r\n <a mat-raised-button routerLink=\"/proyecto\">Volver</a>\r\n <!-- <a routerLink=\"/proyecto/{{ idProyecto }}/datos-generales\">Datos Generales</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/descripcion\">Descripción</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/contrapartes\">Contrapartes</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/componentes\">Componentes</a> |\r\n <a routerLink=\"/proyecto/{{ idProyecto }}/mensajes\">Mensajes</a> -->\r\n </div>\r\n\r\n</mat-dialog-actions>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { IProyecto } from '../../proyecto/IProyecto';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-messages-proyecto-coviar',\r\n templateUrl: './messages-proyecto.component.html',\r\n styleUrls: ['./messages-proyecto.component.scss']\r\n})\r\nexport class MessagesProyectoComponent implements OnInit {\r\n\r\n idProyecto: string;\r\n\r\n private routeSubscription: Subscription;\r\n\r\n constructor(\r\n private _route: ActivatedRoute\r\n ) {}\r\n\r\n \r\n ngOnInit(){\r\n\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n });\r\n\r\n }\r\n}\r\n","<mat-card class=\"proyecto-card\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ proyecto.aliasProyecto }}</mat-card-title>\r\n <mat-card-subtitle>{{ proyecto.nombreProyecto }} | {{nombreUnidadEjecutora}}</mat-card-subtitle>\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <section class=\"estado-proyecto\">\r\n <ul class=\"estado-proyecto-fases\" *ngIf=\"estado\">\r\n <li>\r\n <mat-icon *ngIf=\"estado.formulacion.completada\">check_circle</mat-icon>\r\n <mat-icon\r\n *ngIf=\"!estado.formulacion.completada && (estado.formulacion.numero == estado.faseActual.numero)\">play_circle_outline</mat-icon>\r\n <mat-icon \r\n *ngIf=\"!estado.formulacion.completada && (estado.formulacion.numero != estado.faseActual.numero)\">radio_button_unchecked</mat-icon>\r\n Formulación\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"estado.evaluacion.completada\">check_circle</mat-icon>\r\n <mat-icon\r\n *ngIf=\"!estado.evaluacion.completada && (estado.evaluacion.numero == estado.faseActual.numero)\">play_circle_outline</mat-icon>\r\n <mat-icon \r\n *ngIf=\"!estado.evaluacion.completada && (estado.evaluacion.numero != estado.faseActual.numero)\">radio_button_unchecked</mat-icon>\r\n Evaluación\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"estado.ejecucion.completada\">check_circle</mat-icon>\r\n <mat-icon\r\n *ngIf=\"!estado.ejecucion.completada && (estado.ejecucion.numero == estado.faseActual.numero)\">play_circle_outline</mat-icon>\r\n <mat-icon \r\n *ngIf=\"!estado.ejecucion.completada && (estado.ejecucion.numero != estado.faseActual.numero)\">radio_button_unchecked</mat-icon>\r\n Ejecución\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"estado.evaluacionFinal.completada\">check_circle</mat-icon>\r\n <mat-icon\r\n *ngIf=\"!estado.evaluacionFinal.completada && (estado.evaluacionFinal.numero == estado.faseActual.numero)\">play_circle_outline</mat-icon>\r\n <mat-icon \r\n *ngIf=\"!estado.evaluacionFinal.completada && (estado.evaluacionFinal.numero != estado.faseActual.numero)\">radio_button_unchecked</mat-icon>\r\n Evaluación Final\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"estado.finalizado.completada\">check_circle</mat-icon>\r\n <mat-icon\r\n *ngIf=\"!estado.finalizado.completada && (estado.finalizado.numero == estado.faseActual.numero)\">play_circle_outline</mat-icon>\r\n {{!estado.finalizado.completada? '' : estado.finalizado.valor.calificacionFinal.descripcion}}\r\n </li>\r\n </ul>\r\n </section>\r\n <mat-divider></mat-divider>\r\n\r\n <section class=\"graficos-proyecto\" fxLayout=\"row wrap\" fxLayoutGap=\"16px grid\">\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"100%\" fxFlex.lg=\"50%\">\r\n Actividades\r\n\r\n <canvas baseChart [data]=\"actividadesData\" [labels]=\"estadoActividadesLabels\" [chartType]=\"doughnutChartType\">\r\n </canvas>\r\n\r\n </div>\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"100%\" fxFlex.lg=\"50%\">\r\n Tipo de Gastos\r\n\r\n <canvas baseChart [datasets]=\"barChartData\" [labels]=\"barChartLabels\" [options]=\"barChartOptions\"\r\n [legend]=\"barChartLegend\" [chartType]=\"barChartType\">\r\n </canvas>\r\n </div>\r\n </section>\r\n <section class=\"informe-técnico\" fxLayout=\"row wrap\" fxLayoutGap=\"16px grid\">\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"50%\" fxFlex.lg=\"50%\">\r\n <section class=\"estado-actividades\">\r\n Inf. Téc. Actividades\r\n <ul class=\"estado-actividades-list\" *ngIf=\"estado\">\r\n\r\n <li>\r\n <mat-icon *ngIf=\"actividades.T1\">check_circle</mat-icon>T1\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"actividades.T2\">check_circle</mat-icon>T2\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"actividades.T3\">check_circle</mat-icon>T3\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"actividades.T4\">check_circle</mat-icon>T4\r\n </li>\r\n </ul>\r\n </section>\r\n </div>\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"50%\" fxFlex.lg=\"50%\">\r\n <section class=\"estado-indicadores\">\r\n Inf. Téc. Indicadores\r\n <ul class=\"estado-indicadores-list\" *ngIf=\"estado\">\r\n\r\n <li>\r\n <mat-icon *ngIf=\"indicadores.T1\">check_circle</mat-icon>T1\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"indicadores.T2\">check_circle</mat-icon>T2\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"indicadores.T3\">check_circle</mat-icon>T3\r\n </li>\r\n <li>\r\n <mat-icon *ngIf=\"indicadores.T4\">check_circle</mat-icon>T4\r\n </li>\r\n </ul>\r\n </section>\r\n </div>\r\n </section>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-button [matMenuTriggerFor]=\"menuCarga\" title=\"Formulación\">\r\n <!-- <mat-icon>construction</mat-icon> -->\r\n <span>Formulación</span>\r\n </button>\r\n <button mat-button (click)=\"abrirActividadValores()\" title=\"Presupuesto\">\r\n <!-- <mat-icon>analytics</mat-icon> -->\r\n <span>Presupuesto</span>\r\n </button>\r\n <button mat-button (click)=\"abrirEstadoProyecto()\" title=\"Estado\">\r\n <!-- <mat-icon>assistant</mat-icon> -->\r\n <span>Estado</span>\r\n </button>\r\n\r\n <button mat-button (click)=\"abrirInfTecComponentes()\" title=\"Informe Técnico\">\r\n <!-- <mat-icon>leaderboard</mat-icon> -->\r\n <span>Informe Técnico</span>\r\n </button>\r\n\r\n <button mat-button (click)=\"abrirRendicionCFN()\" title=\"Rendición Financiera\">\r\n <!-- <mat-icon>leaderboard</mat-icon> -->\r\n <span>Rendición Financiera</span>\r\n </button>\r\n\r\n <button *ngIf=\"esUsuarioUE || puedeEditar\" mat-button (click)=\"abrirMensajes()\" title=\"Mensajes\">\r\n <!-- <mat-icon>messages</mat-icon> -->\r\n <span class=\"hidden-sm\">Mensajes</span>\r\n </button>\r\n\r\n <button mat-button (click)=\"abrirResumen(proyecto._id)\" title=\"Descargar Resumen de Proyecto en PDF\">\r\n <span class=\"hidden-sm\">Descargar Proyecto PDF</span>\r\n </button>\r\n\r\n <button *ngIf=\"!esUsuarioUE && puedeEditar\" mat-icon-button [matMenuTriggerFor]=\"menuEdit\" class=\"pull-right\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menuEdit=\"matMenu\">\r\n <button mat-menu-item (click)=\"edit()\">\r\n <mat-icon>edit</mat-icon>\r\n <span>Editar</span>\r\n </button>\r\n <button mat-menu-item (click)=\"delete()\">\r\n <mat-icon>delete</mat-icon>\r\n <span>Eliminar</span>\r\n </button>\r\n </mat-menu>\r\n\r\n <mat-menu #menuCarga=\"matMenu\">\r\n <button mat-menu-item (click)=\"abrirDatosGenerales()\">\r\n <span>Datos Generales</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirDescripcion()\">\r\n <span>Descripción</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirCargarContrapartes()\">\r\n <span>Contraparte</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirComponentes()\">\r\n <span>Componentes</span>\r\n </button>\r\n </mat-menu>\r\n </mat-card-actions>\r\n\r\n</mat-card>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ProyectoService } from '../../services/proyecto.service';\r\nimport { IProyecto } from '../../IProyecto';\r\nimport { IEstadoProyecto, ACTIVIDADES_T1_INFORMADAS, ACTIVIDADES_T2_INFORMADAS, ACTIVIDADES_T3_INFORMADAS, ACTIVIDADES_T4_INFORMADAS, INDICADORES_T1_INFORMADOS, INDICADORES_T2_INFORMADOS, INDICADORES_T3_INFORMADOS, INDICADORES_T4_INFORMADOS, EstadoProyectoViewModel } from '../../../proyecto-UE/estado-proyecto/estado-proyecto.types';\r\nimport { MultiDataSet, Label } from 'ng2-charts';\r\nimport { ChartType, ChartDataSets, ChartOptions } from 'chart.js';\r\nimport { IComponente } from '../../../proyecto-UE/IComponente';\r\nimport * as _ from 'lodash';\r\nimport { NOMBRE_MESES } from '../../../shared/constantes';\r\nimport { Router } from '@angular/router';\r\nimport jwtDecode from 'jwt-decode';\r\nimport { configurarComponente } from '../../../shared/utils/utils';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { UsuarioService } from '../../../usuarios-UE/services/usuario.service';\r\n\r\n@Component({\r\n selector: 'proyecto-card',\r\n templateUrl: './proyecto-card.component.html',\r\n styleUrls: ['./proyecto-card.component.scss']\r\n})\r\nexport class ProyectoCardComponent implements OnInit {\r\n puedeEditar = false;\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private _router: Router,\r\n private _usuarioService: UsuarioService,\r\n ) {\r\n const user: any = jwtDecode(localStorage.getItem('currentUser'));\r\n this.esUsuarioUE = user.tipoUsuario === 'UsuarioUE';\r\n }\r\n\r\n @Input(\"proyecto\") proyecto: IProyecto;\r\n @Output('onEdit') onEdit = new EventEmitter<IProyecto>();\r\n @Output('onDelete') onDelete = new EventEmitter<IProyecto>();\r\n\r\n nombreUnidadEjecutora: string;\r\n estado: IEstadoProyecto;\r\n componentes: IComponente[];\r\n public doughnutChartType: ChartType = 'doughnut';\r\n estadoActividadesLabels: Label[] = ['Programadas', 'Realizadas', 'Postergadas', 'Canceladas'];\r\n esUsuarioUE = false;\r\n actividades = {\r\n T1: false,\r\n T2: false,\r\n T3: false,\r\n T4: false,\r\n }\r\n\r\n indicadores = {\r\n T1: false,\r\n T2: false,\r\n T3: false,\r\n T4: false,\r\n }\r\n\r\n public actividadesData: MultiDataSet = [\r\n [0, 0, 0, 0]\r\n ];\r\n\r\n public barChartOptions: ChartOptions = {\r\n responsive: true,\r\n // We use these empty structures as placeholders for dynamic theming.\r\n scales: {\r\n xAxes: [{}], yAxes: [{\r\n ticks: {\r\n callback: (value, index) => {\r\n let decimalPipe = new DecimalPipe('es');\r\n return decimalPipe.transform(value, '1.1-2');\r\n }\r\n }\r\n }]\r\n },\r\n\r\n\r\n };\r\n public barChartLabels: Label[] = ['Anual'];\r\n public barChartType: ChartType = 'bar';\r\n public barChartLegend = true;\r\n\r\n public barChartData: ChartDataSets[] = [{ data: [] }];\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.applyRoles();\r\n }\r\n\r\n init() {\r\n this._proyectoService.getProyectoCard(this.proyecto._id)\r\n .subscribe((data) => {\r\n if (this.proyecto && this.proyecto.proyectoUnidadEjecutora && data.unidadesEjecutoras) {\r\n this.nombreUnidadEjecutora = '';\r\n try {\r\n this.nombreUnidadEjecutora = data.unidadesEjecutoras.find(x => x._id == this.proyecto.proyectoUnidadEjecutora.unidadEjecutora).nombreUnidadEjecutora;\r\n } catch (e) { }\r\n }\r\n const viewModel = new EstadoProyectoViewModel(this.proyecto._id, data.estado);\r\n const componentes = data.componentes.map(x => configurarComponente(x));\r\n\r\n viewModel.validarEjecucion(data.archivos, componentes);\r\n this.estado = viewModel.estado;\r\n this.componentes = componentes;\r\n this.fillCharts();\r\n\r\n });\r\n }\r\n\r\n fillCharts() {\r\n const actividades = _(this.componentes).map(x => x.actividades).flatMap().value();\r\n const estados = _(NOMBRE_MESES)\r\n .map(mes => _(actividades).filter(x => x && x.vigencia && x.vigencia[mes] && x.vigencia[mes].value).map(x => x.estado[mes].value).value())\r\n .flatMap()\r\n .value();\r\n const data = [\r\n estados.filter(x => x == 'indefinida').length,\r\n estados.filter(x => x == 'realizada').length,\r\n estados.filter(x => x == 'postergada').length,\r\n estados.filter(x => x == 'cancelada').length\r\n ]\r\n this.actividadesData = [data];\r\n\r\n const tipoGatos = _(actividades).filter(x => !!x).map(x => x.previsiones.map(y => ({ tipo: y.tipo.tipo, value: y.totalAnualFlujo }))).flatMap().orderBy(x => x.tipo).value();\r\n\r\n var labels = _(tipoGatos).map(x => x.tipo).uniq().value();\r\n var values = _(labels).map(label => ({ data: [_(tipoGatos).filter(x => x.tipo == label).sumBy(x => x.value)], label })).value();\r\n this.barChartData = [...values];\r\n\r\n if (this.estado && this.estado.ejecucion) {\r\n\r\n this.actividades.T1 = this.estado.ejecucion.condiciones.find(x => x.id == ACTIVIDADES_T1_INFORMADAS.id).valor;\r\n this.actividades.T2 = this.estado.ejecucion.condiciones.find(x => x.id == ACTIVIDADES_T2_INFORMADAS.id).valor;\r\n this.actividades.T3 = this.estado.ejecucion.condiciones.find(x => x.id == ACTIVIDADES_T3_INFORMADAS.id).valor;\r\n this.actividades.T4 = this.estado.ejecucion.condiciones.find(x => x.id == ACTIVIDADES_T4_INFORMADAS.id).valor;\r\n\r\n this.indicadores.T1 = this.estado.ejecucion.condiciones.find(x => x.id == INDICADORES_T1_INFORMADOS.id).valor;\r\n this.indicadores.T2 = this.estado.ejecucion.condiciones.find(x => x.id == INDICADORES_T2_INFORMADOS.id).valor;\r\n this.indicadores.T3 = this.estado.ejecucion.condiciones.find(x => x.id == INDICADORES_T3_INFORMADOS.id).valor;\r\n this.indicadores.T4 = this.estado.ejecucion.condiciones.find(x => x.id == INDICADORES_T4_INFORMADOS.id).valor;\r\n\r\n }\r\n\r\n }\r\n\r\n abrirDatosGenerales() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id]) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/datos-generales']);\r\n }\r\n\r\n abrirDescripcion() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/descripcion']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/descripcion']);\r\n }\r\n\r\n abrirCargarContrapartes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/cargar-contrapartes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/contrapartes']);\r\n }\r\n\r\n abrirComponentes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/componentes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/componentes']);\r\n }\r\n\r\n abrirMensajes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/mensajes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/mensajes']);\r\n }\r\n\r\n abrirInfTecComponentes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/carga-inf-tec-componentes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/inf-tec-componentes']);\r\n }\r\n\r\n abrirActividadValores() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/actividades-valores']);\r\n }\r\n\r\n abrirEstadoProyecto() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/estado-proyecto']);\r\n }\r\n\r\n abrirRendicionCFN() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/rendicion-financiera']);\r\n }\r\n\r\n edit() {\r\n this.onEdit.emit(this.proyecto);\r\n }\r\n\r\n delete() {\r\n this.onDelete.emit(this.proyecto);\r\n }\r\n\r\n applyRoles() {\r\n this._usuarioService.getUsuario().subscribe((usuario) => {\r\n if (!usuario || !usuario.permisos) {\r\n return;\r\n }\r\n this.puedeEditar = usuario.permisos.editar;\r\n });\r\n }\r\n\r\n abrirResumen(idProyecto: string) {\r\n this._proyectoService.abrirResumen(idProyecto)\r\n }\r\n}","<div class=\"content\" fxLayout=\"row wrap\" fxLayoutGap=\"8px grid\">\r\n <div fxFlex=\"50%\" fxFlex.xs=\"0%\" fxFlex.sm=\"50%\" fxFlex.lg=\"50%\">\r\n <h1 class=\"upper-case\" mat-dialog-title>Listado de Proyectos</h1>\r\n </div>\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"50%\" fxFlex.lg=\"50%\">\r\n <mat-form-field class=\"fiscal-combo\">\r\n <mat-label>Periodo fiscal</mat-label>\r\n <mat-select [compareWith]=\"compareFn\" [(ngModel)]=\"periodoFiscal\" (selectionChange)=\"applyFilter()\">\r\n <mat-option *ngFor=\"let periodo of periodosFiscales\" [value]=\"periodo\">\r\n {{ periodo.nombrePeriodoFiscal }} ({{ periodo.planEstrategico?.nombre }})\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n<div class=\"grid-container\">\r\n <div class=\"example-loading-shade\" *ngIf=\"isLoading \">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n\r\n <div class=\"content\" fxLayout=\"row wrap\" fxLayoutGap=\"16px grid\">\r\n <div fxFlex=\"100%\" fxFlex.xs=\"100%\" fxFlex.sm=\"100%\" fxFlex.lg=\"50%\" fxFlex.xl=\"50%\" *ngFor=\"let proyecto of proyectosFiltrados\">\r\n <proyecto-card [proyecto]=\"proyecto\" (onEdit)=\"abrirCrearProyectoModal($event)\" (onDelete)=\"deleteProyecto($event)\">\r\n </proyecto-card> \r\n </div> \r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!esUsuarioUE\" class=\"button-row\">\r\n <button mat-fab color=\"primary\" (click)=\"abrirCrearProyectoModal()\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n</div>\r\n","import { AfterViewInit, Component, ViewChild, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { ProyectoService } from '../services/proyecto.service';\r\nimport { MatDialog, MatDialogConfig, MatPaginator, MatSnackBar, MatSort } from '@angular/material';\r\nimport { ProyectoDetalleComponent } from './proyecto-detalle/proyecto-detalle.component';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { IProyecto } from '../IProyecto';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport jwtDecode from 'jwt-decode';\r\nimport { IUsuario } from '../../usuarios-UE/IUsuario';\r\nimport { UsuarioService } from '../../usuarios-UE/services/usuario.service';\r\nimport { IPeriodoFiscal } from '../../periodo-fiscal/i-periodo-fiscal';\r\nimport * as _ from 'lodash';\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-proyecto-dashboard',\r\n templateUrl: './proyecto-dashboard.component.html',\r\n styleUrls: ['./proyecto-dashboard.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ProyectoDashboardComponent implements OnInit, AfterViewInit {\r\n displayedColumns: string[] = ['alias', 'actions'];\r\n proyectos: Array<IProyecto>;\r\n proyectosFiltrados: Array<IProyecto>;\r\n isLoading = false;\r\n resultsLength = 0;\r\n unidadEjecutoras = [];\r\n esUsuarioUE = false;\r\n usuario: IUsuario = null;\r\n periodoFiscal: IPeriodoFiscal = null;\r\n periodosFiscales: Array<IPeriodoFiscal> = [];\r\n\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: false }) sort: MatSort;\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute,\r\n private usuarioService: UsuarioService,\r\n ) {\r\n self = this;\r\n const user: any = jwtDecode(localStorage.getItem('currentUser'));\r\n this.esUsuarioUE = user.tipoUsuario === 'UsuarioUE';\r\n\r\n this.usuarioService.getUsuarioById(user._id).subscribe(\r\n (usuario: IUsuario) => {\r\n this.usuario = usuario;\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n }\r\n ngOnInit(): void {\r\n this.getProyectos();\r\n /*\r\n if (this.esUsuarioUE) {\r\n if (!(this.usuario && this.usuario.usuarioUnidadEjecutora && this.usuario.usuarioUnidadEjecutora.unidadEjecutora)) {\r\n this.handleError(new Error(\"Ud. no posee Unidad Ejecutora asignada\"));\r\n }\r\n }\r\n */\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n abrirDatosGenerales(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto]);\r\n }\r\n\r\n abrirDatosGeneralesCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/datos-generales']);\r\n }\r\n\r\n abrirDescripcion(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/descripcion']);\r\n }\r\n\r\n abrirDescripcionCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/descripcion']);\r\n }\r\n\r\n abrirCargarActividades(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/cargar-actividades']);\r\n }\r\n\r\n abrirCargarContrapartes(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/cargar-contrapartes']);\r\n }\r\n\r\n abrirComponentes(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/componentes']);\r\n }\r\n\r\n abrirComponentesCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/componentes']);\r\n }\r\n\r\n abrirMensajesCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/mensajes']);\r\n }\r\n\r\n abrirMensajes(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/mensajes']);\r\n }\r\n\r\n abrirCrearProyectoModal(proyecto?: any) {\r\n const dialogConfig = new MatDialogConfig();\r\n\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n dialogConfig.data = proyecto || {};\r\n\r\n self.dialogRef = this.dialog.open(ProyectoDetalleComponent, dialogConfig);\r\n\r\n self.dialogRef.afterClosed().subscribe((result: any) => {\r\n self.dialogRef = null;\r\n if (result) {\r\n this.getProyectos();\r\n }\r\n });\r\n }\r\n\r\n crearProyecto() {\r\n this._router.navigate(['datos-generales'], { relativeTo: this._activatedRoute });\r\n }\r\n\r\n getProyectos() {\r\n this.isLoading = true;\r\n this._proyectoService.getOpcionesInicialesProyecto()\r\n .subscribe((opciones: any) => {\r\n this.periodosFiscales = _(opciones.periodosFiscales).orderBy(x => new Date(x.fechaFinPeriodoFiscal), 'desc').value();\r\n this.periodoFiscal = opciones.periodoFiscal.periodoFiscalCoviar;\r\n\r\n this._proyectoService.getProyectos().subscribe((proyectos: Array<IProyecto>) => {\r\n this.isLoading = false;\r\n this.proyectos = proyectos;\r\n\r\n if (this.esUsuarioUE) {\r\n\r\n // para filtrar proyectos del usuario actual\r\n if (this.usuario && this.usuario.usuarioUnidadEjecutora && this.usuario.usuarioUnidadEjecutora.unidadEjecutora) {\r\n this.proyectos = this.proyectos.filter(\r\n p => p.proyectoUnidadEjecutora && p.proyectoUnidadEjecutora.unidadEjecutora == this.usuario.usuarioUnidadEjecutora.unidadEjecutora\r\n );\r\n }\r\n\r\n /*\r\n else {\r\n this.proyectos = [];\r\n }\r\n */\r\n }\r\n\r\n this.applyFilter();\r\n this.resultsLength = proyectos.length;\r\n },\r\n (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n\r\n }\r\n\r\n applyFilter() {\r\n this.proyectosFiltrados = this.proyectos.filter(\r\n p => p.presupuestoAnualProyecto && p.presupuestoAnualProyecto.periodoFiscalCoviar == this.periodoFiscal._id\r\n );\r\n }\r\n\r\n deleteProyecto(proyecto?: IProyecto) {\r\n if (confirm(`Está seguro que desea eliminar este proyecto: ${proyecto.aliasProyecto}`)) {\r\n this.isLoading = true;\r\n this._proyectoService.deleteProyecto(proyecto)\r\n .subscribe((proyectos: Array<IProyecto>) => {\r\n this.isLoading = false;\r\n window.location.reload();\r\n },\r\n (error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n }\r\n\r\n handleError(error: Error) {\r\n this.isLoading = false;\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n this.getProyectos();\r\n }\r\n\r\n abrirCargarContrapartesCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/contrapartes']);\r\n }\r\n\r\n abrirInfTecComponentes(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/carga-inf-tec-componentes']);\r\n }\r\n\r\n abrirInfTecComponentesCoviar(idProyecto: string) {\r\n this._router.navigate(['/proyecto/' + idProyecto + '/inf-tec-componentes']);\r\n }\r\n\r\n abrirActividadValores(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/actividades-valores']);\r\n }\r\n\r\n abrirEstadoProyecto(idProyecto: string) {\r\n this._router.navigate(['/proyecto-UE/' + idProyecto + '/estado-proyecto']);\r\n }\r\n\r\n compareFn(a: { _id: string }, b: { _id: string }) {\r\n return a && b ? a._id === b._id : a === b;\r\n }\r\n}\r\n","<form [formGroup]=\"form\">\r\n <div class=\"example-loading-shade\"\r\n *ngIf=\"isLoading \">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n <h2 mat-dialog-title>{{ proyecto.nombreProyecto || 'Nuevo Proyecto' }}</h2>\r\n\r\n <mat-dialog-content>\r\n\r\n <input type=\"hidden\" formControlName=\"_id\">\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\">\r\n <mat-label>Nombre de Proyecto</mat-label>\r\n <input matInput\r\n placeholder=\"Nombre de Proyecto\"\r\n formControlName=\"nombreProyecto\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\">\r\n <mat-label>Alias de Proyecto</mat-label>\r\n <input matInput\r\n placeholder=\"Alias de Proyecto\"\r\n formControlName=\"aliasProyecto\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\">\r\n <mat-label>Unidad Ejecutora</mat-label>\r\n <mat-select [ngModel]=\"proyecto && proyecto.proyectoUnidadEjecutora? proyecto.proyectoUnidadEjecutora.unidadEjecutora: null\" formControlName=\"unidadEjecutora\" placeholder=\"Unidad Ejecutora\">\r\n <mat-option *ngFor=\"let unidadEjecutora of unidadesEjecutoras\" [value]=\"unidadEjecutora._id\">\r\n {{ unidadEjecutora.nombreUnidadEjecutora }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\">\r\n <mat-label>Periodo Fiscal</mat-label>\r\n <mat-select [ngModel]=\"proyecto && proyecto.presupuestoAnualProyecto? proyecto.presupuestoAnualProyecto.periodoFiscalCoviar: null\" formControlName=\"periodoFiscalCoviar\"\r\n placeholder=\"Periodo Fiscal\">\r\n <mat-option *ngFor=\"let periodoFiscal of periodosFiscales\" [value]=\"periodoFiscal._id\">\r\n {{ periodoFiscal.nombrePeriodoFiscal }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions>\r\n <button class=\"mat-raised-button action-button\" (click)=\"save()\">Guardar</button>\r\n <button class=\"mat-raised-button action-button\" (click)=\"close()\">Cerrar</button>\r\n </mat-dialog-actions>\r\n</form>\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProyectoService } from '../../services/proyecto.service';\r\nimport { ErrorSnackBarComponent } from '../../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { IProyecto } from '../../IProyecto';\r\nimport { IUnidadEjecutora } from '../../../unidad-ejecutora/iunidad-ejecutora';\r\nimport { IPeriodoFiscal } from '../../../periodo-fiscal/i-periodo-fiscal';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'proyecto-detalle',\r\n templateUrl: './proyecto-detalle.component.html',\r\n styleUrls: ['./proyecto-detalle.component.scss']\r\n})\r\nexport class ProyectoDetalleComponent implements OnInit {\r\n form: FormGroup;\r\n proyecto: IProyecto;\r\n unidadesEjecutoras: Array<IUnidadEjecutora>;\r\n periodosFiscales: Array<IPeriodoFiscal>;\r\n isUpdate = false;\r\n isLoading = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private dialogRef: MatDialogRef<ProyectoDetalleComponent>,\r\n private _proyectoService: ProyectoService,\r\n private _snackBar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: IProyecto\r\n ) {\r\n this.proyecto = data;\r\n if (Object.keys(data).length) {\r\n this.isUpdate = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.fb.group({\r\n _id: [this.data._id, []],\r\n nombreProyecto: [this.data.nombreProyecto, []],\r\n aliasProyecto: [this.data.aliasProyecto, []],\r\n periodoFiscalCoviar: [this.data.periodoFiscalCoviar, []],\r\n unidadEjecutora: [this.data.unidadEjecutora, []]\r\n });\r\n\r\n this._proyectoService.getOpcionesInicialesProyecto().pipe(\r\n finalize(() => (this.isLoading = false))\r\n ).subscribe((opciones: any) => {\r\n this.unidadesEjecutoras = opciones.unidadesEjecutoras;\r\n this.periodosFiscales = opciones.periodosFiscales;\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n save() {\r\n this.isLoading = true;\r\n // TODO: evitar repetira la suscripcion\r\n // const saveUnidadEjecutora$ = this.isUpdate ? this._unidadEjecutoraService.updateProyecto : this._unidadEjecutoraService.createProyecto;\r\n console.log(this.form.value);\r\n if (this.isUpdate) {\r\n this._proyectoService\r\n .updateProyecto(this.form.getRawValue())\r\n .pipe(finalize(() => (this.isLoading = false)))\r\n .subscribe(\r\n (proyecto: IProyecto) => {\r\n this.dialogRef.close(proyecto);\r\n },\r\n error => {\r\n this.handleError(error);\r\n }\r\n );\r\n } else {\r\n let formValues = { ...this.form.value };\r\n\r\n // remover propiedades en null, en este caso el _id, si no falla\r\n for (let prop in formValues) {\r\n if (!formValues[prop]) {\r\n delete formValues[prop];\r\n }\r\n }\r\n\r\n this._proyectoService\r\n .createProyecto(formValues)\r\n .pipe(finalize(() => (this.isLoading = false)))\r\n .subscribe(\r\n (proyecto: IProyecto) => {\r\n this.dialogRef.close(proyecto);\r\n },\r\n error => {\r\n this.handleError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ProyectoDashboardComponent } from './proyecto-dashboard/proyecto-dashboard.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { ProyectoDetalleComponent } from './proyecto-dashboard/proyecto-detalle/proyecto-detalle.component';\r\nimport { ErrorSnackBarComponent } from '../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport {\r\n MatButtonToggleModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule, MatListModule, MatPaginatorModule,\r\n MatProgressSpinnerModule, MatSelectModule, MatSliderModule, MatSlideToggleModule,\r\n MatSnackBarModule, MatTableModule, MatRadioModule, MatProgressBarModule\r\n} from '@angular/material';\r\nimport { CustomSnackBarModule } from '../shared/custom-snack-bar/custom-snack-bar.module';\r\nimport { MaterialFileUploadModule } from '../material-file-upload/material-file-upload.module';\r\nimport { MessagesModule } from '../messages/messages.module';\r\nimport { HeaderProyectoModule } from '../header-proyecto/header-proyecto.module';\r\n\r\n\r\n\r\nimport { routes } from './proyecto-routing.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DatosGeneralesComponent } from './datos-generales/datos-generales.component';\r\nimport { DescripcionProyectoComponent } from './descripcion-proyecto/descripcion-proyecto.component';\r\nimport { ComponentesComponent } from './componentes/componentes.component';\r\nimport { IndicadoresDetalleComponent } from './componentes/indicadores-detalle/indicadores-detalle.component';\r\nimport { ActividadDetalleComponent } from './componentes/actividad-detalle/actividad-detalle.component';\r\nimport { MessagesProyectoComponent } from './messages-proyecto/messages-proyecto.component';\r\nimport { ContrapartesProyectoComponent } from './contrapartes-proyecto/contrapartes-proyecto.component';\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport { ChartsModule, ThemeService } from 'ng2-charts';\r\nimport { InfTectComponentesComponent } from './inf-tec-componentes/inf-tec-componentes.component';\r\nimport { InfTectActividadesComponent } from './inf-tec-actividades/inf-tec-actividades.component';\r\nimport { InfTectIndicadoresComponent } from './inf-tec-indicadores/inf-tec-indicadores.component';\r\nimport { ProyectoCardComponent } from './proyecto-dashboard/proyecto-card/proyecto-card.component';\r\nimport { ComponentesModule } from '../componentes/componentes.module';\r\nimport { ActividadDescripcionDialog } from '../proyecto-UE/cargar-actividades-proyecto/cargar-actividades-proyecto.component';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { ResumenAccionesEstrategicasModalModule } from '../proyecto-UE/resumen-acciones-estrategicas-modal/resumen-acciones-estrategicas-modal.module';\r\nimport { EstadoProyectoForzarModalModule } from '../proyecto-UE/estado-proyecto-forzar-estado-modal/estado-proyecto-forzar-modal.module';\r\nimport { InfTecEstadoComponent } from './inf-tec-estado/inf-tec-estado.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ProyectoDashboardComponent,\r\n InfTecEstadoComponent,\r\n ProyectoDetalleComponent,\r\n DatosGeneralesComponent,\r\n DescripcionProyectoComponent,\r\n ComponentesComponent,\r\n IndicadoresDetalleComponent,\r\n ActividadDetalleComponent,\r\n MessagesProyectoComponent,\r\n ContrapartesProyectoComponent,\r\n InfTectComponentesComponent,\r\n InfTectActividadesComponent,\r\n InfTectIndicadoresComponent,\r\n ProyectoCardComponent\r\n ],\r\n imports: [\r\n ResumenAccionesEstrategicasModalModule,\r\n EstadoProyectoForzarModalModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n MatGridListModule,\r\n MatCardModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatRadioModule,\r\n MatInputModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n LayoutModule,\r\n MatSnackBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatListModule,\r\n MatButtonToggleModule,\r\n CustomSnackBarModule,\r\n MatProgressBarModule,\r\n MaterialFileUploadModule,\r\n MessagesModule,\r\n FlexLayoutModule,\r\n HeaderProyectoModule,\r\n ChartsModule,\r\n ComponentesModule,\r\n SharedModule\r\n ],\r\n entryComponents: [\r\n ProyectoDetalleComponent,\r\n ErrorSnackBarComponent,\r\n IndicadoresDetalleComponent,\r\n ActividadDetalleComponent,\r\n MessagesProyectoComponent,\r\n ContrapartesProyectoComponent,\r\n InfTectComponentesComponent,\r\n InfTectActividadesComponent,\r\n InfTectIndicadoresComponent,\r\n ActividadDescripcionDialog\r\n ],\r\n providers: [ThemeService]\r\n})\r\nexport class ProyectoModule { }\r\n"],"sourceRoot":""}