From 91ba9cc9fe1230baba1dd504720005669c953e6c Mon Sep 17 00:00:00 2001 From: SHAOJIAHAO <55341701@qq.com> Date: Tue, 7 Jun 2022 17:05:27 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=E6=89=A7=E8=A1=8C=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../condition-monitoring.component.ts | 5 +- .../file/file.component.html | 16 ++++-- .../file/file.component.ts | 3 +- .../script/script.component.html | 12 +++++ .../script/script.component.scss | 0 .../script/script.component.ts | 25 ++++++++++ .../status-monitoring.component.html | 4 ++ .../status-monitoring.component.ts | 50 +++++++++++++++++++ .../system-management.module.ts | 5 +- 9 files changed, 111 insertions(+), 9 deletions(-) create mode 100644 src/app/system-management/status-monitoring/script/script.component.html create mode 100644 src/app/system-management/status-monitoring/script/script.component.scss create mode 100644 src/app/system-management/status-monitoring/script/script.component.ts diff --git a/src/app/system-management/condition-monitoring/condition-monitoring.component.ts b/src/app/system-management/condition-monitoring/condition-monitoring.component.ts index 8578673..28e3ecb 100644 --- a/src/app/system-management/condition-monitoring/condition-monitoring.component.ts +++ b/src/app/system-management/condition-monitoring/condition-monitoring.component.ts @@ -225,7 +225,7 @@ export class ConditionMonitoringComponent implements OnInit { nzTitle: '配置文件', nzContent: FileComponent, nzViewContainerRef: this.viewContainerRef, - nzWidth: 388, + nzWidth: 500, nzComponentParams: {}, nzOnOk: async () => { if (instance.validateForm.valid) { @@ -233,7 +233,8 @@ export class ConditionMonitoringComponent implements OnInit { edgeDeviceIds: strArr, scheme: instance.validateForm.value.scheme, host: instance.validateForm.value.host, - port: instance.validateForm.value.port + port: instance.validateForm.value.port, + maxRetries: instance.validateForm.value.maxRetries } await new Promise(resolve => { this.loading = 'file' diff --git a/src/app/system-management/condition-monitoring/file/file.component.html b/src/app/system-management/condition-monitoring/file/file.component.html index 0418d1c..aa5fd97 100644 --- a/src/app/system-management/condition-monitoring/file/file.component.html +++ b/src/app/system-management/condition-monitoring/file/file.component.html @@ -1,10 +1,10 @@
-
+ 协议 - + @@ -12,7 +12,7 @@ 主机/ip - + @@ -20,7 +20,15 @@ 端口 - + + + + + + 最大重试次数 + + + diff --git a/src/app/system-management/condition-monitoring/file/file.component.ts b/src/app/system-management/condition-monitoring/file/file.component.ts index b9786cb..915aa7e 100644 --- a/src/app/system-management/condition-monitoring/file/file.component.ts +++ b/src/app/system-management/condition-monitoring/file/file.component.ts @@ -17,7 +17,8 @@ export class FileComponent implements OnInit { this.validateForm = this.fb.group({ scheme: [null, [Validators.required]], host: [null, [Validators.required]], - port: [null, [Validators.required]] + port: [null, [Validators.required]], + maxRetries: [null, [Validators.required]] }); } destroyModal(): void { diff --git a/src/app/system-management/status-monitoring/script/script.component.html b/src/app/system-management/status-monitoring/script/script.component.html new file mode 100644 index 0000000..863720b --- /dev/null +++ b/src/app/system-management/status-monitoring/script/script.component.html @@ -0,0 +1,12 @@ +
+ + + + + + + + + + +
\ No newline at end of file diff --git a/src/app/system-management/status-monitoring/script/script.component.scss b/src/app/system-management/status-monitoring/script/script.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/system-management/status-monitoring/script/script.component.ts b/src/app/system-management/status-monitoring/script/script.component.ts new file mode 100644 index 0000000..0a845e2 --- /dev/null +++ b/src/app/system-management/status-monitoring/script/script.component.ts @@ -0,0 +1,25 @@ +import { Component, OnInit } from '@angular/core'; +import { NzModalRef } from 'ng-zorro-antd/modal'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +@Component({ + selector: 'app-script', + templateUrl: './script.component.html', + styleUrls: ['./script.component.scss'] +}) +export class ScriptComponent implements OnInit { + + validateForm!: FormGroup; + constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { } + + ngOnInit(): void { + this.validateForm = this.fb.group({ + script: [null, [Validators.required]], + }); + } + destroyModal(): void { + this.modal.destroy({ data: 'this the result data' }); + } + +} diff --git a/src/app/system-management/status-monitoring/status-monitoring.component.html b/src/app/system-management/status-monitoring/status-monitoring.component.html index 1d79674..1bc2302 100644 --- a/src/app/system-management/status-monitoring/status-monitoring.component.html +++ b/src/app/system-management/status-monitoring/status-monitoring.component.html @@ -52,6 +52,10 @@ [nzLoading]="loading == 'RestartMonitors'" (click)="sendRequest('RestartMonitors')"> 重启监控程序 +
diff --git a/src/app/system-management/status-monitoring/status-monitoring.component.ts b/src/app/system-management/status-monitoring/status-monitoring.component.ts index 5afd2a9..b928843 100644 --- a/src/app/system-management/status-monitoring/status-monitoring.component.ts +++ b/src/app/system-management/status-monitoring/status-monitoring.component.ts @@ -4,6 +4,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TreeService } from 'src/app/service/tree.service'; +import { ScriptComponent } from './script/script.component'; @Component({ selector: 'app-status-monitoring', @@ -168,4 +169,53 @@ export class StatusMonitoringComponent implements OnInit { } + + executeTheScript() { + const requestData = this.listOfData.filter(data => this.setOfCheckedId.has(data.id)); + let strArr = [] + requestData.forEach(element => { + strArr.push(element.id) + }); + const modal = this.modal.create({ + nzTitle: '选择执行脚本', + nzContent: ScriptComponent, + nzViewContainerRef: this.viewContainerRef, + nzWidth: 288, + nzComponentParams: {}, + nzOnOk: async () => { + if (instance.validateForm.valid) { + let body = { + edgeDeviceIds: strArr + } + await new Promise(resolve => { + this.http.patch('/api/EdgeDevices/Commands/ExecuteScript', body, { params: { name: instance.validateForm.value.script } }).subscribe({ + next: (data: any) => { + resolve(data) + this.message.create('success', '通知边缘盒子成功,请过一段时间手动刷新尝试!'); + // if (data.failedItems && data.failedItems.length != 0) { + // data.failedItems.forEach(element => { + // this.message.create('info', element.detail); + // }); + // } + this.setOfCheckedId.clear(); + this.refreshCheckedStatus(); + this.loading = null; + this.getConditionMonitoring() + return true + }, + error: (err) => { + resolve(err) + this.loading = null; + return false + } + }) + }) + } else { + this.message.create('warning', '请填写完整!'); + return false + } + } + }); + const instance = modal.getContentComponent(); + } } diff --git a/src/app/system-management/system-management.module.ts b/src/app/system-management/system-management.module.ts index aea5713..a09039e 100644 --- a/src/app/system-management/system-management.module.ts +++ b/src/app/system-management/system-management.module.ts @@ -42,8 +42,9 @@ import { ModelComponent } from './condition-monitoring/model/model.component'; import { KafkaComponent } from './kafka/kafka.component'; import { StatusMonitoringComponent } from './status-monitoring/status-monitoring.component'; import { FileComponent } from './condition-monitoring/file/file.component'; +import { ScriptComponent } from './status-monitoring/script/script.component'; @NgModule({ - declarations: [OrganizationComponent, NavigationComponent, AddorComponent, EditorComponent, AnalysisOfTheHostComponent, AddhostComponent, EdithostComponent, AddcameraComponent, EditcameraComponent, HostConfigComponent, ImageListComponent, ImageLabelComponent, PlottingImageComponent, cameraType, ImageLabel2Component, ConfigFormComponent, ConditionMonitoringComponent, SendFileComponent, ModelComponent, KafkaComponent, StatusMonitoringComponent, FileComponent], + declarations: [OrganizationComponent, NavigationComponent, AddorComponent, EditorComponent, AnalysisOfTheHostComponent, AddhostComponent, EdithostComponent, AddcameraComponent, EditcameraComponent, HostConfigComponent, ImageListComponent, ImageLabelComponent, PlottingImageComponent, cameraType, ImageLabel2Component, ConfigFormComponent, ConditionMonitoringComponent, SendFileComponent, ModelComponent, KafkaComponent, StatusMonitoringComponent, FileComponent, ScriptComponent], imports: [ CommonModule, SystemRoutingModule, @@ -68,7 +69,7 @@ import { FileComponent } from './condition-monitoring/file/file.component'; NzTabsModule, NzPopconfirmModule ], - entryComponents: [AddorComponent, EditorComponent, AddhostComponent, EdithostComponent, AddcameraComponent, EditcameraComponent, SendFileComponent, ModelComponent, FileComponent] + entryComponents: [AddorComponent, EditorComponent, AddhostComponent, EdithostComponent, AddcameraComponent, EditcameraComponent, SendFileComponent, ModelComponent, FileComponent,ScriptComponent] }) export class SystemManagementModule { }