diff --git a/common/src/main/java/com/usthe/common/entity/manager/ParamDefine.java b/common/src/main/java/com/usthe/common/entity/manager/ParamDefine.java index 25cc5bc..1bb2af3 100644 --- a/common/src/main/java/com/usthe/common/entity/manager/ParamDefine.java +++ b/common/src/main/java/com/usthe/common/entity/manager/ParamDefine.java @@ -122,6 +122,12 @@ public class ParamDefine { @ApiModelProperty(value = "当type为key-value时有效,表示value的别名描述", example = "Value", accessMode = READ_WRITE, position = 10) private String valueAlias; + /** + * 是否是高级隐藏参数 true-是 false-否 + */ + @ApiModelProperty(value = "是否是高级隐藏参数 true-是 false-否", example = "true", accessMode = READ_WRITE, position = 11) + private boolean hide = false; + /** * 此条记录创建者 */ diff --git a/manager/src/main/resources/define/param/A-example.yml b/manager/src/main/resources/define/param/A-example.yml index c6d0530..c09b05e 100644 --- a/manager/src/main/resources/define/param/A-example.yml +++ b/manager/src/main/resources/define/param/A-example.yml @@ -26,10 +26,12 @@ param: # 当type为text时,用limit表示字符串限制大小 limit: 20 required: false + hide: true - field: password name: 密码 type: password required: false + hide: true - field: ssl name: 启动SSL # 当type为boolean时,前端用switch展示开关 diff --git a/web-app/src/app/pojo/ParamDefine.ts b/web-app/src/app/pojo/ParamDefine.ts index 33bf732..01c3249 100644 --- a/web-app/src/app/pojo/ParamDefine.ts +++ b/web-app/src/app/pojo/ParamDefine.ts @@ -12,4 +12,6 @@ export class ParamDefine { // 当type为key-value时有效,表示别名描述 keyAlias!: string; valueAlias!: string; + // 此参数是否隐藏 即默认不显示, 在高级设置区显示 + hide: boolean = false; } diff --git a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html index 0bf9ff5..e4f1402 100644 --- a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html +++ b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html @@ -162,11 +162,151 @@ + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + + + {{ paramDefine.name }} + + + + + + + + + + + 采集间隔 - + diff --git a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.less b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.less new file mode 100644 index 0000000..a029bab --- /dev/null +++ b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.less @@ -0,0 +1,8 @@ +.dynamic-button { + font-size: 20px; + margin-left: 45%; +} + +.dynamic-button:hover { + font-size: 30px; +} diff --git a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts index e2825a9..de34a6f 100644 --- a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts +++ b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts @@ -16,7 +16,7 @@ import { MonitorService } from '../../../service/monitor.service'; @Component({ selector: 'app-monitor-modify', templateUrl: './monitor-edit.component.html', - styles: [] + styleUrls: ['./monitor-edit.component.less'] }) export class MonitorEditComponent implements OnInit { constructor( @@ -30,6 +30,8 @@ export class MonitorEditComponent implements OnInit { paramDefines!: ParamDefine[]; params!: Param[]; + advancedParamDefines!: ParamDefine[]; + advancedParams!: Param[]; paramValueMap = new Map(); monitor = new Monitor(); profileForm: FormGroup = new FormGroup({}); @@ -59,7 +61,6 @@ export class MonitorEditComponent implements OnInit { this.paramValueMap.set(item.field, item); }); } - this.params = message.data.params; this.detected = message.data.detected ? message.data.detected : true; } else { console.warn(message.msg); @@ -73,7 +74,10 @@ export class MonitorEditComponent implements OnInit { if (message.code === 0) { this.paramDefines = message.data; this.params = []; - this.paramDefines.forEach(define => { + this.advancedParams = []; + this.paramDefines = []; + this.advancedParamDefines = []; + message.data.forEach(define => { let param = this.paramValueMap.get(define.field); if (param === undefined) { param = new Param(); @@ -100,7 +104,13 @@ export class MonitorEditComponent implements OnInit { } } } - this.params.push(param); + if (define.hide) { + this.advancedParams.push(param); + this.advancedParamDefines.push(define); + } else { + this.params.push(param); + this.paramDefines.push(define); + } }); } else { console.warn(message.msg); @@ -144,10 +154,15 @@ export class MonitorEditComponent implements OnInit { param.value = (param.value as string).trim(); } }); + this.advancedParams.forEach(param => { + if (param.value != null && typeof param.value == 'string') { + param.value = (param.value as string).trim(); + } + }); let addMonitor = { detected: this.detected, monitor: this.monitor, - params: this.params + params: this.params.concat(this.advancedParams) }; this.isSpinning = true; this.monitorSvc.editMonitor(addMonitor).subscribe( @@ -188,10 +203,15 @@ export class MonitorEditComponent implements OnInit { param.value = (param.value as string).trim(); } }); + this.advancedParams.forEach(param => { + if (param.value != null && typeof param.value == 'string') { + param.value = (param.value as string).trim(); + } + }); let detectMonitor = { detected: this.detected, monitor: this.monitor, - params: this.params + params: this.params.concat(this.advancedParams) }; this.isSpinning = true; this.monitorSvc.detectMonitor(detectMonitor).subscribe( diff --git a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html index ca6860d..a1f4d13 100644 --- a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html +++ b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html @@ -171,6 +171,146 @@ + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + {{ paramDefine.name }} + + + + + + + + {{ paramDefine.name }} + + + + + + + + + + + diff --git a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts index fa91e3c..b1f67cb 100644 --- a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts +++ b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts @@ -20,6 +20,8 @@ import { MonitorService } from '../../../service/monitor.service'; export class MonitorNewComponent implements OnInit { paramDefines!: ParamDefine[]; params!: Param[]; + advancedParamDefines!: ParamDefine[]; + advancedParams!: Param[]; monitor!: Monitor; detected: boolean = true; passwordVisible: boolean = false; @@ -53,9 +55,11 @@ export class MonitorNewComponent implements OnInit { ) .subscribe(message => { if (message.code === 0) { - this.paramDefines = message.data; this.params = []; - this.paramDefines.forEach(define => { + this.advancedParams = []; + this.paramDefines = []; + this.advancedParamDefines = []; + message.data.forEach(define => { let param = new Param(); param.field = define.field; if (define.type === 'number') { @@ -77,7 +81,13 @@ export class MonitorNewComponent implements OnInit { param.value = define.defaultValue; } } - this.params.push(param); + if (define.hide) { + this.advancedParams.push(param); + this.advancedParamDefines.push(define); + } else { + this.params.push(param); + this.paramDefines.push(define); + } }); } else { console.warn(message.msg); @@ -125,10 +135,15 @@ export class MonitorNewComponent implements OnInit { param.value = (param.value as string).trim(); } }); + this.advancedParams.forEach(param => { + if (param.value != null && typeof param.value == 'string') { + param.value = (param.value as string).trim(); + } + }); let addMonitor = { detected: this.detected, monitor: this.monitor, - params: this.params + params: this.params.concat(this.advancedParams) }; this.isSpinning = true; this.monitorSvc.newMonitor(addMonitor).subscribe( @@ -169,10 +184,15 @@ export class MonitorNewComponent implements OnInit { param.value = (param.value as string).trim(); } }); + this.advancedParams.forEach(param => { + if (param.value != null && typeof param.value == 'string') { + param.value = (param.value as string).trim(); + } + }); let detectMonitor = { detected: true, monitor: this.monitor, - params: this.params + params: this.params.concat(this.advancedParams) }; this.isSpinning = true; this.monitorSvc.detectMonitor(detectMonitor).subscribe( diff --git a/web-app/src/app/routes/monitor/monitor.module.ts b/web-app/src/app/routes/monitor/monitor.module.ts index e96d33a..f421e33 100644 --- a/web-app/src/app/routes/monitor/monitor.module.ts +++ b/web-app/src/app/routes/monitor/monitor.module.ts @@ -16,6 +16,7 @@ import { MonitorEditComponent } from './monitor-edit/monitor-edit.component'; import { MonitorListComponent } from './monitor-list/monitor-list.component'; import { MonitorNewComponent } from './monitor-new/monitor-new.component'; import { MonitorRoutingModule } from './monitor-routing.module'; +import { NzCollapseModule } from 'ng-zorro-antd/collapse'; const COMPONENTS: Array> = [ MonitorNewComponent, @@ -37,7 +38,8 @@ const COMPONENTS: Array> = [ NzRadioModule, NgxEchartsModule, NzLayoutModule, - NzSpaceModule + NzSpaceModule, + NzCollapseModule ], declarations: COMPONENTS })