operation.ts
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
export const OPERATION_TASK_STATUS_VALUES = [
'pending',
'in_progress',
'pending_test',
'failed',
'rework',
'completed',
'skipped'
] as const
export const OPERATION_TASK_ACTION_VALUES = [
'start',
'complete_assembly',
'complete_rework',
'submit_test',
'skip'
] as const
export type OperationTaskStatus = (typeof OPERATION_TASK_STATUS_VALUES)[number]
export type OperationTaskAction = (typeof OPERATION_TASK_ACTION_VALUES)[number]
export type OperationTaskResult = 'pending' | 'pass' | 'fail'
export interface OperationTaskAuditEvent {
id: string
action: OperationTaskAction
fromStatus: OperationTaskStatus | null
toStatus: OperationTaskStatus
operator: string
at: string
remark?: string
evidencePath?: string
nextAction: string
}
export interface OperationTask {
id: number
workOrderNo: string
sn: string
stepName: string
workstation: string
device: string
operator: string
startedAt?: string
endedAt?: string
result: OperationTaskResult
status: OperationTaskStatus
nextAction: string
auditEvents: OperationTaskAuditEvent[]
}
export interface OperationTaskListQuery {
workstation?: string
stepName?: string
operator?: string
status?: OperationTaskStatus
sn?: string
}
export interface OperationTaskActionPayload {
operator: string
remark?: string
testPassed?: boolean
workstation?: string
stepName?: string
evidencePath?: string
}
export interface OperationTaskMutationResponse {
success: boolean
errorCode: string | null
message: string
state?: OperationTaskStatus
nextAction?: string
}
export interface OperationEvidenceUploadResponse {
success: boolean
errorCode: string | null
message: string
relativePath?: string
}