Newer
Older
import {Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';
import {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';
import {NzMessageService, UploadFile} from 'ng-zorro-antd';
import {opr_company_type, opr_team_type} from '../../project.constants';
import {SystemService} from '../../../system/system.service';
import {ProjectService} from '../../project.service';
import {ProjectModalComponent} from '../project-modal/project-modal.component';
import {CompanyModalComponent} from '../company-modal/company-modal.component';
import {TrackInfoComponent} from '../track-info/track-info.component';
@Component({
selector: 'smart-create-team',
templateUrl: './create-team.component.html',
styles: [
`
:host ::ng-deep .ant-input-disabled{
color: rgba(0,0,0,.65);
background-color: #fff;
}
`
]
@ViewChild('smartProjectModal') smartProjectModal: ProjectModalComponent;
@ViewChild('smartCompanyModal') smartCompanyModal: CompanyModalComponent;
@ViewChild('smartTrackInfo') smartTrackInfo: TrackInfoComponent;
@Output() done = new EventEmitter<any>();
tabNum = 0; //tabs面板的序列号
title;
isVisible = false;
isOkLoading = false;
validateForm: FormGroup;
fileList: UploadFile[] = [];
opr_team_type = opr_team_type;
cID;
constructor(private fb: FormBuilder, private systemSer: SystemService,
private message: NzMessageService, private projectSer: ProjectService) {
}
ngOnInit(): void {
this.initForm();
}
initForm() {
this.validateForm = this.fb.group({
name: [null, [Validators.required, Validators.minLength(2), Validators.maxLength(50)]],
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
description: [null],
principal: [null],
principalId: [null],
});
}
showAddModal(title) {
this.isVisible = true;
this.title = title;
}
showEditModal(data, title) {
this.isVisible = true;
this.title = title;
this.cID = data.id;
console.log(data);
this.validateForm.patchValue(data);
}
handleCancel() {
this.isVisible = false;
this.initForm();
}
beforeUpload = (file: UploadFile): boolean => {
const isExcel = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || 'application/octet-stream';
if (!isExcel) {
this.message.error('请上传正确的文件!');
} else {
this.fileList[0] = file;
}
return false;
};
handleOk() {
for (let i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
this.validateForm.controls[i].updateValueAndValidity();
}
if (this.validateForm.invalid) {
return false;
}
this.isOkLoading = true;
this.update();
}
}
create() {
this.projectSer.addMaintainTeam(this.validateForm.value).subscribe(
(res) => {
if (res.errCode == 10000) {
this.isVisible = false;
this.initForm();
this.done.emit();
}
this.isOkLoading = false;
}
);
}
update() {
this.validateForm.addControl('id', new FormControl(this.cID));
this.projectSer.updateMaintainTeam(this.validateForm.value).subscribe(
(res) => {
if (res.errCode == 10000) {
this.isVisible = false;
this.initForm();
this.done.emit();
this.message.success('更新信息成功');
}
this.isOkLoading = false;
}
);
}
//tabs切换
tabsChange(num) {
this.tabNum = num;
}
getProject(e) {
const d = {
projectId: e.id,
projectName: e.name
};
this.validateForm.patchValue(d);
getCompany(e) {
const d = {
companyId: e.id,
companyName: e.name
};
this.validateForm.patchValue(d);
}
//选择团队负责人
showPeoplemodal() {
}
getPeople(e) {
const d = {
principal: e.name,
principalId: e.id
};
this.validateForm.patchValue(d);