From 899b4ddd9790728851834062c57892f600ee4355 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 19 Jun 2018 11:23:55 +0800
Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend into develop

---
 src/app/business/entity/data.ts                                                           |    5 ++
 src/app/business/services/http/areacode.service.ts                                        |   29 ++++++++++++++
 src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.html |    2 
 src/app/routes/devices/monitor-point/monitor-point.component.ts                           |    7 +++
 src/app/routes/reports/demo/demo.component.ts                                             |   39 ++++++++++++++++---
 src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.ts   |   15 +++++++
 src/app/routes/reports/demo/demo.component.html                                           |    4 +-
 7 files changed, 89 insertions(+), 12 deletions(-)

diff --git a/src/app/business/entity/data.ts b/src/app/business/entity/data.ts
index 81fa665..c44c39f 100644
--- a/src/app/business/entity/data.ts
+++ b/src/app/business/entity/data.ts
@@ -6,6 +6,8 @@
     provinceName?: string;
     cityName?: string;
     areaName?: string;
+    townName?: string;
+    villageName?: string;
 }
 // ���������
 export interface Sensor {
@@ -61,6 +63,9 @@
     provinceCode?: any|Column;
     areaNames?: AreaNames|any ;
     organization?: Organization;
+    townCode?: any|Column;
+    villageCode?: any|Column;
+
   }
 
  // ������������
diff --git a/src/app/business/services/http/areacode.service.ts b/src/app/business/services/http/areacode.service.ts
index 80801af..54b4e2f 100644
--- a/src/app/business/services/http/areacode.service.ts
+++ b/src/app/business/services/http/areacode.service.ts
@@ -40,11 +40,38 @@
           let areas = [];
           if (res !== null && res['code'] === 1 ) {
             areas = res['data'].map((item) => {
-                 return {label: item.areaName , value: item.areaCode , isLeaf: true};
+                 return {label: item.areaName , value: item.areaCode};
                });
           }
           return areas;
        }
     );
    }
+   
+   getTowns(areaCode: string): Observable<{label: string, value: string}[]> {
+    return this.http.get( this.baseUrl + '/area/get-towns', {areaCode: areaCode}).map(
+       (res: {code: number, data: any}) => {
+          let towns = [];
+          if (res !== null && res['code'] === 1 ) {
+            towns = res['data'].map((item) => {
+                 return {label: item.townName , value: item.townCode};
+               });
+          }
+          return towns;
+       }
+    );
+   }
+   getVillages(townCode: string): Observable<{label: string, value: string}[]> {
+    return this.http.get( this.baseUrl + '/area/get-villages', {townCode: townCode}).map(
+       (res: {code: number, data: any}) => {
+          let villages = [];
+          if (res !== null && res['code'] === 1 ) {
+            villages = res['data'].map((item) => {
+                 return {label: item.villageName , value: item.villageCode , isLeaf: true};
+               });
+          }
+          return villages;
+       }
+    );
+   }
 }
diff --git a/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.html b/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.html
index 7ef1c7e..c120cc2 100644
--- a/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.html
+++ b/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.html
@@ -26,7 +26,7 @@
       <label nz-form-item-required>���/���/���</label>
     </div>
     <div nz-form-control nz-col [nzSpan]="7" nzHasFeedback>
-      <nz-cascader [class.class123]="true" (nzChange)="setAreaCodes($event)" formControlName="_areas" (nzLoad)="areaLazyLoad($event)"
+      <nz-cascader [class.class123]="true" (nzChange)="setAreaCodes($event)" formControlName="_areas" (nzLoad)="areaLazyLoad($event)" [nzChangeOnSelect]="true"
       [nzPlaceHolder]="'������ ���/���/���'" >
       </nz-cascader>
     </div>
diff --git a/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.ts b/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.ts
index faa04fe..6cee432 100644
--- a/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.ts
+++ b/src/app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component.ts
@@ -77,6 +77,7 @@
      }
   }
   areaLazyLoad(event: { option: CascaderOption, index: number, resolve: (children: CascaderOption[]) => void, reject: () => void }) {
+    console.info(event);
     const index = event['index'];
     const option = event.option;  
     switch (index) {
@@ -98,12 +99,26 @@
              event.resolve( res );
          }
        ); break;
