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/routes/devices/version/version.component.ts | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 63 insertions(+), 24 deletions(-) diff --git a/src/app/routes/devices/version/version.component.ts b/src/app/routes/devices/version/version.component.ts index d8fcc2d..6e970b7 100644 --- a/src/app/routes/devices/version/version.component.ts +++ b/src/app/routes/devices/version/version.component.ts @@ -1,26 +1,20 @@ -import { DataType } from './../../../core/entity/grid'; -import { AddOrEditComponent } from './add-or-edit/add-or-edit.component'; +import { VersionSensorConfigComponent } from './version-sensor-config/version-sensor-config.component'; +import { DataType } from '@business/entity/grid'; +import { DeviceVersion, Sensor } from '@business/entity/data'; import { Version } from '@angular/compiler/src/util'; import { Subject } from 'rxjs/Subject'; -import { ToolsService } from '@core/services/tools.service'; +import { ToolsService } from '@business/services/util/tools.service'; import { Component, OnInit } from '@angular/core'; import { NzMessageService, NzModalService } from 'ng-zorro-antd'; import { ModalHelper } from '@delon/theme'; import { HttpClient } from '@angular/common/http'; -import { environment } from '../../../../environments/environment'; -import { DateService } from '@core/services/date.service'; -import { VersionService } from 'app/routes/devices/version/version.service'; -import { Types } from '@core/enum/types.enum'; -import { Column, Grid, PageBean } from '@core/entity/grid'; -import { filter } from 'rxjs/operators/filter'; +import { DateService } from '@business/services/util/date.service'; +import { VersionService } from '@business/services/http/version.service'; +import { Types } from '@business/enum/types.enum'; +import { Column, Grid, PageBean } from '@business/entity/grid'; +import { VersionEditComponent } from 'app/routes/devices/version/version-edit/version-edit.component'; -export interface DeviceVersion { - createTime?: Column|any; - description?: Column|any; - id?: Column|any; - name?: Column|any; - version?: Column|any; -} + @Component({ selector: 'app-version', templateUrl: './version.component.html', @@ -108,14 +102,14 @@ data = {}; } const cols = this.version; - this.modalHelper.static(AddOrEditComponent, { cols , data }).subscribe( + this.modalHelper.static(VersionEditComponent, { cols , data }).subscribe( ( ret: { data: any, close: Function} ) => { this.versionService.save(ret.data).subscribe( ( res: any) => { if (res.code === 1) { this.load(); ret.close(); - this.msgSrv.success('���������������������������'); + this.msgSrv.success(this.grid.title + '���������������'); } } ); @@ -127,7 +121,7 @@ ( res: any) => { if (res.code === 1) { this.load(); - this.msgSrv.success('���������������������������'); + this.msgSrv.success(this.grid.title + '���������������'); } } ); @@ -164,10 +158,55 @@ } this.load(); } + configSensor(data) { + const deviceVersionId = data.id; + this.versionService.getSensorIds(deviceVersionId).subscribe( + (selectedSensorIds: number[]) => { + this.modalHelper.static(VersionSensorConfigComponent, { deviceVersionId, selectedSensorIds }).subscribe( + ( ret: { grid: Grid<Sensor>, close: Function} ) => { + // ������������id + const selectedIds = ret.grid.data.filter( + (r: any) => { + return r['checked'] === true; + } + ).map( + (r: any) => { + return r['id']; + } + ); + // ������������������������������ + let isModified = selectedIds.length !== selectedSensorIds.length; + // ��������������������������� + if (!isModified) { + isModified = !selectedIds.every( + (id: number) => { + // console.log('id:' + id); + const result = selectedSensorIds.some( + (sid: number) => { + return id === sid ; + } + ); + // console.log('result:' + result); + return result; + } + ); + } + if ( !isModified ) { + this.msgSrv.success(this.grid.title + '������������������'); + ret.close(); + return ; + } + this.versionService.versionSensorConfig(deviceVersionId, selectedIds).subscribe( + ( res: any) => { + if (res.code === 1) { + ret.close(); + this.msgSrv.success(this.grid.title + '���������������'); + } + } + ); + }); + } + ); - reset(ls: any[]) { - for (const item of ls) item.value = false; - this.load(true); - } - + } } -- Gitblit v1.8.0