/** 项目类型 */
export interface ProjectResp {
  projectId: string // 项目ID (API返回的是字符串)
  projectCode?: string  // 项目编号
  projectName: string  // 项目名称
  projectIntro?: string // 项目简介
  farmName: string    // 风场名称 (API字段名是farmName)
  farmAddress?: string // 风场地址 (API字段名是farmAddress)
  client?: string // 委托单位
  clientContact?: string // 委托单位联系人
  clientPhone?: string // 委托单位联系电话
  inspectionContact?: string // 检查单位联系人
  inspectionPhone?: string // 检查单位联系电话
  inspectionUnit?: string // 检查单位
  projectScale?: string // 项目规模
  scale?: string // 项目规模 (API可能使用scale字段)
  turbineModel?: string // 机组型号 (API字段名是turbineModel)
  projectCategory?: string // 项目类型/服务
  projectManagerId?: string // 项目经理ID
  projectManagerName?: string // 项目经理姓名
  projectStaff?: string[] // 施工人员
  startDate?: string // 开始日期
  endDate?: string // 结束日期
  status: number // 状态 (API返回数字类型)
  statusLabel?: string // 状态标签 (API返回的状态文本)
  constructorIds?: string // 施工人员ID
  constructorName?: string // 施工人员姓名
  coverUrl?: string // 封面URL
  createDt?: Date
  updateDt?: Date
  
  // 为了保持向后兼容，添加一些别名字段
  id?: string // projectId的别名
  fieldName?: string // farmName的别名  
  fieldLocation?: string // farmAddress的别名
  commissionUnit?: string // client的别名
  commissionContact?: string // clientContact的别名
  commissionPhone?: string // clientPhone的别名
  orgNumber?: string // turbineModel的别名
  projectManager?: string // projectManagerName的别名
  projectPeriod?: [string, string] // 项目周期
}

export interface ProjectQuery {
  projectName?: string
  projectCode?: string
  status?: string
  fieldName?: string
}

export interface ProjectPageQuery extends ProjectQuery, PageQuery {}

/** 任务组类型 */
export interface TaskGroupResp {
  id: number
  groupName: string
  projectId: number
  createDt?: Date
}

/** 任务类型 */
export interface TaskResp {
  id: number
  taskName: string
  taskCode: string
  projectId: number
  groupId?: number
  responsiblePerson: string
  participants: string[]
  taskPeriod: [string, string]
  superior?: number
  project?: string
  plannedHours: number
  status: string
  progress: number
  description?: string
  createDt?: Date
  updateDt?: Date
}

export interface TaskQuery {
  projectId?: number
  groupId?: number
  taskName?: string
  status?: string
}

export interface TaskPageQuery extends TaskQuery, PageQuery {} 