Riku
2024-08-12 7c3c82d429f86358142adceb080e8922f6a18aa0
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
/**
 * 监管场景各类设备信息相关数据接口
 */
import { Multipart } from '../../utils/Multipart.min';
import { get, post, put } from '../baseRequset';
import { inspectUrl, inspectPicUrl } from '../../config/index';
import { transSceneType } from '../../model/sceneType';
 
/**
 * 获取场景设备基本信息
 * @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 => {
    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,
};