system_alarm.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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 = alarmd_data
  10. const key = `${data_alarm.ch+1}-${data_alarm.time}`
  11. if(!addedAlarmdsMap.has(key))
  12. {
  13. system_alarm_data.push(data_alarm.alarm)
  14. addedAlarmdsMap.set(key,true)
  15. }
  16. arr = system_alarm_data
  17. alarm_ch_num = data_alarm.ch
  18. alarm_time = translate_time(data_alarm.time)
  19. alarm_data = data_alarm.alarm
  20. data_length = system_alarm_data.length
  21. const totalPage = Math.ceil(data_length / pageSize)
  22. renderPage(totalPage)
  23. last_time = alarm_time
  24. }
  25. function translate_time(time)
  26. {
  27. const timestamp = time;
  28. const date = new Date(timestamp);
  29. const year = date.getFullYear();
  30. const month = String(date.getMonth() + 1).padStart(2, '0');
  31. const day = String(date.getDate()).padStart(2, '0');
  32. const hours = String(date.getHours()).padStart(2, '0');
  33. const minutes = String(date.getMinutes()).padStart(2, '0');
  34. const seconds = String(date.getSeconds()).padStart(2, '0');
  35. const readableDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  36. return readableDate
  37. }
  38. function renderPage(totalPage) {
  39. const dataList = document.getElementById('system_alarm');
  40. const pageNumber = 1
  41. dataList.innerHTML = '';
  42. const startIndex = (pageNumber - 1) * pageSize;
  43. const endIndex = Math.min(startIndex + pageSize, system_alarm_data.length);
  44. for (let i = startIndex; i < endIndex; i++) {
  45. data_number = system_alarm_data.length
  46. const listItem = document.createElement('tr');
  47. dataList.appendChild(listItem);
  48. //自动生成告警通道
  49. const alarm_numbers = document.createElement('td');
  50. alarm_numbers.textContent = i+1
  51. dataList.appendChild(alarm_numbers);
  52. //自动生成告警通道
  53. const alarm_number_td = document.createElement('td');
  54. ch_number = alarm_ch_num+1
  55. alarm_number_td.textContent = "CH"+ch_number
  56. dataList.appendChild(alarm_number_td);
  57. //自动生成告警时间
  58. const alarm_time_td = document.createElement('td');
  59. alarm_time_td.textContent = alarm_time
  60. dataList.appendChild(alarm_time_td);
  61. //电流上限
  62. const alarm_current_td = document.createElement('td');
  63. if(system_alarm_data[i][0] == 0)
  64. {
  65. alarm_current_td.textContent = "电流已超上限"
  66. }
  67. else
  68. {
  69. alarm_current_td.textContent = "未报警"
  70. }
  71. dataList.appendChild(alarm_current_td);
  72. //电压上限
  73. const alarm_voltage_max_td = document.createElement('td');
  74. if(system_alarm_data[i][1] == 0)
  75. {
  76. alarm_voltage_max_td.textContent = "电压已超上限"
  77. }
  78. else
  79. {
  80. alarm_voltage_max_td.textContent = "未报警"
  81. }
  82. dataList.appendChild(alarm_voltage_max_td);
  83. //电压下限
  84. const alarm_voltage_min_td = document.createElement('td');
  85. if(system_alarm_data[i][2] == 0)
  86. {
  87. alarm_voltage_min_td.textContent = "电压已超下限"
  88. }
  89. else
  90. {
  91. alarm_voltage_min_td.textContent = "未报警"
  92. }
  93. dataList.appendChild(alarm_voltage_min_td);
  94. //功率上限
  95. const alarm_power_td = document.createElement('td');
  96. if(system_alarm_data[i][3] == 0)
  97. {
  98. alarm_power_td.textContent = "功率已超上限"
  99. }
  100. else
  101. {
  102. alarm_power_td.textContent = "未报警"
  103. }
  104. dataList.appendChild(alarm_power_td);
  105. //耗电量上限
  106. const alarm_consump_td = document.createElement('td');
  107. if(system_alarm_data[i][4] == 0)
  108. {
  109. alarm_consump_td.textContent = "耗电量已超上限"
  110. }
  111. else
  112. {
  113. alarm_consump_td.textContent = "未报警"
  114. }
  115. dataList.appendChild(alarm_consump_td);
  116. }
  117. renderPagination(totalPage);
  118. }
  119. function renderPagination(totalPage) {
  120. const page3_pagination = document.getElementById('page3_pagination')
  121. page3_pagination.innerHTML = '';
  122. for (let i = 1; i <= totalPage; i++) {
  123. const button = document.createElement('button');
  124. button.textContent = i;
  125. button.addEventListener('click', () => renderPage(i));
  126. page3_pagination.appendChild(button);
  127. }
  128. }