webapp/src/types/task.ts

50 lines
1.4 KiB
TypeScript
Raw Normal View History

// 机器人的具体动作,可以定义为枚举或联合类型
export type RobotAction =
| 'PICKUP'
| 'DROPOFF'
| 'TRANSPORT'
| 'WAIT'
| 'CHARGE'
| 'CLEAN';
// 任务的状态
export type TaskStatus = 'IDLE' | 'RUNNING' | 'COMPLETED' | 'ERROR';
// 参数选项接口
export interface ParameterOption {
label: string;
value: string;
}
// 动态参数配置接口
export interface DynamicParameter {
label: string;
type: 'Simple' | 'Select' | 'MultiSelect' | 'Text' | 'Number';
value: string | string[] | number;
required: boolean;
options?: ParameterOption[];
placeholder?: string;
min?: number;
max?: number;
}
// 任务参数 - 支持动态配置
export interface TaskParameters {
startLocation: DynamicParameter; // 起点
endLocation: DynamicParameter; // 终点
waypoint?: DynamicParameter; // 途经点 (可选)
robotAction: DynamicParameter; // 机器人动作
payload: DynamicParameter; // 载荷,比如 '空料架' 或具体的物料ID
locationBay?: DynamicParameter; // 库位 (可选)
[key: string]: DynamicParameter | undefined; // 支持扩展参数
}
// 核心任务对象
export interface Task {
id: string; // 唯一ID例如使用 uuid
name: string; // 任务名称, e.g., "炉前缓存区到热处理上料交接区运输"
status: TaskStatus; // 任务当前状态
parameters: TaskParameters; // 任务的具体执行参数
createdAt: string; // 创建时间
}