index.ts 1.54 KB
import { TaskTargetEnum } from '/@/views/task/center/config';
import {
  ExecuteTimeTypeEnum,
  PeriodTypeEnum,
  PushWayEnum,
} from '/@/views/task/center/components/DetailModal/config';
import { TaskTypeEnum } from '/@/views/task/center/config';

export interface GetTaskListParamsType {
  page: number;
  pageSize: number;
  state?: string;
  tbDeviceId?: string;
}

export interface CreateTaskRecordType {
  name: string;
  targetType: TaskTargetEnum;
  executeTarget: {
    organizationId?: string;
    deviceProfileId?: string;
    deviceType?: string;
    cancelExecuteDevices?: string[];
    data?: string[];
  };
  executeContent: {
    pushContent: {
      rpcCommand: string | Recordable;
    };
    pushWay: PushWayEnum;
    type: TaskTypeEnum;
  };
  executeTime: {
    cron: string;
    type: ExecuteTimeTypeEnum;
    periodType: PeriodTypeEnum;
    period: string;
    time: string;
    pollUnit: string;
  };
}

export interface TaskRecordType extends CreateTaskRecordType {
  id: string;
  createTime: string;
  creator: string;
  enabled: boolean;
  state: number;
  lastExecuteTime?: number;
  lastExecuteStr?: string;
  tkDeviceTaskCenter?: {
    allowState: number;
    taskCenterId: string;
    tbDeviceId: string;
  };
}

export interface GenModbusCommandType {
  crc: string;
  deviceCode: string;
  method: string;
  registerAddr: string;
  registerNum?: number;
  registerValues?: number[];
}

export interface ImmediateExecuteTaskType {
  executeTarget: TaskTargetEnum;
  id: string;
  cronExpression: string;
  targetIds: string[];
  name: string;
}