6c4d9041971d864536734edcbcc047a9afac132f
[usecase-ui.git] /
1 import { Component, OnInit } from '@angular/core';
2 import { NzMessageService } from 'ng-zorro-antd';
3 import { SlicingTaskServices } from '.././../../../core/services/slicingTaskServices';
4 import { TASK_PROCESSING_STATUS } from '../../../../../constants/constants';
5
6 @Component({
7   selector: 'app-slicing-task-management',
8   templateUrl: './slicing-task-management.component.html',
9   styleUrls: ['./slicing-task-management.component.less']
10 })
11 export class SlicingTaskManagementComponent implements OnInit {
12
13   constructor(private myhttp: SlicingTaskServices, private message: NzMessageService) { }
14
15   showDetail: boolean = false;
16   showProcess: boolean = false;
17   selectedValue = null;
18   taskId: string;
19   moduleTitle: string = "";
20   listOfData: any[] = [];
21   statusOptions: any[] = TASK_PROCESSING_STATUS;
22   loading: boolean = false;
23   total: number = 1;
24   pageSize: string = '10';
25   pageNum: string = '1';
26
27   ngOnInit() {
28     this.getTaskList();
29   }
30
31   getTaskList(): void {
32     const { pageNum, pageSize } = this;
33     this.loading = true;
34     this.myhttp.getSlicingTaskList(pageNum, pageSize).subscribe(res => {
35       const { result_header: { result_code }, result_body } = res
36       if (+result_code === 200) {
37         const { slicing_task_list, record_number } = result_body;
38         this.dataFormatting(slicing_task_list);
39         this.total = record_number;
40       } else {
41         this.message.error('Failed to get form data')
42       }
43       this.loading = false;
44     })
45   }
46
47   processingStatusChange(): void {
48     this.pageSize = '10';
49     this.pageNum = '1';
50     if (this.selectedValue) {
51       this.getListOfProcessingStatus();
52     } else {
53       this.getTaskList();
54     }
55   }
56
57   getListOfProcessingStatus(): void {
58     const { selectedValue, pageNum, pageSize } = this;
59     this.loading = true;
60     this.myhttp.getTaskProcessingStatus(selectedValue, pageNum + '', pageSize + '').subscribe(res => {
61       const { result_header: { result_code }, result_body } = res
62       if (+result_code === 200) {
63         const { slicing_task_list, record_number } = result_body;
64         this.dataFormatting(slicing_task_list)
65         this.total = record_number;
66       } else {
67         this.message.error('Failed to get form data')
68       }
69       this.loading = false;
70     })
71   }
72
73   pageSizeChange(pageSize: number): void {
74     this.pageSize = pageSize + '';
75     const { selectedValue } = this;
76     if (selectedValue) {
77       this.getListOfProcessingStatus();
78     } else {
79       this.getTaskList();
80     }
81   }
82
83   pageNumChange(pageNum: number): void {
84     this.pageNum = pageNum + '';
85     const { selectedValue } = this;
86     if (selectedValue) {
87       this.getListOfProcessingStatus();
88     } else {
89       this.getTaskList();
90     }
91   }
92
93   dataFormatting(list: any): void {
94     this.listOfData = list.map(item => {
95       switch (item.processing_status) {
96         case 'Planning':
97           // item.status = '规划阶段';
98           item.operation = 'Process Task'
99           break;
100         case 'Waiting to Confirm':
101           // item.status = '审核阶段';
102           item.operation = 'Process Task'
103           break;
104         case 'Creating':
105           // item.status = '切片创建中';
106           item.operation = 'View Progress'
107           break;
108         case 'Completed':
109           // item.status = '创建完成';
110           item.operation = 'View Result'
111           break;
112       }
113       return item;
114     })
115   }
116
117   showdetail(data: any): void {
118     this.taskId = data.task_id;
119     this.moduleTitle = data.processing_status;
120     if (data.processing_status === 'Waiting to Confirm') {
121       this.showDetail = true;
122     } else {
123       this.showProcess = true;
124     }
125   }
126 }