const system_alarm_data = [] const arr_alarm = [] const pageSize = 12 alarm_number = 0 last_time = 0 let addedAlarmdsMap = new Map(); function systemAlarm(alarmd_data) { data_alarm = alarmd_data const key = `${data_alarm.ch+1}-${data_alarm.time}` if(!addedAlarmdsMap.has(key)) { system_alarm_data.push(data_alarm.alarm) addedAlarmdsMap.set(key,true) } arr = system_alarm_data alarm_ch_num = data_alarm.ch alarm_time = translate_time(data_alarm.time) alarm_data = data_alarm.alarm data_length = system_alarm_data.length const totalPage = Math.ceil(data_length / pageSize) renderPage(totalPage) last_time = alarm_time } function translate_time(time) { const timestamp = time; const date = new Date(timestamp); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); const readableDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; return readableDate } function renderPage(totalPage) { const dataList = document.getElementById('system_alarm'); const pageNumber = 1 dataList.innerHTML = ''; const startIndex = (pageNumber - 1) * pageSize; const endIndex = Math.min(startIndex + pageSize, system_alarm_data.length); for (let i = startIndex; i < endIndex; i++) { data_number = system_alarm_data.length const listItem = document.createElement('tr'); dataList.appendChild(listItem); //自动生成告警通道 const alarm_numbers = document.createElement('td'); alarm_numbers.textContent = i+1 dataList.appendChild(alarm_numbers); //自动生成告警通道 const alarm_number_td = document.createElement('td'); ch_number = alarm_ch_num+1 alarm_number_td.textContent = "CH"+ch_number dataList.appendChild(alarm_number_td); //自动生成告警时间 const alarm_time_td = document.createElement('td'); alarm_time_td.textContent = alarm_time dataList.appendChild(alarm_time_td); //电流上限 const alarm_current_td = document.createElement('td'); if(system_alarm_data[i][0] == 0) { alarm_current_td.textContent = "电流已超上限" } else { alarm_current_td.textContent = "未报警" } dataList.appendChild(alarm_current_td); //电压上限 const alarm_voltage_max_td = document.createElement('td'); if(system_alarm_data[i][1] == 0) { alarm_voltage_max_td.textContent = "电压已超上限" } else { alarm_voltage_max_td.textContent = "未报警" } dataList.appendChild(alarm_voltage_max_td); //电压下限 const alarm_voltage_min_td = document.createElement('td'); if(system_alarm_data[i][2] == 0) { alarm_voltage_min_td.textContent = "电压已超下限" } else { alarm_voltage_min_td.textContent = "未报警" } dataList.appendChild(alarm_voltage_min_td); //功率上限 const alarm_power_td = document.createElement('td'); if(system_alarm_data[i][3] == 0) { alarm_power_td.textContent = "功率已超上限" } else { alarm_power_td.textContent = "未报警" } dataList.appendChild(alarm_power_td); //耗电量上限 const alarm_consump_td = document.createElement('td'); if(system_alarm_data[i][4] == 0) { alarm_consump_td.textContent = "耗电量已超上限" } else { alarm_consump_td.textContent = "未报警" } dataList.appendChild(alarm_consump_td); } renderPagination(totalPage); } function renderPagination(totalPage) { const page3_pagination = document.getElementById('page3_pagination') page3_pagination.innerHTML = ''; for (let i = 1; i <= totalPage; i++) { const button = document.createElement('button'); button.textContent = i; button.addEventListener('click', () => renderPage(i)); page3_pagination.appendChild(button); } }