From fdde9a5cb356933bac26b64b67b53167ce2f41bd Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Thu, 17 May 2018 10:03:29 +0800 Subject: [PATCH] 行业 优化 --- src/app/routes/reports/demo/demo.component.ts | 97 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 72 insertions(+), 25 deletions(-) diff --git a/src/app/routes/reports/demo/demo.component.ts b/src/app/routes/reports/demo/demo.component.ts index 305c4b6..50cbc76 100644 --- a/src/app/routes/reports/demo/demo.component.ts +++ b/src/app/routes/reports/demo/demo.component.ts @@ -28,12 +28,19 @@ {value: 'bar', label: '���������'}, {value: 'line', label: '���������'} ]; - + public professionOptions = []; + public dimensionOptions = [ + {value: 'monitorPoint', label: '������������'}, + {value: 'profession', label: '������'} + ]; + monitorPointShow = true; + professionShow = false; public items: any[] = [{ id: 0, + profession: null, monitorPoint: null, device: null, - time: null, + time: new Date(), monitorPointOptions: [], deviceOptions: [] }]; @@ -53,6 +60,7 @@ ) { this.timeType = this.typeOptions[1]; this.query.reportType = this.reportOptions[1].value; + this.query.dimension = this.dimensionOptions[0].value; } ngOnInit() { @@ -64,6 +72,28 @@ } }); + this.http.get(environment.SERVER_BASH_URL + 'mobile/profession').subscribe((res: any) => { + if (res.errno !== 0) { + this.msgSrv.error(res.message); + } else { + this.professionOptions = res.data; + } + }); + } + + dimensionChange(value) { + this.items.forEach((item, index) => { + item.profession = null; + item.monitorPoint = null; + this.getDevices(index); + }); + if (value === 'monitorPoint') { + this.professionShow = false; + this.monitorPointShow = true; + } else { + this.professionShow = true; + this.monitorPointShow = false; + } } public onTreeClickSelect(event): void { @@ -112,9 +142,10 @@ const id = (this.items.length > 0) ? this.items[this.items.length - 1].id + 1 : 0; const index = this.items.push({ id: id, + profession: null, monitorPoint: null, device: null, - time: null, + time: new Date(), monitorPointOptions: [], deviceOptions: [] }); @@ -150,8 +181,8 @@ let areaName = ''; const option = event.option; this.items[i].monitorPoint = null; + //this.items[i].profession = null; this.items[i].areaCode = null; - this.items[i].device = null; switch (event.index) { case 0: @@ -179,22 +210,30 @@ this.items[i].monitorPointOptions = res.data; } }); + this.getDevices(i); } - - monitorPointChange(value, i) { - this.items[i].deviceOptions = []; + + getDevices(i) { this.items[i].device = null; - if (value) { - this.http.get(environment.SERVER_BASH_URL + 'device/monitorPointId', {params: {monitorPointId: value.id}}).subscribe((res: any) => { - if (res.code === 0) { - this.msgSrv.error(res.message); - } else { - this.items[i].deviceOptions = res.data; - } - }); + if (!!this.items[i].profession) { + this.items[i].professionId = this.items[i].profession.id; + } else { + this.items[i].professionId = null; } + if (!!this.items[i].monitorPoint) { + this.items[i].monitorPointId = this.items[i].monitorPoint.id; + } else { + this.items[i].monitorPointId = null; + } + return this.http.get(environment.SERVER_BASH_URL + 'device/professionId', {params: this.items[i]}).subscribe((res: any) => { + if (res.code === 0) { + this.msgSrv.error(res.message); + } else { + this.items[i].deviceOptions = res.data; + } + }); } - + _disabledDate(current: Date): boolean { return current && current.getTime() > Date.now(); } @@ -204,20 +243,27 @@ let validate = true; const queryItems = []; for (let i = 0; i < this.items.length; i++) { - let areaName = ''; - let item = this.items[i]; - let queryItem: any = {}; - if ((!!item.time) && (item.monitorPointOptions.length > 0)) { - for (var key in item) { + const areaName = ''; + const item = this.items[i]; + const queryItem: any = {}; + if (item.monitorPointOptions.length > 0 && item.deviceOptions.length > 0) { + for (const key in item) { if (item[key]) { queryItem[key] = item[key]; } + } + if (queryItem.profession) { + queryItem.professionId = queryItem.profession.id; + queryItem.professionName = queryItem.profession.name; + delete queryItem.profession; } if (queryItem.monitorPoint) { queryItem.monitorPointId = queryItem.monitorPoint.id; queryItem.monitorPointName = queryItem.monitorPoint.name; queryItem.monitorPointAddress = queryItem.monitorPoint.address; delete queryItem.monitorPoint; + } else { + queryItem.monitorPointName = queryItem.areaName; } delete queryItem.monitorPointOptions; if (queryItem.device) { @@ -237,10 +283,11 @@ break; } } - if (validate && this.timeType && query.reportType) { + if (validate) { + delete query.sensors; if (this._sensors) { const sensors = []; - for (var key in this._sensors) { + for (const key in this._sensors) { sensors.push(this._sensors[key]); } if (sensors.length > 0) { @@ -249,9 +296,9 @@ } query.items = JSON.stringify(queryItems); query.type = this.timeType.value; - sessionStorage.setItem("queryParams", JSON.stringify(query)); + sessionStorage.setItem('queryParams', JSON.stringify(query)); } else { - this.msgSrv.error('���������������������������������������'); + this.msgSrv.error('���������������������������������������������������������������'); return false; } } -- Gitblit v1.8.0