index.ts 1.26 KB
import { CreateTaskRecordType, GetTaskListParamsType, TaskRecordType } from './model';
import { PaginationResult } from '/#/axios';
import { defHttp } from '/@/utils/http/axios';

enum Api {
  TASK_LIST = '/task_center',
  ADD_TASK = '/task_center/add',
  UPDATE_STATE = '/task_center',
  DELETE_TASK = '/task_center',
  UPDATE_TASK = '/task_center/update',
  CANCEL_TASK = '/task_center',
}

export const getTaskCenterList = (params: GetTaskListParamsType) => {
  return defHttp.get<PaginationResult<TaskRecordType>>({
    url: Api.TASK_LIST,
    params,
  });
};

export const createTask = (data: CreateTaskRecordType) => {
  return defHttp.post({
    url: Api.ADD_TASK,
    data,
  });
};

export const updateState = (id: string, state: number) => {
  return defHttp.put({
    url: `${Api.UPDATE_STATE}/${id}/update/${state}`,
  });
};

export const deleteTask = (ids: string[]) => {
  return defHttp.delete({
    url: Api.DELETE_TASK,
    data: { ids },
  });
};

export const updateTask = (data: CreateTaskRecordType & Record<'id', string>) => {
  return defHttp.put({
    url: Api.UPDATE_TASK,
    data,
  });
};

export const cancelTask = (data: Record<'id' | 'tbDeviceId', string>) => {
  return defHttp.put({
    url: `${Api.CANCEL_TASK}/${data.id}/cancel/${data.tbDeviceId}`,
  });
};