index.ts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  1. import qs from 'qs';
  2. import { request } from '@/utils';
  3. import type {
  4. AddInterface,
  5. AgreementUpdate,
  6. AlarmHistoryItem,
  7. AllDevicesList,
  8. BatchUpdate,
  9. CustomParameters,
  10. DeviceBindQuery,
  11. DeviceGroup,
  12. DeviceGroupItem,
  13. DeviceGroupListQuery,
  14. DeviceParamGroup,
  15. DeviceParams,
  16. DevicesList,
  17. DevicesListItemData,
  18. DeviceTypeCount,
  19. DevWorkHisDataQuery,
  20. DevWorkHistoryData,
  21. DevWorkRealTimeData,
  22. DictTypeData,
  23. DictTypeDataParams,
  24. EquipmentDetailsItem,
  25. EquipmentInformationForm,
  26. EquipmentTypeItem,
  27. EquipmentUpdateForm,
  28. GatewayBody,
  29. GatewayInformation,
  30. GatewayInterface,
  31. GatewayLinkProtocolQuery,
  32. GatewayListItemData,
  33. GatewayModelInfo,
  34. GatewayParameterBody,
  35. GatewayParameterItemData,
  36. GetListItem,
  37. GroupingList,
  38. GroupingListData,
  39. GroupRegions,
  40. InterfaceData,
  41. InterfaceLsit,
  42. LimitForm,
  43. ListEquipmentParametersItemData,
  44. ListInfo,
  45. ListInterfaces,
  46. ListPhysicalInterfaces,
  47. MonitoringForm,
  48. MonitoringPointData,
  49. MonitorPointInfo,
  50. MonitorPointItem,
  51. OutdooForm,
  52. ParameterVerification,
  53. ParamValueListAutomaticData,
  54. ParamValueListAutomaticQuery,
  55. PointTimeSeriesQuery,
  56. PostProtocolPage,
  57. PostProtocolPageItem,
  58. PostProtocolPageItemData,
  59. ProtocolBaseInfo,
  60. ProtocolGatewayListListItem,
  61. ProtocolItemData,
  62. ProtocolList,
  63. ProtocolListData,
  64. ProtocolListItem,
  65. ProtocolListQuery,
  66. ProtocolParamData,
  67. ProtocolParamInfo,
  68. ProtocolParamSearchParams,
  69. ProtocolReset,
  70. ProtocolStandardParam,
  71. ProtocolStandardParamData,
  72. ProtocolStandardParamQuery,
  73. RegionQuery,
  74. RegionsPointsItem,
  75. SerialNumberItem,
  76. SerialNumberItemData,
  77. SubmitSorting,
  78. TempHumidityControlSettings,
  79. VerificationAgreement,
  80. VerificationEquipment,
  81. WarningItem,
  82. } from '@/types';
  83. /**
  84. * 获取认证授权服务 url
  85. */
  86. const apiUaa = (path: string, params?: unknown) => {
  87. const apiUrl = params ? `${path}?${qs.stringify(params)}` : path;
  88. return `/api-uaa${apiUrl}`;
  89. };
  90. /**
  91. * 获取系统服务 url
  92. */
  93. const apiSys = (path: string, params?: unknown) => {
  94. const apiUrl = params ? `${path}?${qs.stringify(params)}` : path;
  95. return `/api-sys${apiUrl}`;
  96. };
  97. /**
  98. * 获取业务服务 url
  99. */
  100. const apiBiz = (path: string, params?: unknown) => {
  101. const apiUrl = params ? `${path}?${qs.stringify(params)}` : path;
  102. return `/api-biz${apiUrl}`;
  103. };
  104. // ----- 认证授权服务 -----
  105. // 登录和注销
  106. export const loginUser = async () => {
  107. const params = {
  108. grant_type: 'password',
  109. username: 'admin1',
  110. password: 'admin',
  111. };
  112. await request(apiUaa('/oauth/token', params), {
  113. method: 'POST',
  114. headers: {
  115. Authorization: 'Basic ' + btoa('unimat:unimat'),
  116. },
  117. });
  118. };
  119. export const logoutUser = async () => {
  120. await request(apiUaa('/oauth/remove/token'));
  121. };
  122. export const refreshUser = async () => {
  123. await request(apiUaa('/oauth/token'));
  124. };
  125. // ----- 系统服务 -----
  126. // 环境监控-监测点预警配置
  127. export const addBatchMonitorPointAlarm = async (params: WarningItem[]) => {
  128. await request(apiBiz('/monitorPointAlarm/addBatch'), {
  129. method: 'POST',
  130. body: JSON.stringify({ monitorPointAlarms: params }),
  131. });
  132. };
  133. export const getMonitorPointAlarm = async (pointId: number) => {
  134. const data = await request<MonitorPointItem[]>(apiBiz(`/monitorPointAlarm/point/${pointId}`));
  135. return data;
  136. };
  137. export const updateBatchMonitorPointAlarm = async (params: WarningItem[]) => {
  138. await request(apiBiz('/monitorPointAlarm/updateBatch'), {
  139. method: 'POST',
  140. body: JSON.stringify({ monitorPointAlarms: params }),
  141. });
  142. };
  143. export const getMonitorPointAlarmHistory = async (devGroupId: number) => {
  144. const data = await request<AlarmHistoryItem[]>(apiBiz(`/monitorPointAlarm/history/${devGroupId}`));
  145. return data;
  146. };
  147. // 环境监控-区域
  148. export const addRegion = async (params: RegionQuery) => {
  149. await request(apiBiz('/region/add'), {
  150. method: 'POST',
  151. body: JSON.stringify(params),
  152. });
  153. };
  154. export const regionUpdate = async (params: RegionQuery) => {
  155. await request(apiBiz('/region/update'), {
  156. method: 'POST',
  157. body: JSON.stringify(params),
  158. });
  159. };
  160. export const regionDelete = async (id: number) => {
  161. await request(apiBiz(`/region/delete/${id}`), {
  162. method: 'POST',
  163. });
  164. };
  165. export const getGroupRegions = async (devGroupId: number) => {
  166. const data = await request<GroupRegions[]>(apiBiz(`/region/groupRegions/${devGroupId}`), {
  167. method: 'POST',
  168. });
  169. return data;
  170. };
  171. export const getRegionsPointsData = async (devGroupId: number) => {
  172. const data = await request<RegionsPointsItem[]>(apiBiz(`/region/pointsData/${devGroupId}`), {
  173. method: 'POST',
  174. });
  175. return data;
  176. };
  177. export const getRegionsPointsValue = async (devGroupId: number, params: { endTime: string }) => {
  178. const data = await request<MonitoringPointData[]>(apiBiz(`/region/pointsValue/${devGroupId}`), {
  179. method: 'POST',
  180. body: JSON.stringify(params),
  181. });
  182. return data;
  183. };
  184. // 环境监控-监测点
  185. export const addMonitorPoint = async (params: MonitoringForm) => {
  186. await request(apiBiz('/monitorPoint/add'), {
  187. method: 'POST',
  188. body: JSON.stringify(params),
  189. });
  190. };
  191. export const deleteMonitorPoint = async (id: number) => {
  192. await request(apiBiz(`/monitorPoint/delete/${id}`), {
  193. method: 'POST',
  194. });
  195. };
  196. export const updateMonitorPoint = async (params: MonitoringForm) => {
  197. await request(apiBiz('/monitorPoint/update'), {
  198. method: 'POST',
  199. body: JSON.stringify(params),
  200. });
  201. };
  202. export const updateRegionMonitorPoint = async (params: OutdooForm) => {
  203. await request(apiBiz('/region/monitorPoint/update'), {
  204. method: 'POST',
  205. body: JSON.stringify(params),
  206. });
  207. };
  208. export const getMonitorPointInfo = async (id: number) => {
  209. const data = await request<MonitorPointInfo>(apiBiz(`/monitorPoint/info/${id}`));
  210. return data;
  211. };
  212. export const updateLimits = async (params: LimitForm) => {
  213. await request(apiBiz('/monitorPoint/updateLimits'), {
  214. method: 'POST',
  215. body: JSON.stringify(params),
  216. });
  217. };
  218. export const getPointTimeSeries = async (params: PointTimeSeriesQuery, pointId: number) => {
  219. const data = await request<TempHumidityControlSettings>(apiBiz(`/monitorPoint/pointTimeSeries/${pointId}`), {
  220. method: 'POST',
  221. body: JSON.stringify(params),
  222. });
  223. return data;
  224. };
  225. // 字典类型表
  226. export const getDictTypeData = async (params: DictTypeDataParams) => {
  227. const data = await request<DictTypeData[]>(apiSys('/sysDictType/typeAndData', params));
  228. return data;
  229. };
  230. // ----- 业务服务 -----
  231. // 设备组列表
  232. export const getPageList = async () => {
  233. const data = await request<DeviceGroupItem[]>(apiBiz('/deviceGroup/getList'), {
  234. method: 'POST',
  235. });
  236. return data;
  237. };
  238. // 设备列表
  239. export const deviceAdd = async (equipmentInformationForm: EquipmentInformationForm) => {
  240. const data = await request<number>(apiBiz('/device/add'), {
  241. method: 'POST',
  242. body: JSON.stringify(equipmentInformationForm),
  243. });
  244. return data;
  245. };
  246. export const getDeviceGroupList = async (params: DeviceGroupListQuery) => {
  247. const data = await request<DeviceGroup[]>(apiBiz('/deviceGroup/getDeviceGroupList'), {
  248. method: 'POST',
  249. body: JSON.stringify(params),
  250. });
  251. return data;
  252. };
  253. export const addDeviceBind = async (params: DeviceBindQuery) => {
  254. await request(apiBiz('/device/bind'), {
  255. method: 'POST',
  256. body: JSON.stringify(params),
  257. });
  258. };
  259. export const deviceDeletion = async (ids: number[]) => {
  260. await request(apiBiz('/device/delete/batch'), {
  261. method: 'POST',
  262. body: JSON.stringify(ids),
  263. });
  264. };
  265. export const equipmentDetails = async (id: number) => {
  266. const data = await request<EquipmentDetailsItem>(apiBiz(`/device/getBasicInfo/${id}`), {
  267. method: 'POST',
  268. });
  269. return data;
  270. };
  271. export const queryDevicesList = async (devicesList: DevicesList) => {
  272. const data = await request<DevicesListItemData>(apiBiz('/device/getPageList'), {
  273. method: 'POST',
  274. body: JSON.stringify(devicesList),
  275. });
  276. return data;
  277. };
  278. export const noPaginationDevicesList = async () => {
  279. const data = await request<AllDevicesList[]>(apiBiz('/device/getList'), {
  280. method: 'POST',
  281. });
  282. return data;
  283. };
  284. export const getDeviceListSimple = async (deviceId: number) => {
  285. const data = await request<DeviceParams[]>(apiBiz(`/device/listSimple/${deviceId}`));
  286. return data;
  287. };
  288. export const getDeviceParams = async (deviceId: number, isProcessData: boolean) => {
  289. const data = await request<DeviceParamGroup[]>(apiBiz('/device/protocolParamVerify '), {
  290. method: 'POST',
  291. body: JSON.stringify({
  292. deviceId,
  293. isProcessData,
  294. }),
  295. });
  296. return data;
  297. };
  298. // 设备工况
  299. export const getDevWorkTypeCount = async (deviceGroupId: number, deviceTypes: number[]) => {
  300. const data = await request<DeviceTypeCount[]>(apiBiz('/deviceCondition/getTypeCount'), {
  301. method: 'POST',
  302. body: JSON.stringify({
  303. deviceGroupId,
  304. deviceTypes,
  305. }),
  306. });
  307. return data;
  308. };
  309. export const getDevWorkRealTimeData = async (deviceIds: number[], deviceParamCode: string[]) => {
  310. const data = await request<DevWorkRealTimeData[]>(apiBiz('/deviceCondition/getRTDList'), {
  311. method: 'POST',
  312. body: JSON.stringify({
  313. deviceIds,
  314. deviceParamCode,
  315. }),
  316. });
  317. return data;
  318. };
  319. export const getDevWorkHistoryData = async (params: DevWorkHisDataQuery) => {
  320. const data = await request<DevWorkHistoryData[]>(apiBiz('/deviceCondition/getHisList'), {
  321. method: 'POST',
  322. body: JSON.stringify(params),
  323. });
  324. return data;
  325. };
  326. // 设备网关
  327. export const deviceGatewayUpdate = async (equipmentUpdateForm: EquipmentUpdateForm[]) => {
  328. await request(apiBiz('/deviceGateway/update'), {
  329. method: 'POST',
  330. body: JSON.stringify(equipmentUpdateForm),
  331. });
  332. };
  333. // 设备协议参数验证
  334. export const postParameterVerification = async (deviceId: number) => {
  335. const data = await request<ParameterVerification[]>(apiBiz('/protocolParamVerify/list'), {
  336. method: 'POST',
  337. body: JSON.stringify({
  338. deviceId,
  339. }),
  340. });
  341. return data;
  342. };
  343. // 设备参数分组
  344. export const equipmentParametersList = async (groupingList: GroupingList[]) => {
  345. await request(apiBiz('/deviceParamGroup/update/batch'), {
  346. method: 'POST',
  347. body: JSON.stringify(groupingList),
  348. });
  349. };
  350. export const queryEquipmentParametersList = async (deviceId: number) => {
  351. const data = await request<GroupingListData[]>(apiBiz('/deviceParamGroup/getList'), {
  352. method: 'POST',
  353. body: JSON.stringify({ deviceId }),
  354. });
  355. return data;
  356. };
  357. // 设备参数关系表
  358. export const submitSortingList = async (submitSorting: SubmitSorting[]) => {
  359. await request(apiBiz('/deviceParamGroupRel/update/batch'), {
  360. method: 'POST',
  361. body: JSON.stringify(submitSorting),
  362. });
  363. };
  364. // 设备自定义参数表
  365. export const submitCustomParameters = async (customParameters: CustomParameters[]) => {
  366. await request(apiBiz('/protocolParamCustomDev/update/batch'), {
  367. method: 'POST',
  368. body: JSON.stringify(customParameters),
  369. });
  370. };
  371. // 网关基本信息
  372. export const addGateway = async () => {
  373. await request(apiBiz('/gateway/add'));
  374. };
  375. export const gatewayDelete = async (id: number) => {
  376. await request(apiBiz(`/gateway/delete/${id}`), {
  377. method: 'POST',
  378. });
  379. };
  380. export const getAllGatewayList = async () => {
  381. const data = await request<SerialNumberItem[]>(apiBiz('/gateway/getGtwLinkList'), {
  382. method: 'POST',
  383. });
  384. return data;
  385. };
  386. export const validateGatewayInfo = async (registerGatewayForm: VerificationEquipment) => {
  387. const data = await request<GatewayInformation>(apiBiz('/gateway/validate', registerGatewayForm), {
  388. method: 'POST',
  389. });
  390. return data;
  391. };
  392. export const gatewayList = async (gatewayBody: GatewayBody) => {
  393. const data = await request<GatewayListItemData>(apiBiz('/gateway/getPageList'), {
  394. method: 'POST',
  395. body: JSON.stringify(gatewayBody),
  396. });
  397. return data;
  398. };
  399. // 网关通讯
  400. export const gatewayLinkAdd = async (addInterface: AddInterface) => {
  401. await request(apiBiz('/gatewayLink/add'), {
  402. method: 'POST',
  403. body: JSON.stringify(addInterface),
  404. });
  405. };
  406. export const addGatewayLinkBatchUpdate = async (params: BatchUpdate[]) => {
  407. await request(apiBiz('/gatewayLink/batchUpdate'), {
  408. method: 'POST',
  409. body: JSON.stringify({ gatewayLinks: params }),
  410. });
  411. };
  412. export const gatewayLinkDelete = async (id: number) => {
  413. await request(apiBiz(`/gatewayLink/delete/${id}`), {
  414. method: 'POST',
  415. });
  416. };
  417. export const gatewayLinkGetList = async (gatewayId: number) => {
  418. const data = await request<InterfaceData[]>(apiBiz(`/gatewayLink/getList/${gatewayId}`), {
  419. method: 'POST',
  420. });
  421. return data;
  422. };
  423. export const gatewayLinkUpdate = async (agreementUpdate: AgreementUpdate) => {
  424. await request(apiBiz('/gatewayLink/update'), {
  425. method: 'POST',
  426. body: JSON.stringify(agreementUpdate),
  427. });
  428. };
  429. export const getGatewayLinks = async (gatewayId: number) => {
  430. const data = await request<InterfaceLsit[]>(apiBiz(`/gatewayLink/getGatewayLinks/${gatewayId}`));
  431. return data;
  432. };
  433. // 网关型号
  434. export const getGatewayModelInfo = async (id: number) => {
  435. const data = await request<GatewayModelInfo>(apiBiz(`/gatewayModel/info/${id}`));
  436. return data;
  437. };
  438. export const getGatewayModelInterfaces = async (id: number) => {
  439. const data = await request<GatewayInterface[]>(apiBiz(`/gatewayModel/interfaces/${id}`), {
  440. method: 'POST',
  441. });
  442. return data;
  443. };
  444. // 网关物理接口协议
  445. export const obtainListPhysicalInterfaces = async (id: number) => {
  446. const data = await request<ListPhysicalInterfaces[]>(apiBiz(`/gatewayInterfaceProtocol/getProtocols/${id}`));
  447. return data;
  448. };
  449. // 网关型号物理接口
  450. export const obtainListInterfaces = async (id: number) => {
  451. const data = await request<ListInterfaces[]>(apiBiz(`/gatewayPhysicalInterface/getInterfaces/${id}`));
  452. return data;
  453. };
  454. // 网关接口协议
  455. export const getParamValueListAutomatic = async (params: ParamValueListAutomaticQuery) => {
  456. const data = await request<ParamValueListAutomaticData[]>(apiBiz('/gatewayLinkProtocol/getParamValueListAutomatic'), {
  457. method: 'POST',
  458. body: JSON.stringify(params),
  459. });
  460. return data;
  461. };
  462. export const getAllGatewayLinkProtocol = async <T>(params: GatewayLinkProtocolQuery) => {
  463. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getLinkParams'), {
  464. method: 'POST',
  465. body: JSON.stringify(params),
  466. });
  467. return data;
  468. };
  469. export const gatewayLinkProtocolList = async <T>(protocolListItem: ProtocolListItem) => {
  470. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getParamPageList'), {
  471. method: 'POST',
  472. body: JSON.stringify(protocolListItem),
  473. });
  474. return data;
  475. };
  476. export const gatewayLinkProtocolGatewayList = async (protocolGatewayListListItem: ProtocolGatewayListListItem) => {
  477. const data = await request<ListEquipmentParametersItemData>(
  478. apiBiz('/gatewayLinkProtocol/getParamPageListByGateway'),
  479. {
  480. method: 'POST',
  481. body: JSON.stringify(protocolGatewayListListItem),
  482. },
  483. );
  484. return data;
  485. };
  486. export const gatewayLinkList = async (id: number) => {
  487. const data = await request<VerificationAgreement[]>(apiBiz(`/gatewayLinkProtocol/getProtocolInfoList/${id}`), {
  488. method: 'POST',
  489. });
  490. return data;
  491. };
  492. export const gatewayLinkProtocolReset = async (protocolReset: ProtocolReset) => {
  493. await request(apiBiz('/gatewayLinkProtocol/reset'), {
  494. method: 'POST',
  495. body: JSON.stringify(protocolReset),
  496. });
  497. };
  498. export const postProtocolCandidatesList = async (protocolList: ProtocolList, gatewayId: number) => {
  499. const data = await request<ProtocolItemData>(apiBiz(`/gatewayLinkProtocol/getProtocolCandidates/${gatewayId}`), {
  500. method: 'POST',
  501. body: JSON.stringify(protocolList),
  502. });
  503. return data;
  504. };
  505. export const gatewayParameterList = async (gatewayParameterBody: GatewayParameterBody) => {
  506. const data = await request<GatewayParameterItemData>(apiBiz('/gatewayLinkProtocol/getParamValuePageList'), {
  507. method: 'POST',
  508. body: JSON.stringify(gatewayParameterBody),
  509. });
  510. return data;
  511. };
  512. // 组织网关
  513. export const orgGatewayRegister = async (gatewayId: number) => {
  514. await request(apiBiz('/orgGateway/register'), {
  515. method: 'POST',
  516. body: JSON.stringify({ gatewayId }),
  517. });
  518. };
  519. export const orgGatewayUnregister = async (gatewayId: number) => {
  520. await request(apiBiz(`/orgGateway/unregister/${gatewayId}`), {
  521. method: 'POST',
  522. });
  523. };
  524. export const orgGatewaySerialNumber = async (protocolList: ProtocolList) => {
  525. const data = await request<SerialNumberItemData>(apiBiz('/orgGateway/getGatewayPageList'), {
  526. method: 'POST',
  527. body: JSON.stringify(protocolList),
  528. });
  529. return data;
  530. };
  531. // 平台标准协议参数
  532. export const getProtocolStandardParam = async (paramId: number) => {
  533. const data = await request<ProtocolStandardParam>(apiBiz(`/platformProtocolInfo/info/${paramId}`));
  534. return data;
  535. };
  536. export const getProtocolStandardParamList = async (params: ProtocolStandardParamQuery) => {
  537. const data = await request<ProtocolStandardParamData>(apiBiz('/platformProtocolInfo/getPageList'), {
  538. method: 'POST',
  539. body: JSON.stringify(params),
  540. });
  541. return data;
  542. };
  543. // 协议参数
  544. export const addProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  545. await request(apiBiz('/protocolParamInfo/add'), {
  546. method: 'POST',
  547. body: JSON.stringify(params),
  548. });
  549. };
  550. export const updateProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  551. await request(apiBiz('/protocolParamInfo/update'), {
  552. method: 'POST',
  553. body: JSON.stringify(params),
  554. });
  555. };
  556. export const getProtocolParamList = async (params: ProtocolParamSearchParams) => {
  557. const data = await request<ProtocolParamData>(apiBiz('/protocolParamInfo/getPageList'), {
  558. method: 'POST',
  559. body: JSON.stringify(params),
  560. });
  561. return data;
  562. };
  563. export const batchDeleleProtocolParam = async (params: number[]) => {
  564. await request(apiBiz('/protocolParamInfo/batchDeleleByIds'), {
  565. method: 'POST',
  566. body: JSON.stringify(params),
  567. });
  568. };
  569. // 协议基本信息
  570. export const addProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  571. const data = await request<number>(apiBiz('/protocolBaseInfo/add'), {
  572. method: 'POST',
  573. body: JSON.stringify(params),
  574. });
  575. return data;
  576. };
  577. export const downloadProtocolTemplate = async (fileName: string) => {
  578. const blob = await request<Blob>(apiBiz(`/protocolBaseInfo/downloadTemplate/${fileName}`));
  579. return blob;
  580. };
  581. export const uploadUserProtocol = async (protocolType: string, file: Blob) => {
  582. const formData = new FormData();
  583. formData.append('file', file);
  584. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  585. apiBiz('/protocolBaseInfo/uploadUserTemplate', { protocolType }),
  586. {
  587. method: 'POST',
  588. body: formData,
  589. },
  590. );
  591. return data;
  592. };
  593. export const reUploadUserProtocol = async (protocolType: string, id: number, file: Blob) => {
  594. const formData = new FormData();
  595. formData.append('file', file);
  596. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  597. apiBiz('/protocolBaseInfo/resetConfiguration', { protocolType, id }),
  598. {
  599. method: 'POST',
  600. body: formData,
  601. },
  602. );
  603. return data;
  604. };
  605. export const downloadUserProtocol = async (id: number) => {
  606. const blob = await request<Blob>(apiBiz('/protocolBaseInfo/downloadUserProtocol', { id }));
  607. return blob;
  608. };
  609. /**
  610. * @deprecated
  611. */
  612. export const getUploadProtocol = async (protocolType: string, protocolName: string) => {
  613. const data = await request<ProtocolBaseInfo>(
  614. apiBiz('/protocolBaseInfo/findUploadProtocolBaseInfo', {
  615. protocolType,
  616. protocolName,
  617. }),
  618. );
  619. return data;
  620. };
  621. export const getProtocolBaseInfo = async (id: number) => {
  622. const data = await request<ProtocolBaseInfo>(apiBiz(`/protocolBaseInfo/info/${id}`));
  623. return data;
  624. };
  625. export const updateProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  626. await request(apiBiz('/protocolBaseInfo/update'), {
  627. method: 'POST',
  628. body: JSON.stringify(params),
  629. });
  630. };
  631. export const deleteProtocolBaseInfo = async (id: number) => {
  632. await request(apiBiz(`/protocolBaseInfo/delete/${id}`), {
  633. method: 'POST',
  634. });
  635. };
  636. export const completeProtocolConfig = async (id: number) => {
  637. await request(apiBiz(`/protocolBaseInfo/completeConfiguration/${id}`), {
  638. method: 'POST',
  639. });
  640. };
  641. export const getProtocolList = async (params: ProtocolListQuery) => {
  642. const data = await request<ProtocolListData>(apiBiz('/protocolBaseInfo/getPageList'), {
  643. method: 'POST',
  644. body: JSON.stringify(params),
  645. });
  646. return data;
  647. };
  648. // 协议参数表
  649. export const postProtocolPageList = async (postProtocolPage: PostProtocolPage) => {
  650. const data = await request<PostProtocolPageItemData>(apiBiz('/protocolParamInfo/page/list'), {
  651. method: 'POST',
  652. body: JSON.stringify(postProtocolPage),
  653. });
  654. return data;
  655. };
  656. export const postProtocolGetList = async (getListItem: GetListItem) => {
  657. const data = await request<PostProtocolPageItem[]>(apiBiz('/protocolParamInfo/getList'), {
  658. method: 'POST',
  659. body: JSON.stringify(getListItem),
  660. });
  661. return data;
  662. };
  663. // 全局参数
  664. export const groupList = async (listInfo: ListInfo) => {
  665. const data = await request<EquipmentTypeItem[]>(apiBiz('/deviceGlobalData/getList'), {
  666. method: 'POST',
  667. body: JSON.stringify(listInfo),
  668. });
  669. return data;
  670. };