import { CommonService } from '../../../shared/common.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core'; import { DataAnalysisService } from '../data-analysis.service'; import { NzModalSubject } from '../../../../ng-zorro/ng-zorro-antd.module'; @Component({ selector: 'app-data-analysis-form', templateUrl: './data-analysis-form.component.html', styleUrls: ['./data-analysis-form.component.less'] }) export class DataAnalysisFormComponent implements OnInit { validateForm: FormGroup; systems = []; currentSystem: number; tables = []; currentTable: number; constructor(private fb: FormBuilder, private dataAnalysisService: DataAnalysisService, private commonService: CommonService, private subject: NzModalSubject) { } onSummit() { // 去掉databaseId属性 const { databaseId, ...submitValue } = this.validateForm.value for (const i in this.validateForm.controls) { this.validateForm.controls[ i ].markAsDirty(); } if(!this.validateForm.valid) return; this.dataAnalysisService.saveAnalysis(submitValue).then(data => { if(data.code == 200) { this.subject.next('success'); } }) } handleCancel(e) { this.subject.destroy(); } getFormControl(name) { return this.validateForm.get(name) } ngOnInit() { this.validateForm = this.fb.group({ name: [ null, [ Validators.required ] ], description: [ null ], databaseId: [], tableId: [ null, [ Validators.required ] ], }); this.commonService.getSystemList().then(data => { this.systems = data this.currentSystem = data[0]['id'] }) } private updateTables(systemId: number) { this.commonService.getTableList((systemId)) .then(data => { this.tables = data this.currentTable = data[0]['id'] }) .catch(err => console.log(err)) } }