gaoluyang
2025-09-16 793391c23ba45b3dab55657ecd2448d87e17f854
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
import request from "@/utils/request";
 
/**
 * @desc 获取巡检清单列表
 * @param {Object} params - 查询参数
 * @param {string} params.date - 巡检日期
 * @param {string} params.inspector - 巡检员
 * @param {number} params.status - 巡检状态 0:待巡检 1:巡检中 2:已完成
 * @returns {Promise}
 */
export const getInspectionList = (params) => {
  return request({
    url: "/device/inspection/list",
    method: "get",
    params,
  });
};
 
/**
 * @desc 获取巡检详情
 * @param {string|number} id - 巡检ID
 * @returns {Promise}
 */
export const getInspectionDetail = (id) => {
  return request({
    url: `/device/inspection/${id}`,
    method: "get",
  });
};
 
/**
 * @desc 开始巡检
 * @param {Object} data - 巡检数据
 * @param {string|number} data.inspectionId - 巡检ID
 * @param {string} data.startTime - 开始时间
 * @returns {Promise}
 */
export const startInspection = (data) => {
  return request({
    url: "/device/inspection/start",
    method: "post",
    data,
  });
};
 
/**
 * @desc 提交巡检记录
 * @param {Object} data - 巡检记录数据
 * @param {string|number} data.deviceId - 设备ID
 * @param {string} data.deviceCode - 设备编码
 * @param {string} data.inspectionDate - 巡检日期
 * @param {string} data.inspector - 巡检员
 * @param {string} data.scanTime - 扫码时间
 * @param {Array} data.items - 巡检项目列表
 * @param {string} data.completedAt - 完成时间
 * @returns {Promise}
 */
export const submitInspectionRecord = (data) => {
  return request({
    url: "/device/inspection/submit",
    method: "post",
    data,
  });
};
 
/**
 * @desc 更新巡检项目
 * @param {Object} data - 巡检项目数据
 * @param {string|number} data.inspectionId - 巡检ID
 * @param {string|number} data.itemId - 项目ID
 * @param {string} data.result - 巡检结果 normal:正常 abnormal:异常
 * @param {string} data.abnormalDesc - 异常描述
 * @param {Array} data.images - 图片列表
 * @param {Array} data.videos - 视频列表
 * @param {string} data.remark - 备注
 * @returns {Promise}
 */
export const updateInspectionItem = (data) => {
  return request({
    url: "/device/inspection/item/update",
    method: "put",
    data,
  });
};
 
/**
 * @desc 扫码打卡
 * @param {Object} data - 打卡数据
 * @param {string|number} data.inspectionId - 巡检ID
 * @param {string} data.deviceCode - 设备编码
 * @param {string} data.qrCode - 二维码内容
 * @param {string} data.checkInTime - 打卡时间
 * @param {string} data.location - 打卡位置
 * @returns {Promise}
 */
export const checkInByQRCode = (data) => {
  return request({
    url: "/device/inspection/checkin",
    method: "post",
    data,
  });
};
 
/**
 * @desc 上传巡检文件(图片/视频)
 * @param {FormData} formData - 文件数据
 * @returns {Promise}
 */
export const uploadInspectionFile = (formData) => {
  return request({
    url: "/device/inspection/upload",
    method: "post",
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  });
};
 
/**
 * @desc 获取巡检统计数据
 * @param {Object} params - 查询参数
 * @param {string} params.startDate - 开始日期
 * @param {string} params.endDate - 结束日期
 * @param {string} params.inspector - 巡检员
 * @returns {Promise}
 */
export const getInspectionStats = (params) => {
  return request({
    url: "/device/inspection/stats",
    method: "get",
    params,
  });
};
 
/**
 * @desc 获取巡检历史记录
 * @param {Object} params - 查询参数
 * @param {string|number} params.deviceId - 设备ID
 * @param {number} params.current - 当前页
 * @param {number} params.size - 页面大小
 * @returns {Promise}
 */
export const getInspectionHistory = (params) => {
  return request({
    url: "/device/inspection/history",
    method: "get",
    params,
  });
};
 
/**
 * @desc 导出巡检记录
 * @param {Object} params - 导出参数
 * @param {string} params.startDate - 开始日期
 * @param {string} params.endDate - 结束日期
 * @param {string} params.inspector - 巡检员
 * @param {Array} params.deviceIds - 设备ID列表
 * @returns {Promise}
 */
export const exportInspectionRecords = (params) => {
  return request({
    url: "/device/inspection/export",
    method: "get",
    params,
    responseType: 'blob'
  });
};
 
/**
 * @desc 删除巡检记录
 * @param {string|number} id - 巡检记录ID
 * @returns {Promise}
 */
export const deleteInspectionRecord = (id) => {
  return request({
    url: `/device/inspection/${id}`,
    method: "delete",
  });
};
 
/**
 * @desc 批量删除巡检记录
 * @param {Array} ids - 巡检记录ID列表
 * @returns {Promise}
 */
export const batchDeleteInspectionRecords = (ids) => {
  return request({
    url: "/device/inspection/batch/delete",
    method: "delete",
    data: { ids },
  });
};
 
/**
 * @desc 获取设备二维码
 * @param {string|number} deviceId - 设备ID
 * @returns {Promise}
 */
export const getDeviceQRCode = (deviceId) => {
  return request({
    url: `/device/qrcode/${deviceId}`,
    method: "get",
  });
};
 
/**
 * @desc 验证设备二维码
 * @param {Object} data - 验证数据
 * @param {string} data.qrCode - 二维码内容
 * @param {string|number} data.deviceId - 设备ID
 * @returns {Promise}
 */
export const verifyDeviceQRCode = (data) => {
  return request({
    url: "/device/qrcode/verify",
    method: "post",
    data,
  });
};