import {environment} from '../../../../environments/environment';
|
import {DateService} from '../../../business/services/util/date.service';
|
import {NzMessageService} from 'ng-zorro-antd';
|
import {Component, OnInit} from '@angular/core';
|
import {HttpClient} from '@angular/common/http';
|
import {Router} from '@angular/router';
|
|
|
@Component({
|
selector: 'app-demo',
|
templateUrl: './demo.component.html',
|
styles: []
|
})
|
|
export class DemoComponent implements OnInit {
|
[x: string]: any;
|
query: any = {
|
};
|
time: any = {
|
format: 'YYYY',
|
mode: 'month'
|
};
|
|
private sensorOptions = [];
|
|
private monitorPointOptions = [];
|
private deviceOptions = [];
|
private monitorPointbOptions = [];
|
private devicebOptions = [];
|
|
constructor(
|
public http: HttpClient,
|
public dateSrv: DateService,
|
public router: Router,
|
public msgSrv: NzMessageService
|
) {}
|
|
|
|
ngOnInit() {
|
this.query.time = null;
|
this.query.timeb = null;
|
this.http.get(environment.SERVER_BASH_URL + 'sensor/all').subscribe((res: any) => {
|
if (res.code === 0) {
|
this.msgSrv.error(res.message);
|
} else {
|
this.sensorOptions = res.data;
|
}
|
});
|
}
|
|
searchChange(searchText) {
|
if (searchText) {
|
const query = encodeURI(searchText);
|
if (query) {
|
this.http.get(environment.SERVER_BASH_URL + '/monitor-point/list/' + query).subscribe((res: any) => {
|
if (res.code === 0) {
|
this.msgSrv.error(res.message);
|
} else {
|
this.monitorPointOptions = res.data;
|
}
|
});
|
}
|
}
|
}
|
|
monitorPointChange(value) {
|
this.query.mac = null;
|
this.deviceOptions = [];
|
if (value) {
|
this.monitorPointOptions.forEach(monitorPoint => {
|
if (monitorPoint.id === value) {
|
this.monitorPointa = monitorPoint;
|
}
|
});
|
this.http.get(environment.SERVER_BASH_URL + 'device/monitorPointId', {params: {monitorPointId: value}}).subscribe((res: any) => {
|
if (res.code === 0) {
|
this.msgSrv.error(res.message);
|
} else {
|
this.deviceOptions = res.data;
|
}
|
});
|
} else {
|
this.monitorPointa = null;
|
}
|
}
|
|
searchChangeb(searchText) {
|
if (searchText) {
|
const query = encodeURI(searchText);
|
if (query) {
|
this.http.get(environment.SERVER_BASH_URL + '/monitor-point/list/' + query).subscribe((res: any) => {
|
if (res.code === 0) {
|
this.msgSrv.error(res.message);
|
} else {
|
this.monitorPointbOptions = res.data;
|
}
|
});
|
}
|
}
|
}
|
|
devicebChange(value) {
|
if (value) {
|
this.devicebOptions.forEach(device => {
|
if (device.mac === value) {
|
this.deviceb = device;
|
}
|
});
|
} else {
|
this.deviceb = null;
|
}
|
}
|
|
deviceChange(value) {
|
this.devicea = null;
|
if (value) {
|
this.deviceOptions.forEach(device => {
|
if (device.mac === value) {
|
this.devicea = device;
|
}
|
});
|
} else {
|
this.devicea = null;
|
}
|
}
|
|
monitorPointbChange(searchText) {
|
this.query.macb = null;
|
this.devicebOptions = [];
|
if (searchText) {
|
this.monitorPointbOptions.forEach(monitorPoint => {
|
if (monitorPoint.id === searchText) {
|
this.monitorPointb = monitorPoint;
|
}
|
});
|
this.http.get(environment.SERVER_BASH_URL + 'device/monitorPointId', {params: {monitorPointId: searchText}}).subscribe((res: any) => {
|
if (res.code === 0) {
|
this.msgSrv.error(res.message);
|
} else {
|
this.devicebOptions = res.data;
|
}
|
});
|
}
|
}
|
|
private typeOptions = [
|
{value: 'year', label: '年', mode: 'month', xAxisName: '月', format: 'yyyy', typeFormat: '%Y-%m'},
|
{value: 'month', label: '月', mode: 'month', xAxisName: '日', format: 'yyyy-MM', typeFormat: '%Y-%m-%d'},
|
{value: 'day', label: '日', mode: 'day', xAxisName: '时', format: 'yyyy-MM-dd', typeFormat: '%Y-%m-%d %H'},
|
{value: 'hour', label: '时', mode: 'day', xAxisName: '分', format: 'yyyy-MM-dd HH', typeFormat: '%Y-%m-%d %H:%i'}
|
];
|
|
|
typeChange(searchText) {
|
this.typeOptions.forEach(types => {
|
if (types.value === searchText) {
|
this.timeType = types;
|
this.time.format = types.format.toUpperCase();
|
this.time.mode = types.mode;
|
}
|
});
|
}
|
|
reportQuery() {
|
const query = this.query;
|
if (query.sensorKey && query.type && ((query.monitorPoint && query.time) || (query.monitorPointb && query.timeb))) {
|
if (query.time) {
|
query.time = this.dateSrv.date_format(query.time, this.time.format);
|
}
|
if (query.timeb) {
|
query.timeb = this.dateSrv.date_format(query.timeb, this.time.format);
|
}
|
query.format = this.timeType.format;
|
query.typeFormat = this.timeType.typeFormat;
|
query.xAxisName = this.timeType.xAxisName;
|
query.label = this.timeType.label;
|
query.sensorName = this.sensor.name;
|
query.sensorUnit = this.sensor.unit;
|
if (this.devicea) {
|
query.deviceaName = this.devicea.name;
|
}
|
if (this.deviceb) {
|
query.devicebName = this.deviceb.name;
|
}
|
if (this.monitorPointa) {
|
query.monitorPointaName = this.monitorPointa.name;
|
}
|
if (this.monitorPointb) {
|
query.monitorPointbName = this.monitorPointb.name;
|
}
|
this.router.navigate(['report'], {queryParams: query});
|
|
} else {
|
this.msgSrv.error('请完善搜索项');
|
}
|
|
}
|
|
sensorChange(value) {
|
this.sensorOptions.forEach(sensor => {
|
if (sensor.sensorKey === value) {
|
this.sensor = sensor;
|
}
|
});
|
}
|
|
}
|