+       case 2:
+       this.areacodeService.getTowns(option.value).subscribe(
+         (res: {label: string, value: string}[]) => {
+             event.resolve( res );
+         }
+       ); break;
+       case 3:
+       this.areacodeService.getVillages(option.value).subscribe(
+         (res: {label: string, value: string}[]) => {
+             event.resolve( res );
+         }
+       ); break;
     }
   }
   setAreaCodes(codes: string[]) {
       this.data.provinceCode = codes[0];
       this.data.cityCode = codes[1];
       this.data.areaCode = codes[2];
+      this.data.townCode = codes[3];
+      this.data.villageCode = codes[4];
   }
   OrgSelectChange(text) {
       const pageBean: PageBean = {pageIndex: 0, pageSize: 20};
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 0fd59a7..67e290b 100644
--- a/src/app/routes/devices/monitor-point/monitor-point.component.ts
+++ b/src/app/routes/devices/monitor-point/monitor-point.component.ts
@@ -40,7 +40,12 @@
         format: (value: any, col: Column, row: any) => {
           value = value == null ? '' : value;
           if (row['areaNames'] != null) {
-            return row['areaNames']['provinceName'] + row['areaNames']['cityName'] + row['areaNames']['areaName'] + value;
+            return row['areaNames']['provinceName'] 
+              + (!!row['areaNames']['cityName'] ? row['areaNames']['cityName'] : '')
+              + (!!row['areaNames']['areaName'] ? row['areaNames']['areaName'] : '')
+              + (!!row['areaNames']['townName'] ? row['areaNames']['townName'] : '')
+              + (!!row['areaNames']['villageName'] ? row['areaNames']['villageName'] : '')
+              + value;
           } else {
             return value;
           }
diff --git a/src/app/routes/reports/demo/demo.component.html b/src/app/routes/reports/demo/demo.component.html
index 5114441..ea195e5 100644
--- a/src/app/routes/reports/demo/demo.component.html
+++ b/src/app/routes/reports/demo/demo.component.html
@@ -76,10 +76,10 @@
 			<div nz-col [nzSpan]="5" class="mb-md">
 				<div nz-form-item class="d-flex">
 					<div nz-form-label class="label-width-70">
-						<label nz-form-item-required>���������</label>
+						<label nz-form-item-required>������</label>
 					</div>
 					<div nz-form-control class="flex-1">
-                        <nz-cascader [nzSize]="'large'" (nzLoad)="areaLazyLoad($event,i)" [nzPlaceHolder]="'��������� ���/���/���'" [nzAllowClear]="false" [nzChangeOnSelect]="true" (nzSelect)="regionChange($event,i)">
+                        <nz-cascader [nzSize]="'large'" (nzLoad)="areaLazyLoad($event,i)" [nzPlaceHolder]="'��������� ���/���/���/���/���'" [nzAllowClear]="false" [nzChangeOnSelect]="true" (nzSelect)="regionChange($event,i)">
                         </nz-cascader>
 					</div>
 				</div>
diff --git a/src/app/routes/reports/demo/demo.component.ts b/src/app/routes/reports/demo/demo.component.ts
index 50cbc76..9a81c7e 100644
--- a/src/app/routes/reports/demo/demo.component.ts
+++ b/src/app/routes/reports/demo/demo.component.ts
@@ -159,36 +159,51 @@
         this.areacodeService.getProvinces().subscribe(
           (res: {label: string, value: string}[]) => {
             event.resolve(res);
-          }
-        ); break;
+          }); 
+        break;
       case 0:
         this.areacodeService.getCities(option.value).subscribe(
           (res: {label: string, value: string}[]) => {
             event.resolve(res);
-          }
-        ); break;
+          });
+         break;
       case 1:
         this.areacodeService.getAreas(option.value).subscribe(
           (res: {label: string, value: string}[]) => {
             event.resolve(res);
-          }
-        ); break;
+          }); 
+        break;
+      case 2:
+        this.areacodeService.getTowns(option.value).subscribe(
+          (res: {label: string, value: string}[]) => {
+            event.resolve(res);
+          }); 
+        break;
+      case 3:
+        this.areacodeService.getVillages(option.value).subscribe(
+          (res: {label: string, value: string}[]) => {
+            event.resolve(res);
+          }); 
+        break;
     }
   }
 
   public regionChange(event: {option: CascaderOption, index: number}, i) {
+
     let name = '';
     let areaName = '';
     const option = event.option;
     this.items[i].monitorPoint = null;
     //this.items[i].profession = null;
+    this.items[i].cityCode = null;
     this.items[i].areaCode = null;
+    this.items[i].townCode = null;
+    this.items[i].villageCode = null;
     
     switch (event.index) {
       case 0:
         name = 'provinceCode';
         this.items[i].provinceCode = option.value;
-        this.items[i].cityCode = null;
         areaName = option.label;
         break;
       case 1:
@@ -201,6 +216,16 @@
         this.items[i].areaCode = option.value;
         areaName = option.parent.parent.label + '/' + option.parent.label + '/' + option.label;
         break;
+      case 3:
+        name = 'townCode';
+        this.items[i].townCode = option.value;
+        areaName = option.parent.parent.parent.label + '/' + option.parent.parent.label + '/' + option.parent.label + '/' + option.label;
+        break;
+      case 4:
+        name = 'villageCode';
+        this.items[i].villageCode = option.value;
+        areaName = option.parent.parent.parent.parent.label + '/' + option.parent.parent.parent.label + '/' + option.parent.parent.label + '/' + option.parent.label + '/' + option.label;
+        break;
     }
     this.items[i].areaName = areaName;
     this.http.get(environment.SERVER_BASH_URL + 'monitor-point/list/region', {params: {name: name, value: option.value}}).subscribe((res: any) => {

--
Gitblit v1.8.0