import { Component, OnInit } from '@angular/core';
|
import { _HttpClient } from '@delon/theme';
|
import { OrganizationService } from '@business/services/http/organization.service';
|
import { Organization, OrganizationSensorUnit } from '@business/entity/data';
|
import { ResultBean } from '@business/entity/grid';
|
import { NzMessageService } from 'ng-zorro-antd';
|
|
@Component({
|
selector: 'app-organization-config-unit',
|
templateUrl: './organization-config-unit.component.html',
|
})
|
export class OrganizationConfigUnitComponent implements OnInit {
|
public organization: Organization;
|
constructor(
|
private http: _HttpClient,
|
private organizationService: OrganizationService,
|
public msgSrv: NzMessageService
|
) { }
|
public osuTowDimList: OrganizationSensorUnit[][] = [];
|
|
public originalOsuList: OrganizationSensorUnit[] = [];
|
public osuList: OrganizationSensorUnit[];
|
public sensorUnitMap;
|
ngOnInit() {
|
this.organization = this.organizationService.data;
|
this.sensorUnitMap = <OrganizationSensorUnit []> this.organizationService.config.resultBean.data.sensorUnitMap;
|
const osuList = <OrganizationSensorUnit []> this.organizationService.config.resultBean.data.osuList;
|
this.osuList = osuList;
|
// 保存原始数据
|
osuList.forEach(item => {
|
const osu = {};
|
Object.assign(osu, item);
|
this.originalOsuList.push(osu);
|
});
|
if ( !!osuList ) {
|
for (let index = 0 ; index < osuList.length; index += 3 ) {
|
const osuListTemp: OrganizationSensorUnit[] = [];
|
for (let n = 0 ; n < 3; n++ ) {
|
const nTemp = index + n;
|
if (nTemp < osuList.length ) {
|
osuListTemp.push(osuList[nTemp]);
|
}
|
}
|
this.osuTowDimList.push(osuListTemp);
|
}
|
}
|
console.log(this.osuTowDimList);
|
}
|
public isSaving = false;
|
save() {
|
this.isSaving = true;
|
const modifyList = [];
|
// 寻找发生修改的
|
this.osuList.forEach(
|
item => {
|
const osu = this.originalOsuList.find(
|
su => {
|
return su.sensor.id === item.sensor.id &&
|
su.sensorUnitId !== item.sensorUnitId;
|
}
|
);
|
if (!!osu) {
|
modifyList.push(item);
|
}
|
}
|
);
|
if (!!modifyList.length) {
|
this.http.post('org-sunit/saves', modifyList).subscribe(
|
(res: ResultBean<any>) => {
|
if (res.code > 0 ) {
|
this.isSaving = false;
|
this.msgSrv.success(this.organization.name + ' 配置成功!');
|
// this.backToList();
|
}
|
}
|
);
|
}
|
}
|
backToList() {
|
this.organizationService.handle = 'list';
|
this.organizationService.title = '组织列表';
|
}
|
}
|