| | |
| | | setTimeout(() => { |
| | | this.grid.loading = true; |
| | | }, 1); |
| | | let pageBean = this.organizationService.config.pageBean; |
| | | const pageBean = this.organizationService.config.pageBean; |
| | | let resultBean = this.organizationService.config.resultBean; |
| | | resultBean = resultBean == null ? {} : resultBean; |
| | | if (pageBean != null && pageBean.data != null) { |
| | |
| | | const alarmConfigValue = alarmConfig.value; |
| | | |
| | | const alarmLevels = alarmConfigValue.alarmLevels; |
| | | let alarmLevelsGroupsConfig = {}; |
| | | const alarmLevelsGroupsConfig = {}; |
| | | Object.keys(alarmLevels).forEach(key => { |
| | | |
| | | let increment = alarmLevels[key].increment; |
| | | increment = increment == null || increment.length != 3 ? [0, 0, 0] : increment; |
| | | increment = increment == null || increment.length !== 3 ? [0, 0, 0] : increment; |
| | | const incrementArray = this.formBuilder.array([ |
| | | [increment[0]], |
| | | [increment[1]], |
| | | [increment[2]] |
| | | ]); |
| | | let degression = alarmLevels[key].degression; |
| | | degression = degression == null || degression.length != 3 ? [0, 0, 0] : degression; |
| | | degression = degression == null || degression.length !== 3 ? [0, 0, 0] : degression; |
| | | const degressionArray = |
| | | this.formBuilder.array([ |
| | | [degression[0]], |
| | | [degression[1]], |
| | | [degression[2]] |
| | | ]); |
| | | //判断逆向是否启用 |
| | | // 判断逆向是否启用 |
| | | // let _degressionEnable = degression[0] != 0 || degression[1] != 0 || degression[2] != 0; |
| | | |
| | | const alarmSensorGroup = this.formBuilder.group( |
| | | { |
| | | degressEnable:[alarmLevels[key].degressEnable], |
| | | degressEnable: [alarmLevels[key].degressEnable], |
| | | enable: [alarmLevels[key].enable], |
| | | increment: incrementArray, |
| | | degression: degressionArray, |
| | |
| | | alarmMode: this.formBuilder.group( |
| | | { |
| | | enable: [alarmMode.enable], |
| | | interval: [alarmMode.interval], |
| | | level1: [alarmMode.level1], |
| | | level2: [alarmMode.level2], |
| | | level3: [alarmMode.level3] |
| | | } |
| | | ), |
| | | '_id':alarmConfig.id, |
| | | '_id': alarmConfig.id, |
| | | '_allChecked': [] |
| | | }); |
| | | this.validateForm.statusChanges.subscribe( |
| | | item => { |
| | | this.setErrorMessage(); |
| | | } |
| | | ) |
| | | ); |
| | | this.refreshIndeterminate(); |
| | | } |
| | | this.refreshHasDegression(false); |
| | |
| | | ); |
| | | this.refreshIndeterminate(); |
| | | } |
| | | private _allCheckTriggers: number = 0; |
| | | private _allCheckTriggers = 0; |
| | | refreshIndeterminate() { |
| | | const keys = this.grid.data.map( |
| | | item => { |
| | |
| | | const allUnChecked = keys.every(key => !this.validateForm.get('alarmLevels.' + key + '.enable').value); |
| | | this.indeterminate = (!allChecked) && (!allUnChecked); |
| | | } |
| | | isSaving:boolean = false; |
| | | isSaving = false; |
| | | save($event, value, valid) { |
| | | $event.preventDefault(); |
| | | if (valid) { |
| | | this.isSaving = true; |
| | | const data:AlarmConfig = { |
| | | id:value._id, |
| | | organizationId:this.organization.id, |
| | | value:value |
| | | } |
| | | const data: AlarmConfig = { |
| | | id: value._id, |
| | | organizationId: this.organization.id, |
| | | value: value |
| | | }; |
| | | // ToolsService.removePrivate(data.value); |
| | | this.alarmConfigService.save(data).subscribe( |
| | | result => { |
| | | if(result!=null&&result.code==1){ |
| | | this.msgSrv.success(this.organization.name+' 配置成功!'); |
| | | if (result != null && result.code === 1) { |
| | | this.msgSrv.success(this.organization.name + ' 配置成功!'); |
| | | this.backToList(); |
| | | } |
| | | } |
| | | ); |
| | | } |
| | | debugger; |
| | | } |
| | | |
| | | setErrorMessage(){ |
| | | setErrorMessage() { |
| | | this.errorMessage = ''; |
| | | const errObj = this.getLastError(this.validateForm); |
| | | if(errObj!=null&&Object.keys(errObj).length>0){ |
| | | if(errObj['increment']){ |
| | | if (errObj != null && Object.keys(errObj).length > 0) { |
| | | if (errObj['increment']) { |
| | | this.errorMessage = '一级 二级 三级 依次递增'; |
| | | } else if(errObj['degression']){ |
| | | } else if (errObj['degression']) { |
| | | this.errorMessage = '反向一级 反向二级 反向三级 依次递减'; |
| | | } else if(errObj['pattern']!=null&&errObj['pattern']['requiredPattern'] == '^'+patterns.num.toString()+'$'){ |
| | | } else if (errObj['pattern'] != null && errObj['pattern']['requiredPattern'] === '^' + patterns.num.toString() + '$') { |
| | | this.errorMessage = '阀值只能为数字'; |
| | | } |
| | | } |
| | | } |
| | | errorMessage:string = ''; |
| | | private removeError(error:'increment'|'degression',...controls:AbstractControl[]){ |
| | | errorMessage = ''; |
| | | private removeError(error: 'increment'|'degression', ...controls: AbstractControl[]) { |
| | | controls.forEach( |
| | | item => { |
| | | if(item.hasError(error)&&Object.keys(item.errors).length==1){ |
| | | if (item.hasError(error) && Object.keys(item.errors).length === 1) { |
| | | item.setErrors(null); |
| | | } |
| | | } |
| | | ); |
| | | } |
| | | private addError(error:'increment'|'degression',...controls:AbstractControl[]){ |
| | | private addError(error: 'increment'|'degression', ...controls: AbstractControl[]) { |
| | | controls.forEach( |
| | | item => { |
| | | let errs = {}; |
| | | const errs = {}; |
| | | errs[error] = true; |
| | | item.setErrors(errs); |
| | | item.markAsDirty(); |
| | |
| | | ); |
| | | } |
| | | private alarmLevelValidator = (control: FormControl): { [s: string]: boolean } => { |
| | | const enable = control.get("enable").value; |
| | | const degressEnable = control.get("degressEnable").value; |
| | | const i0 = control.get("increment.0"); |
| | | const i1 = control.get("increment.1"); |
| | | const i2 = control.get("increment.2"); |
| | | const d0 = control.get("degression.0"); |
| | | const d1 = control.get("degression.1"); |
| | | const d2 = control.get("degression.2"); |
| | | const enable = control.get('enable').value; |
| | | const degressEnable = control.get('degressEnable').value; |
| | | const i0 = control.get('increment.0'); |
| | | const i1 = control.get('increment.1'); |
| | | const i2 = control.get('increment.2'); |
| | | const d0 = control.get('degression.0'); |
| | | const d1 = control.get('degression.1'); |
| | | const d2 = control.get('degression.2'); |
| | | // 如果未启用 删除错误信息,不验证 |
| | | if(!enable){ |
| | | this.removeError('increment',i0,i1,i2); |
| | | this.removeError('degression',d0,d1,d2); |
| | | if (!enable) { |
| | | this.removeError('increment', i0, i1, i2); |
| | | this.removeError('degression', d0, d1, d2); |
| | | return null; |
| | | } |
| | | let result = {}; |
| | | const i0_value = parseInt(i0.value); |
| | | const i1_value = parseInt(i1.value); |
| | | const i2_value = parseInt(i2.value); |
| | | if ((i0_value != 0 || i1_value != 0 || i2_value != 0)&&(i0_value >= i1_value||i1_value >= i2_value)) { |
| | | this.addError('increment',i0,i1,i2); |
| | | result["increment"] = true; |
| | | }else{ |
| | | this.removeError('increment',i0,i1,i2); |
| | | const result = {}; |
| | | const i0_value = parseInt(i0.value, 10); |
| | | const i1_value = parseInt(i1.value, 10); |
| | | const i2_value = parseInt(i2.value, 10); |
| | | if ((i0_value !== 0 || i1_value !== 0 || i2_value !== 0) && (i0_value >= i1_value || i1_value >= i2_value)) { |
| | | this.addError('increment', i0, i1, i2); |
| | | result['increment'] = true; |
| | | } else { |
| | | this.removeError('increment', i0, i1, i2); |
| | | } |
| | | const d0_value = parseInt(d0.value); |
| | | const d1_value = parseInt(d1.value); |
| | | const d2_value = parseInt(d2.value); |
| | | if(degressEnable&&(d0_value != 0 || d1_value != 0 || d2_value != 0)&&(d1_value >= d0_value||d2_value >= d1_value)) { |
| | | this.addError('degression',d0,d1,d2); |
| | | result["degression"] = true; |
| | | }else{ |
| | | this.removeError('degression',d0,d1,d2); |
| | | const d0_value = parseInt(d0.value, 10); |
| | | const d1_value = parseInt(d1.value, 10); |
| | | const d2_value = parseInt(d2.value, 10); |
| | | if (degressEnable && (d0_value !== 0 || d1_value !== 0 || d2_value !== 0) && (d1_value >= d0_value || d2_value >= d1_value)) { |
| | | this.addError('degression', d0, d1, d2); |
| | | result['degression'] = true; |
| | | } else { |
| | | this.removeError('degression', d0, d1, d2); |
| | | } |
| | | return Object.keys(result).length == 0?null:result; |
| | | }; |
| | | getLastError(control:FormGroup|FormArray){ |
| | | if(control.errors!=null){ |
| | | return Object.keys(result).length === 0 ? null : result; |
| | | } |
| | | getLastError(control: FormGroup|FormArray) { |
| | | if (control.errors != null) { |
| | | return control.errors; |
| | | }else{ |
| | | } else { |
| | | const controls = Object.values(control.controls); |
| | | for(let i = controls.length-1;i>=0;i--){ |
| | | for (let i = controls.length - 1; i >= 0; i--) { |
| | | const c = controls[i]; |
| | | if(c.errors!=null){ |
| | | if (c.errors != null) { |
| | | return c.errors; |
| | | }else if(c instanceof FormArray||c instanceof FormGroup){ |
| | | } else if (c instanceof FormArray || c instanceof FormGroup) { |
| | | const result = this.getLastError(c); |
| | | if(result != null) { |
| | | if (result != null) { |
| | | return result; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | public hasDegression = false; |
| | | public refreshHasDegression(value){ |
| | | if(value){ |
| | | public refreshHasDegression(value) { |
| | | if (value) { |
| | | this.hasDegression = true; |
| | | }else{ |
| | | } else { |
| | | this.hasDegression = Object.values(this.validateForm.value['alarmLevels']).some( |
| | | ( item:any) => { |
| | | ( item: any) => { |
| | | return item['degressEnable']; |
| | | } |
| | | ) |
| | | ); |
| | | } |
| | | } |
| | | // 转整型 |
| | | parserInt = (value) => parseInt(value , 10); |
| | | } |