system_alarm.js 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. const system_alarm_data = []
  2. const arr_alarm = []
  3. const pageSize = 12
  4. alarm_number = 0
  5. last_time = 0
  6. let addedAlarmdsMap = new Map();
  7. function systemAlarm(alarmd_data)
  8. {
  9. data_alarm = alarm_process(alarmd_data)
  10. data_length = data_alarm.length
  11. const totalPage = Math.ceil(data_length / pageSize)
  12. renderPage(totalPage,data_alarm)
  13. last_time = alarm_time
  14. }
  15. function translate_time(time)
  16. {
  17. const timestamp = time;
  18. const date = new Date(timestamp);
  19. const year = date.getFullYear();
  20. const month = String(date.getMonth() + 1).padStart(2, '0');
  21. const day = String(date.getDate()).padStart(2, '0');
  22. const hours = String(date.getHours()).padStart(2, '0');
  23. const minutes = String(date.getMinutes()).padStart(2, '0');
  24. const seconds = String(date.getSeconds()).padStart(2, '0');
  25. const readableDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  26. return readableDate
  27. }
  28. function renderPage(totalPage,data_alarm) {
  29. const dataList = document.getElementById('system_alarm');
  30. const pageNumber = 1
  31. dataList.innerHTML = '';
  32. alarm_data_length = data_alarm.length
  33. const startIndex = (pageNumber - 1) * pageSize;
  34. const endIndex = Math.min(startIndex + pageSize, alarm_data_length);
  35. for (let i = startIndex; i < endIndex; i++) {
  36. ch = data_alarm[i].ch
  37. data_number = system_alarm_data.length
  38. const listItem = document.createElement('tr');
  39. dataList.appendChild(listItem);
  40. //自动生成告警信息编号
  41. const alarm_numbers = document.createElement('td');
  42. alarm_numbers.textContent = data_alarm[i].id
  43. dataList.appendChild(alarm_numbers);
  44. //自动生成告警通道
  45. const alarm_number_td = document.createElement('td');
  46. alarm_number_td.textContent = "CH"+ch
  47. dataList.appendChild(alarm_number_td);
  48. //自动生成告警时间
  49. const alarm_time_td = document.createElement('td');
  50. alarm_time = translate_time(data_alarm[i].time)
  51. alarm_time_td.textContent = alarm_time
  52. dataList.appendChild(alarm_time_td);
  53. //自动生成告警内容
  54. c_u = data_alarm[i].c_upper
  55. v_u = data_alarm[i].v_upper
  56. v_l = data_alarm[i].v_lower
  57. p_u = data_alarm[i].p_upper
  58. w_u = data_alarm[i].w_upper
  59. const alarm_title_td = document.createElement('td');
  60. if( c_u == 1)
  61. {
  62. alarm_title_td.textContent = "通道CH"+ ch +"电流已超上限"
  63. }
  64. if( v_u == 1)
  65. {
  66. alarm_title_td.textContent = "通道CH"+ ch +"电压已超上限"
  67. }
  68. if( v_l == 1)
  69. {
  70. alarm_title_td.textContent = "通道CH"+ ch +"电压已超下限"
  71. }
  72. if(p_u == 1)
  73. {
  74. alarm_title_td.textContent = "通道CH"+ ch +"功率已超上限"
  75. }
  76. if(w_u == 1)
  77. {
  78. alarm_title_td.textContent = "通道CH"+ ch +"耗电量已超上限"
  79. }
  80. alarm_title_td.style.width = '200px'
  81. dataList.appendChild(alarm_title_td);
  82. }
  83. renderPagination(totalPage);
  84. }
  85. function renderPagination(totalPage) {
  86. const page3_pagination = document.getElementById('page3_pagination')
  87. page3_pagination.innerHTML = '';
  88. for (let i = 1; i <= totalPage; i++) {
  89. const button = document.createElement('button');
  90. button.textContent = i;
  91. button.addEventListener('click', () => renderPage(i));
  92. page3_pagination.appendChild(button);
  93. }
  94. }