From 309d1f9d649daa08bb9b068af014749f6d4a5bce Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 06 Jul 2018 14:00:45 +0800
Subject: [PATCH] 设备和监控点父页面 筛选条件不予 编辑页面联动

---
 src/app/business/services/util/tools.service.ts |   46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/src/app/business/services/util/tools.service.ts b/src/app/business/services/util/tools.service.ts
index b2eb6f8..3841b8f 100644
--- a/src/app/business/services/util/tools.service.ts
+++ b/src/app/business/services/util/tools.service.ts
@@ -1,6 +1,50 @@
+import { FormGroup, FormArray, AbstractControl } from '@angular/forms';
 import { Injectable } from '@angular/core';
 
 @Injectable()
 export class ToolsService {
-
+      public static markAsDirty(controlSet: FormGroup|FormArray) {
+         const controls = controlSet.controls;
+         Object.values(controls).forEach(
+             (control: AbstractControl) => {
+                    if (control instanceof FormGroup || control instanceof FormArray) {
+                        ToolsService.markAsDirty(control);
+                    } else {
+                          control.markAsDirty();
+                    }
+             }
+         );
+      }
+      public static getValueFormControl(controlSet: FormGroup, name: string) {
+        return controlSet.controls[name].value;
+      }
+      public static setValueToControl(controlSet: FormGroup, name: string, value: any) {
+         controlSet.controls[name].setValue(value);
+         controlSet.controls[name].updateValueAndValidity();
+      }
+      public static removePrivate(obj: object) {
+            Object.keys(obj).forEach(
+                 (key: string) => {
+                        if (key.startsWith('_')) {
+                            delete obj[key];
+                        } else {
+                            if (obj[key] instanceof Object) {
+                                ToolsService.removePrivate(obj[key]);
+                            }
+                        }
+                 }
+                );
+      }
+      public static toThousands(number: string): string {
+        let num = (number || 0).toString(), result = '';
+        while (num.length > 3) {
+            result = ',' + num.slice(-3) + result;
+            num = num.slice(0, num.length - 3);
+        }
+        if (num) { result = num + result; }
+        return result;
+    }
+    public static getObjById<T>(id: number, list: T[]): T {
+        return list.find(item => item['id'] === id);
+    }
 }

--
Gitblit v1.8.0