index.ts
1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import {
  CreateTaskRecordType,
  GenModbusCommandType,
  GetTaskListParamsType,
  ImmediateExecuteTaskType,
  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',
  GEN_MODBUS_COMMAND = '/js/modbus',
  IMMEDIATE_EXECUTE = '/task_center/immediate/execute',
}
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,
  });
};
/**
 * @description 取消任务
 * @param data
 * @returns
 */
export const cancelTask = (
  data: Record<'id' | 'tbDeviceId', string> & Record<'allow', boolean>
) => {
  return defHttp.put({
    url: `${Api.CANCEL_TASK}/${data.id}/update/${data.tbDeviceId}/${data.allow}`,
  });
};
/**
 * @description 生成modbus指令
 * @param data
 * @returns {string}
 */
export const genModbusCommand = (data: GenModbusCommandType) => {
  return defHttp.post<string>(
    {
      url: Api.GEN_MODBUS_COMMAND,
      data,
    },
    { withShareToken: true }
  );
};
export const immediateExecute = (data: ImmediateExecuteTaskType) => {
  return defHttp.post<Record<'data', boolean>>({
    url: Api.IMMEDIATE_EXECUTE,
    params: data,
  });
};