import { stringify } from 'qs';
import { request } from 'umi';

const baseURL = '/api';

/**
 * 获取任务列表
 * @param data.project_id
 * @returns {Promise<*>}
 */
export async function getMandateList(data) {
  return request(`${baseURL}/v1/mandate/list?${stringify(data)}`);
}

/**
 * 获取子任务列表
 * @param params.project_id
 * @param params.mandate_id
 * @returns {Promise<*>}
 */
export async function getMandateChildList(params) {
  return request(`${baseURL}/v1/mandate-child/list?${stringify(params)}`);
}

/**
 * 获取任务详情
 * @param params.mandate_id
 * @param params.project_id
 * @returns {Promise<*>}
 */
export async function getMandateDetail(params) {
  return request(`${baseURL}/v1/mandate/info?${stringify(params)}`);
}

/**
 * 设置任务为自动
 * @param params.mandate_id 任务id
 * @param params.pw MD5加密的口令
 * @returns {Promise<*>}
 */
export async function setTaskAutomation(params) {
  return request(`${baseURL}/v1/mandate/automation`, {
    method: 'POST',
    data: params,
  });
}

/**
 * 忽略任务
 * @param params.Id 任务id
 * @param params.Status 状态
 * @param params.note 备注
 * @returns {Promise<*>}
 */
export async function ignoreTask(params) {
  const encodeParams = new URLSearchParams(params).toString();
  return request(`${baseURL}/v1/mandate/edit`, {
    method: 'POST',
    headers: { ContentType: 'application/x-www-form-urlencoded' },
    data: encodeParams,
  });
}

/**
 * 派单
 * @param params.m_id *主任务id
 * @param params.mc_id *子任务id,多个以逗号分隔
 * @param params.operator_id *操作员id
 * @param params.plan_end_time *计划完成时间 YYYY:MM:DD HH:mm:ss
 * @param params.type *工单类型:1:工艺工单,2:维修工单,3:保养工单
 * @param params.note 备注
 * @returns {Promise<*>}
 */
export async function dispatchOrder(params) {
  return request(`${baseURL}/v1/work_order/save`, {
    method: 'POST',
    data: params,
  });
}

/**
 * 获取保养工单列表
 * @param data.project_id
 * @param data.id 工单id
 * @returns {Promise<*>}
 */
export async function getMaintainRecordList(data) {
  return request(
    `${baseURL}/v1/maintain-record/list/${data.project_id}?${stringify(data)}`,
    'GET',
  );
}

/**
 * 获取维修工单列表
 * @param data.project_id
 * @param data.id 工单id
 * @returns {Promise<*>}
 */
export async function getRepairRecordList(data) {
  return request(
    `${baseURL}/v1/repair-record/list/${data.project_id}?${stringify(data)}`,
    'GET',
  );
}

/**
 * 获取工艺工单列表
 * @param data.project_id
 * @param data.work_id 工单id
 * @returns {Promise<*>}
 */
export async function getCraftRecordList(data) {
  return request(
    `${baseURL}/v1/work_order/section/list?${stringify(data)}`,
    'GET',
  );
}

export async function getDiagnosticDetail(detailId) {
  const res = await request(`/api/v1/dumu/detail/${detailId}`);
  return res.data;
}
