import request from '@/config/axios'

// 项目任务时间表/施工进度 VO
export interface IotProjectTaskScheduleVO {
  id: number // 主键id
  projectId: number // 项目id
  taskId: number // 任务id
  status: number // 施工状态(工作量开始/动迁/准备/施工)
  description: string // 施工阶段描述
  startTime: Date // 状态起始时间
  endTime: Date // 状态结束时间
  remark: string // 备注
}

// 项目任务时间表/施工进度 API
export const IotProjectTaskScheduleApi = {
  // 查询项目任务时间表/施工进度分页
  getIotProjectTaskSchedulePage: async (params: any) => {
    return await request.get({ url: `/rq/iot-project-task-schedule/page`, params })
  },

  // 查询项目任务时间表/施工进度列表
  getIotProjectTaskSchedules: async (params: any) => {
    return await request.get({ url: `/rq/iot-project-task-schedule/list`, params })
  },

  // 查询项目任务时间表/施工进度详情
  getIotProjectTaskSchedule: async (id: number) => {
    return await request.get({ url: `/rq/iot-project-task-schedule/get?id=` + id })
  },

  // 新增项目任务时间表/施工进度
  createIotProjectTaskSchedule: async (data: IotProjectTaskScheduleVO) => {
    return await request.post({ url: `/rq/iot-project-task-schedule/create`, data })
  },

  // 保存项目日报 任务进度表
  saveTaskSchedule: async (data: any) => {
    return await request.post({ url: `/rq/iot-project-task-schedule/saveTaskSchedule`, data })
  },

  // 修改项目任务时间表/施工进度
  updateIotProjectTaskSchedule: async (data: IotProjectTaskScheduleVO) => {
    return await request.put({ url: `/rq/iot-project-task-schedule/update`, data })
  },

  // 删除项目任务时间表/施工进度
  deleteIotProjectTaskSchedule: async (id: number) => {
    return await request.delete({ url: `/rq/iot-project-task-schedule/delete?id=` + id })
  },

  // 导出项目任务时间表/施工进度 Excel
  exportIotProjectTaskSchedule: async (params) => {
    return await request.download({ url: `/rq/iot-project-task-schedule/export-excel`, params })
  },

  // 查询每个任务相关公司的 工作量字段
  getWorkload: async (id: number | string) => {
    return await request.get({
      url: `/rq/iot-project-task-schedule/scheduleExtProperties?taskId=${id}`
    })
  }
}
