d1add64a670a0f83a42a66cfaa71ecdddbc904ed
[usecase-ui.git] /
1 import {Component, OnInit, Input, SimpleChanges} from '@angular/core';
2 import { SlicingTaskServices } from '@src/app/core/services/slicingTaskServices';
3 import { TASK_PROCESSING_STATUS } from '@src/constants/constants';
4
5 @Component({
6   selector: 'app-slicing-task-management',
7   templateUrl: './slicing-task-management.component.html',
8   styleUrls: ['./slicing-task-management.component.less']
9 })
10 export class SlicingTaskManagementComponent implements OnInit {
11
12   constructor(private myhttp: SlicingTaskServices) { }
13
14   @Input() currentTabTitle;
15
16   showDetail: boolean = false;
17   showProcess: boolean = false;
18   selectedValue = 'all';
19   taskId: string;
20   moduleTitle: string = "";
21   moduleOperation: string;
22   listOfData: any[] = [];
23   statusOptions: any[] = TASK_PROCESSING_STATUS;
24   loading: boolean = false;
25   total: number = 1;
26   pageSize: string = '10';
27   pageNum: string = '1';
28
29     ngOnChanges(changes: SimpleChanges) {
30         if(changes.currentTabTitle.currentValue === 'Slicing Task Management'){
31             this.getTaskList();
32         }
33     }
34
35   ngOnInit() {
36     console.log('11.24 1732')
37   }
38
39   getTaskList(): void {
40     const { pageNum, pageSize } = this;
41     this.loading = true;
42     let getSlicingTaskListFailedCallback  = () => {
43       this.loading = false;
44     }
45     this.myhttp.getSlicingTaskList(pageNum, pageSize, getSlicingTaskListFailedCallback).then(res => {
46       const { slicing_task_list, record_number } = res.result_body;
47       this.dataFormatting(slicing_task_list);
48       this.total = record_number;
49       this.loading = false;
50     })
51   }
52
53   processingStatusChange(): void {
54     this.pageSize = '10';
55     this.pageNum = '1';
56     if (this.selectedValue && this.selectedValue !== 'all') {
57       this.getListOfProcessingStatus();
58     } else {
59       this.getTaskList();
60     }
61   }
62
63   getListOfProcessingStatus(): void {
64     const { selectedValue, pageNum, pageSize } = this;
65     this.loading = true;
66     let getTaskProcessingStatusFailedCallback  = () => {
67       this.loading = false;
68       this.listOfData = [];
69     }
70     this.myhttp.getTaskProcessingStatus(selectedValue, pageNum + '', pageSize + '', getTaskProcessingStatusFailedCallback).then(res => {
71       const { result_body } = res
72       const { slicing_task_list, record_number } = result_body;
73         this.dataFormatting(slicing_task_list)
74         this.total = record_number;
75       this.loading = false;
76     })
77   }
78
79   pageSizeChange(pageSize: number): void {
80     this.pageSize = pageSize + '';
81     const { selectedValue } = this;
82     if (selectedValue && selectedValue !== 'all') {
83       this.getListOfProcessingStatus();
84     } else {
85       this.getTaskList();
86     }
87   }
88
89   pageNumChange(pageNum: number): void {
90     this.pageNum = pageNum + '';
91     const { selectedValue } = this;
92     if (selectedValue && selectedValue !== 'all') {
93       this.getListOfProcessingStatus();
94     } else {
95       this.getTaskList();
96     }
97   }
98
99   dataFormatting(list: any): void {
100     this.listOfData = list.map(item => {
101       switch (item.processing_status) {
102         case 'Planning':
103           // item.status = '规划阶段';
104           item.operation = 'Process Task'
105           break;
106         case 'Waiting to Confirm':
107           // item.status = '审核阶段';
108           item.operation = 'Process Task'
109           break;
110         case 'WaitingToConfirm':
111           // item.status = '审核阶段';
112           item.operation = 'Process Task'
113           break;
114         case 'Creating':
115           // item.status = '切片创建中';
116           item.operation = 'View Progress'
117           break;
118         case 'Completed':
119           // item.status = '创建完成';
120           item.operation = 'View Result'
121           break;
122       }
123       return item;
124     })
125   }
126
127   showdetail(data: any): void {
128     this.taskId = data.task_id;
129     this.moduleTitle = data.task_name;
130     if (data.processing_status === 'Waiting to Confirm' || data.processing_status === 'WaitingToConfirm') {
131       this.showDetail = true;
132     } else {
133       this.moduleOperation = data.operation;
134       this.showProcess = true;
135     }
136   }
137
138   handelCancel(obj: any): void {
139     this.showDetail = obj.showDetail;
140     if (obj.bool) {
141       if (this.selectedValue && this.selectedValue !== 'all') {
142         this.getListOfProcessingStatus();
143       } else {
144           this.loading = true;
145           setTimeout(() => {
146               this.getTaskList()
147           }, 5000);
148       }
149     }
150   }
151 }