From 8570af7c6051c3d9a516f39d597ff49e1e1e2840 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Thu, 25 Jan 2018 09:31:37 +0800 Subject: [PATCH] 设备模块 坐标 校准值 配置 等功能 --- src/app/routes/devices/monitor-point/monitor-point.component.ts | 182 ++++++++++++++++++++++++++------------------ 1 files changed, 107 insertions(+), 75 deletions(-) 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 db33f86..2b2d1c4 100644 --- a/src/app/routes/devices/monitor-point/monitor-point.component.ts +++ b/src/app/routes/devices/monitor-point/monitor-point.component.ts @@ -1,4 +1,5 @@ -import { AreaNames, MonitorPoint } from '@business/entity/data'; +import { CoorPickerService } from 'app/routes/map/coordinates-picker/coordinates-picker.service'; +import { AreaNames, MonitorPoint } from '@business/entity/data'; import { Version, ValueTransformer } from '@angular/compiler/src/util'; import { Subject } from 'rxjs/Subject'; import { Component, OnInit } from '@angular/core'; @@ -12,6 +13,7 @@ import { filter } from 'rxjs/operators/filter'; import { MonitorPointEditComponent } from 'app/routes/devices/monitor-point/monitor-point-edit/monitor-point-edit.component'; import { MonitorPointService } from '@business/services/http/monitor-point.service'; +import { CoordinatesPickerComponent } from 'app/routes/map/coordinates-picker/coordinates-picker.component'; @Component({ @@ -24,25 +26,25 @@ private monitorPoint: MonitorPoint; grid: Grid<MonitorPoint> = new Grid(null); - queryMap = { text: '���������������', value: ''}; + queryMap = { text: '���������������', value: '' }; queryTextStream: Subject<string> = new Subject<string>(); - private initPage() { - this.monitorPoint = { + private initPage() { + this.monitorPoint = { name: { text: '������', - width: '300px' + width: '300px' }, address: { text: '������', width: '300px', 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; - } else { - return value; - } - + value = value == null ? '' : value; + if (row['areaNames'] != null) { + return row['areaNames']['provinceName'] + row['areaNames']['cityName'] + row['areaNames']['areaName'] + value; + } else { + return value; + } + } }, description: { @@ -55,123 +57,153 @@ this.grid.pageSize = 10; } constructor( + private coorPickerService:CoorPickerService, private monitorPointService: MonitorPointService, - + private confirmServ: NzModalService, public msgSrv: NzMessageService, private modalHelper: ModalHelper, - ) {} + ) { } ngOnInit() { this.initPage(); this.queryTextStream - .debounceTime(500) - .distinctUntilChanged() - .subscribe(queryText => { + .debounceTime(500) + .distinctUntilChanged() + .subscribe(queryText => { this.load(); - }); + }); } queryTextChanged($event) { - this.queryTextStream.next(this.queryMap.value); + this.queryTextStream.next(this.queryMap.value); } - load(reload: boolean = false) { + load(reload: boolean = false) { if (reload) { - this.grid.pageIndex = 1 ; + this.grid.pageIndex = 1; } // ������������������ExpressionChangedAfterItHasBeenCheckedError setTimeout(() => { this.grid.loading = true; - }, 1); + }, 1); this.monitorPointService.getPagingList(this.grid, this.queryMap.value).subscribe( - (res: PageBean) => { - this.grid.loading = true; - if (res != null && res.data != null) { - this.grid.initData(res); - this.grid.refreshStatus(); - setTimeout(() => { - this.grid.loading = false; - }, 1); - } - } + (res: PageBean) => { + this.grid.loading = true; + if (res != null && res.data != null) { + this.grid.initData(res); + this.grid.refreshStatus(); + setTimeout(() => { + this.grid.loading = false; + }, 1); + } + } ); } -// rowData���null��������������� + // rowData���null��������������� addOrModify(d) { const data = {}; - if ( d != null) { + if (d != null) { Object.assign(data, d); } - this.modalHelper.static(MonitorPointEditComponent, { data }).subscribe( - ( ret: { data: any, close: Function} ) => { - // ������������ - if (ret.data['index'] != null ) { - const index: number = ret.data['index'] ; + this.modalHelper.static(MonitorPointEditComponent, { data }).subscribe( + (ret: { data: any, close: Function }) => { + // ������������ + if (ret.data['index'] != null) { + const index: number = ret.data['index']; const origData = this.grid.data[index]; - const isModified = Object.keys(origData).some( + const isModified = Object.keys(origData).some( (key: string) => { - return ret.data[key] !== origData[key]; - } + return ret.data[key] !== origData[key]; + } ); // ������������ - if (!isModified) { + if (!isModified) { ret.close(); this.msgSrv.success(this.grid.title + '���������������������'); return; } - } - this.monitorPointService.save(ret.data).subscribe( - ( res: any) => { + } + this.monitorPointService.save(ret.data).subscribe( + (res: any) => { if (res.code === 1) { this.load(); ret.close(); this.msgSrv.success(this.grid.title + '���������������'); } - } - ); - }); + } + ); + }); } delete(...id: number[]) { - this.monitorPointService.delete( ...id ).subscribe( - ( res: any) => { - if (res.code === 1) { - this.load(); - this.msgSrv.success(this.grid.title + '���������������'); - } + this.monitorPointService.delete(...id).subscribe( + (res: any) => { + if (res.code === 1) { + this.load(); + this.msgSrv.success(this.grid.title + '���������������'); + } } - ); + ); } - deleteSelected() { + deleteSelected() { this.confirmServ.confirm({ title: '������������', content: '������������������������������������������������', okText: '������', cancelText: '������' }).on('onOk', () => { - if (this.grid.selectedIndexs != null && this.grid.selectedIndexs.length > 0) { - const ids = this.grid.selectedIndexs.map( - (index: number) => { - const id = this.grid.data[index].id; - return Number.parseInt(id); - } - ); - this.delete( ...ids ); - } + if (this.grid.selectedIndexs != null && this.grid.selectedIndexs.length > 0) { + const ids = this.grid.selectedIndexs.map( + (index: number) => { + const id = this.grid.data[index].id; + return Number.parseInt(id); + } + ); + this.delete(...ids); + } }); } sort(field: string, value: string) { // ������������field this.grid.sorts = this.grid.sorts.filter( - (fn: string) => { - return fn !== field; - } - ); - // ������value������null������������������������������filed - if ( value != null ) { - this.grid.sorts.push(field); - } - this.load(); + (fn: string) => { + return fn !== field; + } + ); + // ������value������null������������������������������filed + if (value != null) { + this.grid.sorts.push(field); + } + this.load(); + } + configCoord(record: MonitorPoint): void { + Object.assign(this.coorPickerService.data, record); + let _data = this.coorPickerService.data; + const areaNames = record.areaNames; + let adress = null; + if (areaNames != null) { + adress = areaNames.provinceName + areaNames.cityName + areaNames.areaName + record.address; + } + this.coorPickerService.data.address = adress; + this.coorPickerService.data['describe'] = '���������������'; + this.modalHelper.static(CoordinatesPickerComponent).subscribe( + (staticComp) => { + const data: MonitorPoint = { + id: record.id, + longitude: _data.longitude, + latitude: _data.latitude, + } + this.monitorPointService.save(data).subscribe( + (res: any) => { + if (res.code === 1) { + this.load(); + this.msgSrv.success('���������������������'); + } + } + ); + + } + ); } } -- Gitblit v1.8.0