import type { PageParam } from '@/api';
import { TaskRecord } from '@/api/oa/task-record/model';
import { TaskUser } from '@/api/oa/task-user/model';

/**
 * 任务
 */
export interface Task {
  // 任务id
  taskId?: number;
  // 任务名称
  name?: string;
  // 任务类型
  taskType?: string;
  // 关联应用
  appId?: number;
  // 项目ID
  projectId?: string;
  // 客户ID
  customerId?: string;
  // 资产ID
  assetsId?: string;
  // 开始时间
  startTime?: string;
  // 结束时间
  endTime?: string;
  // 任务内容
  content?: string;
  files?: string;
  // 任务发起人
  promoter?: number;
  promoterName?: string;
  promoterAlias?: string;
  promoterAvatar?: string;
  promoterCompanyName?: string;
  // 任务状态
  progress?: number;
  // 优先级
  priority?: string;
  // 品质要求
  quality?: string;
  // 期限(天)
  day?: string;
  // 排序
  sortNumber?: number;
  // 备注
  comments?: string;
  // 创建时间
  createTime?: string;
  // 状态
  status?: number;
  // 发布者
  userId?: any;
  // 发布者昵称
  nickname?: string;
  // 项目名称
  projectName?: string;
  // 图片集
  images?: [];
  avatar?: string;
  // 受理人
  commander?: number;
  commanderName?: string;
  commanderAlias?: string;
  commanderAvatar?: string;
  commanderCompanyName?: string;
  commanderRealName?: string;
  // 最后回复人
  lastRealName?: string;
  lastAvatar?: string;
  lastReadUser?: number;
  lastNickname?: string;
  recordList?: TaskRecord[];
  users?: TaskUser[];
}

/**
 * 任务搜索条件
 */
export interface TaskParam extends PageParam {
  taskId?: number;
  status?: number;
  name?: string;
  promoter?: number;
  promoterName?: string;
  commander?: number;
  commanderName?: string;
  progress?: string;
  betweenTime?: any;
  userId?: string;
  nickname?: string;
  keywords?: string;
}
