utils.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. const utils = {
  2. // 设定通知人员的提交数据处理
  3. setNoticeUserData: function(data) {
  4. let arr = []
  5. data.forEach(item => {
  6. let obj = {
  7. id: item.id,
  8. sendMessage: item.sendMessage || 0,
  9. sendEmail: item.sendEmail || 0,
  10. sendWechat: item.sendWechat || 0
  11. }
  12. arr.push(obj)
  13. })
  14. return arr
  15. },
  16. // 获取objType名称
  17. getObjName(code) {
  18. let name = '---'
  19. switch (code) {
  20. case 'building':
  21. name = '建筑'
  22. break
  23. case 'floor':
  24. name = '楼层'
  25. break
  26. case 'space':
  27. name = '空间'
  28. break
  29. case 'system':
  30. name = '系统类'
  31. break
  32. case 'facility':
  33. name = '设备类'
  34. break
  35. }
  36. return name
  37. },
  38. // 通过查看报警通知的原始数据=》树形结构
  39. userToTree(userData) {
  40. let obj = {}
  41. userData.forEach(ele => {
  42. obj[ele.id] = {}
  43. obj[ele.id].userInfo = ele
  44. })
  45. return obj
  46. },
  47. //报警条目 =》 树形结构
  48. alarmToTree(treeObj, userId, alarmData) {
  49. treeObj[userId].alarmData = alarmData
  50. return treeObj
  51. },
  52. //树形结构转为正常数据
  53. treeToData(treeObj) {
  54. // console.log('utils---------------------------------------------')
  55. // console.log(treeObj)
  56. let arr = []
  57. for (let key in treeObj) {
  58. var index1 = null
  59. var index2 = null
  60. var index3 = null
  61. // console.log(treeObj[key])
  62. let obj = {}
  63. let userValue = treeObj[key]
  64. Object.assign(obj, userValue.userInfo)
  65. obj.level = 1
  66. obj.isExpend = false
  67. obj.isLow = true
  68. obj.isShow = true
  69. obj.index = arr.length
  70. obj.pid = null
  71. index1 = arr.length
  72. arr.push(obj) //1级数据
  73. if (userValue.alarmData) {
  74. let alarmArr = userValue.alarmData
  75. var objType = alarmArr[0].objType
  76. var count = 0
  77. let userInfoData = Object.assign({}, userValue.userInfo)
  78. alarmArr.forEach(item => {
  79. // console.log("_________________________________________")
  80. // console.log(item)
  81. if (item.objType == objType) {
  82. if (count == 0) {
  83. let obj2 = {}
  84. Object.assign(obj2, userInfoData)
  85. obj2.alarmId = item.id
  86. obj2.notifyUserList = item.notifyUserList
  87. // obj2.alarmLevel = item.level;
  88. obj2.objName = item.objName
  89. // obj2.instanceInfo = item.instanceInfo;
  90. // obj2.alarmName = item.name;
  91. obj2.level = 2
  92. obj2.isExpend = false
  93. obj2.isLow = true
  94. obj2.isShow = false
  95. obj2.index = arr.length
  96. obj2.pid = index1
  97. index2 = arr.length
  98. arr.push(obj2) //2级
  99. let obj3 = {}
  100. Object.assign(obj3, userInfoData)
  101. obj3.alarmId = item.id
  102. obj3.notifyUserList = item.notifyUserList
  103. // obj3.alarmLevel = item.level;
  104. // obj3.objName = item.objName;
  105. obj3.instanceInfo = item.instanceInfo
  106. // obj3.alarmName = item.name;
  107. obj3.level = 3
  108. obj3.isExpend = false
  109. obj3.isLow = true
  110. obj3.isShow = false
  111. obj3.index = arr.length
  112. obj3.pid = index2
  113. index3 = arr.length
  114. arr.push(obj3) //3级
  115. let obj4 = {}
  116. Object.assign(obj4, userInfoData)
  117. obj4.alarmId = item.id
  118. obj4.notifyUserList = item.notifyUserList
  119. obj4.alarmLevel = item.level
  120. // obj4.objName = item.objName;
  121. // obj4.instanceInfo = item.instanceInfo;
  122. obj4.alarmName = item.name
  123. obj4.level = 4
  124. obj4.isExpend = false
  125. obj4.isLow = false
  126. obj4.isShow = false
  127. obj4.index = arr.length
  128. obj4.pid = index3
  129. arr.push(obj4) //4级
  130. count++
  131. } else {
  132. //同4
  133. let obj4 = {}
  134. Object.assign(obj4, userInfoData)
  135. obj4.alarmId = item.id
  136. obj4.notifyUserList = item.notifyUserList
  137. obj4.alarmLevel = item.level
  138. // obj4.objName = item.objName;
  139. // obj4.instanceInfo = item.instanceInfo;
  140. obj4.alarmName = item.name
  141. obj4.level = 4
  142. obj4.isExpend = false
  143. obj4.isLow = false
  144. obj4.isShow = false
  145. obj4.index = arr.length
  146. obj4.pid = index3
  147. arr.push(obj4) //4级
  148. }
  149. } else {
  150. count = 1
  151. objType = item.objType
  152. //同上2-4
  153. let obj2 = {}
  154. Object.assign(obj2, userInfoData)
  155. obj2.alarmId = item.id
  156. // obj2.notifyUserList = item.notifyUserList;
  157. // obj2.alarmLevel = item.level;
  158. obj2.objName = item.objName
  159. // obj2.instanceInfo = item.instanceInfo;
  160. // obj2.alarmName = item.name;
  161. obj2.level = 2
  162. obj2.isExpend = false
  163. obj2.isLow = true
  164. obj2.isShow = false
  165. obj2.index = arr.length
  166. obj2.pid = index1
  167. index2 = arr.length
  168. arr.push(obj2) //2级
  169. let obj3 = {}
  170. Object.assign(obj3, userInfoData)
  171. obj3.alarmId = item.id
  172. // obj3.notifyUserList = item.notifyUserList;
  173. // obj3.alarmLevel = item.level;
  174. // obj3.objName = item.objName;
  175. obj3.instanceInfo = item.instanceInfo
  176. // obj3.alarmName = item.name;
  177. obj3.level = 3
  178. obj3.isExpend = false
  179. obj3.isLow = true
  180. obj3.isShow = false
  181. obj3.index = arr.length
  182. obj3.pid = index2
  183. index3 = arr.length
  184. arr.push(obj3) //3级
  185. let obj4 = {}
  186. Object.assign(obj4, userInfoData)
  187. obj4.alarmId = item.id
  188. obj4.notifyUserList = item.notifyUserList
  189. obj4.alarmLevel = item.level
  190. // obj4.objName = item.objName;
  191. // obj4.instanceInfo = item.instanceInfo;
  192. obj4.alarmName = item.name
  193. obj4.level = 4
  194. obj4.isExpend = false
  195. obj4.isLow = false
  196. obj4.isShow = false
  197. obj4.index = arr.length
  198. obj4.pid = index3
  199. arr.push(obj4) //4级
  200. }
  201. })
  202. }
  203. }
  204. return arr
  205. },
  206. // 增加通知获取报警通知人员的多条报警条目
  207. getAlarmItemAndNotice(tableData) {
  208. let alarmConfigResultIdList = []
  209. let alarmIdArr = []
  210. tableData.forEach(item => {
  211. if (item.sendEmail || item.sendMessage || item.sendWechat) {
  212. let obj = {
  213. alarmConfigResultId: item.id,
  214. sendEmail: item.sendEmail,
  215. sendMessage: item.sendMessage,
  216. sendWechat: item.sendWechat
  217. }
  218. alarmConfigResultIdList.push(obj)
  219. alarmIdArr.push(item.id)
  220. }
  221. })
  222. return { alarmConfigResultIdList, alarmIdArr }
  223. },
  224. // 批量适用于人员处理
  225. applyUserHandle(data) {
  226. let arr = []
  227. data.forEach(item => {
  228. if (item.sendMessage || item.sendEmail || item.sendWechat) {
  229. let obj = {
  230. id: item.id,
  231. sendMessage: item.sendMessage,
  232. sendEmail: item.sendEmail,
  233. sendWechat: item.sendWechat
  234. }
  235. arr.push(obj)
  236. }
  237. })
  238. return arr
  239. },
  240. // 判断手机号是否重复
  241. repetePhone(arr, row) {
  242. let flag = true;
  243. let farr = arr.filter(item => {
  244. return item.phone == row.phone
  245. })
  246. if (farr.length > 1) {
  247. flag = false
  248. }
  249. return flag;
  250. },
  251. // 整合物理实体字典
  252. entityDict(oldArr) {
  253. let obj = {};
  254. oldArr.forEach((ele, index) => {
  255. obj[ele.id] = ele
  256. })
  257. return obj;
  258. },
  259. // 获取根据objtype获取名字前缀
  260. objPreName: function (objType) {
  261. let pre = null;
  262. switch (objType) {
  263. case "building":
  264. pre = "Build"; break;
  265. case "floor":
  266. pre = "Floor"; break;
  267. case "space":
  268. pre = "Room"; break;
  269. case "system":
  270. pre = "Sys"; break;
  271. case "facility":
  272. pre = "Equip"; break;
  273. }
  274. return pre;
  275. }
  276. }
  277. export default utils