sagacare_spaceFunc.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import React, { useEffect, useMemo, useState, useCallback } from 'react';
  2. import { getSpaceAdjustArray } from '@/services/sagacare_service/environment';
  3. import { projectObj } from '@/config/api';
  4. export default function () {
  5. const allFunc = {
  6. office: ['140', '311', '312', '310'],
  7. work: ['300', '314', '313', '315', '921', '922', '923', '924', '925', '926'],
  8. meeting: ['321', '322', '323'],
  9. rest: ['170', '331', '931', '932', '933', '934', '935', '936', '937', '938'], //休闲
  10. device: [
  11. '211',
  12. '212',
  13. '221',
  14. '222',
  15. '223',
  16. '231',
  17. '232',
  18. '233',
  19. '234',
  20. '235',
  21. '236',
  22. '237',
  23. '241',
  24. '242',
  25. '243',
  26. '244',
  27. '245',
  28. '251',
  29. '252',
  30. '253',
  31. '254',
  32. ], //设备
  33. washroom: ['111', '112'], //卫生间
  34. lift: ['130', '120'], //电梯
  35. stair: ['140'], //楼梯
  36. dining: ['441', '442', '443', '451', '452', '453', '461', '462', '471', '472'], //用餐
  37. public: ['100', '1A0', '0'], //公共
  38. sport: ['690', '932', '934'], //运动
  39. swim: ['933', '6A0'],
  40. reception: ['331', '160'], //接待
  41. book: ['935'], //图书馆
  42. activity: ['936', '937', '938', '915'], //活动 学生活动室等
  43. experiment: ['921', '922', '923', '920', '926', '924', '925'], //实验室
  44. cloth: ['112'], //更衣室
  45. control: ['243', '332'], //中控 值班室
  46. };
  47. //获取房间类型 来显示相应的图片
  48. const getSpaceFunc = useCallback((spaceCode: any) => {
  49. //var nowkey = 'device';
  50. var flag = false;
  51. for (var key in allFunc) {
  52. var codeArr = allFunc[key];
  53. if (codeArr.indexOf(spaceCode) > -1) {
  54. flag = true;
  55. return key;
  56. }
  57. }
  58. return '';
  59. }, []);
  60. const [hasPersonList, setHasPersonList] = useState<any[]>([]);
  61. const querySpaceAdjustList = useCallback((selFloorId) => {
  62. getSpaceAdjustArray(
  63. {
  64. criteria: {
  65. projectId: projectObj.projectId,
  66. floorId: selFloorId,
  67. },
  68. },
  69. {},
  70. ).then(function (res) {
  71. var resList = res.content || [];
  72. setHasPersonList(resList);
  73. });
  74. }, []);
  75. return {
  76. getSpaceFunc,
  77. hasPersonList,
  78. querySpaceAdjustList,
  79. };
  80. }