瀏覽代碼

formato numeros en inputs al modificar una proyeccion

ahernandez 5 年之前
父節點
當前提交
58d33b84bb

+ 10 - 3
src/app/components/investments/costs/fondos/fondos.costs.component.html

@@ -249,6 +249,7 @@
                               <input
                                 type="text"
                                 formControlName="ingreso_bruto"
+                                [value]="group.get('ingreso_bruto').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />
@@ -268,6 +269,7 @@
                               <input
                                 type="text"
                                 formControlName="ingreso_neto"
+                                [value]="group.get('ingreso_neto').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />
@@ -288,9 +290,11 @@
                                 <i class="fas fa-percent"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"  
                                 formControlName="dividendo_porcentaje"
+                                [value]="group.get('dividendo_porcentaje').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -299,7 +303,7 @@
                       <div class="costs-input-normal-container">
                         <div class="form-group">
                           <label for="rendimiento_porcentaje"
-                            >Rendimiento:
+                            >Rendimiento (%):
                           </label>
 
                           <div class="input-box-container">
@@ -308,9 +312,11 @@
                                 <i class="fas fa-percent"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"  
                                 formControlName="rendimiento_porcentaje"
+                                [value]="group.get('rendimiento_porcentaje').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -328,6 +334,7 @@
                               <input
                                 type="number"
                                 formControlName="rendimiento"
+                                [value]="group.get('rendimiento').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />

+ 36 - 2
src/app/components/investments/costs/fondos/fondos.costs.component.ts

@@ -140,9 +140,43 @@ export class FINVCostsComponent implements OnInit {
       Swal.close();
     }, 1200);
   }
-
+  clearProyeccion(proyecciones,nombres,tipoDato){
+    let clearPro = []  
+ 
+     proyecciones.forEach(createNewProyeccion); 
+   
+    function createNewProyeccion(arrFila, index) {
+     nombres.forEach(loopNombres);
+    
+     function loopNombres(nombre, index) {
+ 
+       arrFila[nombre] = parseFloat(arrFila[nombre].toString().replace(",",""))        
+       } 
+       clearPro.push(arrFila)
+       
+     } 
+ 
+   return clearPro;
+   }
+ 
+   public inputValidator(event: any) {
+     //console.log(event.target.value);
+     const pattern = /^[0-9]*$/;   
+     //let inputChar = String.fromCharCode(event.charCode)
+     
+     if (!pattern.test(event.target.value)) {
+ 
+       event.target.value = event.target.value.replace(/[^\d,.]+/g, '');
+       // invalid character, prevent input
+ 
+     }
+     
+   }
   recalculateProjectionChanges() {
-    let objProjection = { proyecciones: this.form.value };
+    let nombresProyecciones = ["dividendo_porcentaje",
+                                "rendimiento_porcentaje"]
+    let clearPro = this.clearProyeccion(this.form.value,nombresProyecciones,"decimal")
+    let objProjection = { proyecciones: clearPro };
     Swal.fire({
       allowOutsideClick: false,
       icon: "info",

+ 15 - 4
src/app/components/investments/costs/pbur/pbur.costs.component.html

@@ -231,6 +231,7 @@
                               <input
                                 type="text"
                                 formControlName="ingreso_bruto"
+                                [value]="group.get('ingreso_bruto').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />
@@ -248,9 +249,11 @@
                                 <i class="fas fa-dollar-sign"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"   
                                 formControlName="costo_cedeval"
+                                [value]="group.get('costo_cedeval').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -268,9 +271,11 @@
                                 <i class="fas fa-dollar-sign"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"   
                                 formControlName="costo_transferencia"
+                                [value]="group.get('costo_transferencia').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -286,9 +291,11 @@
                                 <i class="fas fa-dollar-sign"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"   
                                 formControlName="costo_banco"
+                                [value]="group.get('costo_banco').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -305,9 +312,11 @@
                                 <i class="fas fa-dollar-sign"></i>
                               </p>
                               <input
-                                type="number"
+                                type="text"   
                                 formControlName="otros_costos"
+                                [value]="group.get('otros_costos').value | numberPipe" 
                                 class="form-control"
+                                (input)="inputValidator($event)"
                               />
                             </div>
                           </div>
@@ -326,6 +335,7 @@
                                 type="text"
                                 formControlName="renta"
                                 class="form-control"
+                                [value]="group.get('renta').value | number: '1.2-4'"
                                 readonly
                               />
                             </div>
@@ -344,6 +354,7 @@
                               <input
                                 type="text"
                                 formControlName="ingreso_neto"
+                                [value]="group.get('ingreso_neto').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />

+ 38 - 2
src/app/components/investments/costs/pbur/pbur.costs.component.ts

@@ -229,9 +229,45 @@ export class PBURCostsComponent implements OnInit {
       Swal.close();
     }, 1200);
   }
-
+  clearProyeccion(proyecciones,nombres,tipoDato){
+    let clearPro = []  
+ 
+     proyecciones.forEach(createNewProyeccion); 
+   
+    function createNewProyeccion(arrFila, index) {
+     nombres.forEach(loopNombres);
+    
+     function loopNombres(nombre, index) {
+ 
+       arrFila[nombre] = parseFloat(arrFila[nombre].toString().replace(",",""))        
+       } 
+       clearPro.push(arrFila)
+       
+     } 
+ 
+   return clearPro;
+   }
+ 
+   public inputValidator(event: any) {
+     //console.log(event.target.value);
+     const pattern = /^[0-9]*$/;   
+     //let inputChar = String.fromCharCode(event.charCode)
+     
+     if (!pattern.test(event.target.value)) {
+ 
+       event.target.value = event.target.value.replace(/[^\d,.]+/g, '');
+       // invalid character, prevent input
+ 
+     }
+     
+   }
   recalculateProjectionChanges() {
-    let objProjection = { proyecciones: this.form.value };
+    let nombresProyecciones = ["costo_transferencia",
+                                "costo_cedeval",
+                                "costo_banco",
+                                "otros_costos"]
+    let clearPro = this.clearProyeccion(this.form.value,nombresProyecciones,"decimal")
+    let objProjection = { proyecciones: clearPro };
     Swal.fire({
       allowOutsideClick: false,
       icon: "info",

+ 1 - 0
src/app/components/investments/costs/vcn/vcn.costs.component.html

@@ -340,6 +340,7 @@
                               <input
                                 type="text"
                                 formControlName="renta"
+                                [value]="group.get('renta').value | number: '1.2-4'"
                                 class="form-control"
                                 readonly
                               />