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