From 42ac7e8242e0e6fa51816449f4d73f5e80114b9a Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 05 Mar 2018 10:08:56 +0800 Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend into develop --- src/app/routes/analysis/query/query.component.ts | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 0 deletions(-) diff --git a/src/app/routes/analysis/query/query.component.ts b/src/app/routes/analysis/query/query.component.ts new file mode 100644 index 0000000..fea1e49 --- /dev/null +++ b/src/app/routes/analysis/query/query.component.ts @@ -0,0 +1,91 @@ +import { LineChartCriteria, TimePeriod } from '@business/entity/data'; +import { PageBean } from '@business/entity/grid'; +import { Sensor } from '@business/entity/data'; +import { SensorsService } from '@business/services/http/sensors.service'; +import { Component, OnInit } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { TimeUnits } from '@business/enum/types.enum'; +import * as moment from 'moment'; + +@Component({ + selector: 'app-query', + templateUrl: './query.component.html', + styleUrls: [ './query.component.less' ] +}) +export class QueryComponent implements OnInit { + public sensorList:Sensor[]; + public timeUnits:{ label: string, value: TimeUnits, disabled: boolean }[] = []; + // public timePeriod:TimePeriod = {startTime:null,endTime:null}; + public lineChartCriteria:LineChartCriteria = {sensorKey:'e1', timePeriod:{startTime:null,endTime:null},dataConditions:[]}; + + get lineChartSensorName():String{ + return !!this.sensorList?this.sensorList.find( sensor => sensor.sensorKey==this.lineChartCriteria.sensorKey).name:null; + } + private _timePeriodUnitValue:TimeUnits=TimeUnits.DAY; + public set timePeriodUnitValue(value:TimeUnits){ + this._timePeriodUnitValue = value; + switch(value){ + //YYYY-MM-DD HH:mm:ss + case TimeUnits.MONTH: + this.timeType.dateFormat ="YYYY-MM"; + this.timeType.mode = "month"; + this.timeType.timePickerOption = null; + break; + case TimeUnits.DAY: + this.timeType.dateFormat ="YYYY-MM-DD"; + this.timeType.mode = "day"; + this.timeType.timePickerOption = null; + break; + case TimeUnits.HOUR: + this.timeType.dateFormat ="YYYY-MM-DD HH ���"; + this.timeType.timePickerOption = {nzFormat:"HH:mm"}; + break; + } + } + public timeType:{dateFormat?:string,mode?:'year'|'month'|'day',timePickerOption?:{}} + = {dateFormat:"YYYY-MM-DD",mode:"day",timePickerOption:null}; + get timePeriodUnitName():String { + return this.timeUnits.find( item => item.value == this._timePeriodUnitValue).label; + } + constructor( + private sensorsService:SensorsService + ) { + this.initPage(); + } + private initPage(){ + this.sensorsService.getPagingList(null,null).subscribe( + (res: PageBean) => { + this.sensorList = res.data; + } + ); + this.timeUnits.push( + {label:'���',value:TimeUnits.YEAR,disabled:false}, + {label:'���',value:TimeUnits.MONTH,disabled:false}, + {label:'���',value:TimeUnits.DAY,disabled:false}, + {label:'���',value:TimeUnits.HOUR,disabled:false}, + {label:'���',value:TimeUnits.MINUTE,disabled:false} + ); + } + ngOnInit() { + } + get _isSameDay() { + console.log(this.lineChartCriteria.timePeriod.startTime && this.lineChartCriteria.timePeriod.endTime && moment(this.lineChartCriteria.timePeriod.startTime).isSame(this.lineChartCriteria.timePeriod.endTime, 'day')); + return this.lineChartCriteria.timePeriod.startTime && this.lineChartCriteria.timePeriod.endTime && moment(this.lineChartCriteria.timePeriod.startTime).isSame(this.lineChartCriteria.timePeriod.endTime, 'day'); + } + _disabledStartDate = (startValue) => { + if (!startValue || !this.lineChartCriteria.timePeriod.endTime) { + return false; + } + console.log(startValue); + console.log("getTime:"+startValue.getTime()); + let _startValue = moment(startValue,this.timeType.dateFormat); + console.log("valueOf:"+_startValue.valueOf()); + return _startValue.valueOf() > this.lineChartCriteria.timePeriod.endTime; + }; + _disabledEndDate = (endValue) => { + if (!endValue || !this.lineChartCriteria.timePeriod.startTime) { + return false; + } + return endValue.getTime() < this.lineChartCriteria.timePeriod.startTime; + }; +} -- Gitblit v1.8.0