/** * 监管场景各类设备信息相关数据接口 */ import Multipart from '../../utils/Multipart.min'; import { get, post, put } from '../baseRequset'; import { inspectUrl, inspectPicUrl } from '../../config/index'; import { transSceneType } from '../../model/sceneType'; import { getDeviceList } from '../../model/device'; /** * 获取场景设备基本信息 * @param {String} sceneId 场景id * @param {Number} deviceTypeId 设备类型id(0:监控设备;1:治理设备;2:生产设备;) */ function fetchDevices(sceneId, deviceTypeId) { return get( { url: `/device`, params: { sceneId: sceneId, deviceTypeId: deviceTypeId, }, }, inspectUrl, ).then(res => { res.data.data = getDeviceList(res.data.data, deviceTypeId); return res.data; }); } /** * 上传新增设备信息 * @param {Object} deviceInfo 设备信息 * @param {Number} deviceTypeId 设备类型 */ function uploadDevice(deviceInfo, deviceTypeId) { return put( { url: `/device/upload`, params: { deviceTypeId: deviceTypeId, }, data: deviceInfo, }, inspectUrl, ).then(res => { return res.data; }); } /** * 上传更新设备信息 * @param {Object} deviceInfo 设备信息 * @param {Number} deviceTypeId 设备类型 */ function updateDevice(deviceInfo, deviceTypeId) { return post( { url: `/device/update`, params: { deviceTypeId: deviceTypeId, }, data: deviceInfo, }, inspectUrl, ).then(res => { return res.data; }); } /** * 获取场景设备状态信息 * @param {String} sceneId 场景id * @param {Number} deviceId 设备id * @param {Number} deviceTypeId 设备类型id(0:监控设备;1:治理设备;2:生产设备;) */ function fetchDeviceStatus(sceneId, deviceId, deviceTypeId) { return get( { url: `/device/status`, params: { sceneId: sceneId, deviceId: deviceId, deviceTypeId: deviceTypeId, }, }, inspectUrl, ).then(res => { return res.data; }); } /** * 新增设备状态信息 * @param {Object} status 设备信息 * @param {Array} images 设备状态图片集合 */ function uploadDeviceStatus(status, images) { const fields = [ { name: 'status', value: JSON.stringify(status), }, ]; const files = []; images.forEach(p => { files.push({ name: 'images', filePath: p, }); }); return new Multipart({ fields, files, }) .submit(inspectUrl + `/device/status/upload`) .then(res => { return res.data; }); } /** * 更新设备状态信息 * @param {Object} status 设备信息 * @param {Array} deleteImg 删除的设备状态图片集合 * @param {Array} images 设备状态图片集合 */ function updateDeviceStatus(status, deleteImg, images) { const fields = [ { name: 'status', value: JSON.stringify(status), }, ]; deleteImg.forEach(d => { fields.push({ name: 'deleteImg', value: JSON.stringify(d), }); }); const files = []; images.forEach(p => { files.push({ name: 'images', filePath: p, }); }); return new Multipart({ fields, files, }) .submit(inspectUrl + `/device/status/update`) .then(res => { return res.data; }); } export { fetchDevices, uploadDevice, updateDevice, fetchDeviceStatus, uploadDeviceStatus, updateDeviceStatus, };