From 008baf1470f2aaf6fe388a20b9a61069270a1471 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 15 May 2018 17:19:11 +0800
Subject: [PATCH] 监控坐标编辑功能完善

---
 src/app/routes/devices/basic-info/basic-info.component.ts             |   74 ++++++++++++++++++++++---------------
 src/app/routes/reports/query/query.component.ts                       |    2 
 src/app/routes/devices/monitor-point/monitor-point.component.ts       |   10 ++++-
 src/app/routes/reports/query/query.component.html                     |    6 +-
 src/app/routes/map/coordinates-picker/coordinates-picker.component.ts |    8 ++-
 5 files changed, 61 insertions(+), 39 deletions(-)

diff --git a/src/app/routes/devices/basic-info/basic-info.component.ts b/src/app/routes/devices/basic-info/basic-info.component.ts
index 01ff6f5..1d5b1c4 100644
--- a/src/app/routes/devices/basic-info/basic-info.component.ts
+++ b/src/app/routes/devices/basic-info/basic-info.component.ts
@@ -157,39 +157,53 @@
         );
       });
   }
-  configCoord(record: Device): void {  
+  configCoord(record: Device): void {
+      //������ ��������������� ������������������
+      if((!!record.latitude||!!record.longitude)&&!!record.monitorPointId){
+            this.monitorPointService.getEntity(record.monitorPointId).subscribe(
+              res => {
+                if (res != null && res.code === 1 && res.data != null) {
+                    const areaNames = res.data.areaNames;
+                    let adress = '';
+                    if (areaNames != null) {
+                      adress += !!areaNames.provinceName?areaNames.provinceName:'';
+                      adress += ' ';
+                      adress += !!areaNames.cityName?areaNames.cityName:'';
+                      adress += ' ';
+                      adress += !!areaNames.areaName?areaNames.areaName:'';
+                      adress += ' ';
+                      adress += !!res.data.address?res.data.address:'';                  
+                    }
+                    this.coorPickerService.data.address = adress;
+                    this.openMap(record);              
+                }
+              }
+        );
+      }else{
+        this.openMap(record);
+      }
+  }
+  private openMap(record: Device){
     Object.assign(this.coorPickerService.data, record);
     const _data = this.coorPickerService.data;
-    this.monitorPointService.getEntity(record.monitorPointId).subscribe(
-         res => {
-            if (res != null && res.code === 1 && res.data != null) {
-                const areaNames = res.data.areaNames;
-                let adress = null;
-                if (areaNames != null) {
-                  adress = areaNames.provinceName + areaNames.cityName + areaNames.areaName + res.data.address;
+    this.coorPickerService.data['describe'] = '������������';
+    this.modalHelper.static(CoordinatesPickerComponent).subscribe(
+      (staticComp) => {
+             const data: Device = {
+                id: record.id,
+                mac: record.mac,
+                longitude: _data.longitude,
+                latitude: _data.latitude,
+             };
+             this.deviceService.save(data).subscribe(
+              (resp: any) => {
+                if (resp.code === 1) {
+                  this.load();
+                  this.msgSrv.success('���������������������');
                 }
-                this.coorPickerService.data.address = adress;
-                this.coorPickerService.data['describe'] = '������������';
-            }
-            this.modalHelper.static(CoordinatesPickerComponent).subscribe(
-              (staticComp) => {
-                     const data: Device = {
-                        id: record.id,
-                        mac: record.mac,
-                        longitude: _data.longitude,
-                        latitude: _data.latitude,
-                     };
-                     this.deviceService.save(data).subscribe(
-                      (resp: any) => {
-                        if (resp.code === 1) {
-                          this.load();
-                          this.msgSrv.success('���������������������');
-                        }
-                      }
-                     );                     
               }
-           );
-         }
-    );
+             );                     
+      }
+   );
   }
 }
diff --git a/src/app/routes/devices/monitor-point/monitor-point.component.ts b/src/app/routes/devices/monitor-point/monitor-point.component.ts
index 9b1a017..9d69db9 100644
--- a/src/app/routes/devices/monitor-point/monitor-point.component.ts
+++ b/src/app/routes/devices/monitor-point/monitor-point.component.ts
@@ -181,9 +181,15 @@
     Object.assign(this.coorPickerService.data, record);
     const _data = this.coorPickerService.data;
     const areaNames = record.areaNames;
-    let adress = null;
+    let adress = '';
     if (areaNames != null) {
-      adress = areaNames.provinceName + areaNames.cityName + areaNames.areaName + record.address;
+      adress += !!areaNames.provinceName?areaNames.provinceName:'';
+      adress += ' ';
+      adress += !!areaNames.cityName?areaNames.cityName:'';
+      adress += ' ';
+      adress += !!areaNames.areaName?areaNames.areaName:'';
+      adress += ' ';
+      adress += !!record.address?record.address:'';
     }
     this.coorPickerService.data.address = adress;
     this.coorPickerService.data['describe'] = '������������������';
diff --git a/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts b/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts
index 146c9c7..2bc9ec9 100644
--- a/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts
+++ b/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts
@@ -91,11 +91,13 @@
       this._localSearch = new  this._BMap.LocalSearch(map, {
         renderOptions: {map: map}
       });
-      if (this.data.latitude === this.Default_LAT && this.data.longitude === this.Default_LNG
-      && this.data.address != null) {
+      debugger;
+      if (this.data.latitude === this.Default_LAT 
+          && this.data.longitude === this.Default_LNG
+          && !!this.data.address
+          && !!this.data.address.trim()) {
           this._localSearch.search(this.data.address);
       }
-
   }
   queryTest: string;
    mapSearch(param: any) {
diff --git a/src/app/routes/reports/query/query.component.html b/src/app/routes/reports/query/query.component.html
index c9a8156..cae4d8e 100644
--- a/src/app/routes/reports/query/query.component.html
+++ b/src/app/routes/reports/query/query.component.html
@@ -41,7 +41,7 @@
             </div>
             <div nz-col [nzSpan]="9" class="mb-md">
                 <div nz-form-item class="d-flex">
-                    <div [ngStyle]="{'width': '120px'}" nz-form-label>
+                    <div [ngStyle]="{'width': '128px'}" nz-form-label>
                         <label>������������</label>
                     </div>
                     <div nz-form-control class="flex-1">
@@ -88,7 +88,7 @@
             </div>
             <div nz-col [nzSpan]="9" class="mb-md">
                 <div nz-form-item class="d-flex">
-                    <div [ngStyle]="{'width': '120px'}" nz-form-label>
+                    <div [ngStyle]="{'width': '128px'}" nz-form-label>
                             <label>
                                     <nz-dropdown>
                                         <button nz-button nz-dropdown ><span>{{dimensionItem.label}}</span> <i class="anticon anticon-down"></i></button>
@@ -115,7 +115,7 @@
                         <label>��� ���</label>
                     </div>
                     <div nz-form-control class="flex-1">
-                        <nz-select name="device" style="width: 100%;" [(ngModel)]="device" nzAllowClear [nzPlaceHolder]="'��������� ������������(������������������)'" nzShowSearch
+                        <nz-select name="device" style="width: 100%;" [(ngModel)]="device" nzAllowClear [nzPlaceHolder]="'��������� '+ dimensionItem.label +'(������������������������)'" nzShowSearch
                             (nzSearchChange)="devicesChange($event)" [nzNotFoundContent]="'������������'">
                             <nz-option *ngFor="let option of deviceOptions" [nzLabel]="option.name" [nzValue]="option">
                             </nz-option>
diff --git a/src/app/routes/reports/query/query.component.ts b/src/app/routes/reports/query/query.component.ts
index 2d04368..a01c9bd 100644
--- a/src/app/routes/reports/query/query.component.ts
+++ b/src/app/routes/reports/query/query.component.ts
@@ -333,7 +333,7 @@
          {label:"������������",value:DeviceDimension.PROFESSION}
      ];
      public get otherDimensions():{label: string,value: DeviceDimension}[] {
-         return this.dimensions.filter(
+         return  this.dimensions.filter(
              item => {
                  return item.value != this.dimensionItem.value;
              }

--
Gitblit v1.8.0