function viewModel() { this.ID = ""; this.init = function () { InitTable(); } }; function InitTable() { var params = {}; params.WCLZT = "红色,橙色"; params.ZT = 1; //提交表单信息到具体得页面 var url = '/CloudMonitor/GetServerAlertBySearch'; $.post(url, params, function (data) { // 获取今天的日期 const today = new Date(); //未及时处理判断 data = data.filter(item => { switch (item.预警等级显示) { case "橙色预警": { if (Number(((new Date() - new Date(item.创建时间)) / (1000 * 60))) > window.未及时处理预警橙色) { return true; } return false; break; } case "红色预警": { if (Number(((new Date() - new Date(item.创建时间)) / (1000 * 60))) > window.未及时处理预警红色) { return true; } return false; break; } } return false; }) // 计算每个记录的 "创建时间" 距离今天的天数,并添加到新字段中 data.forEach(record => { const creationDate = new Date(record["创建时间"]); const diffTime = today - creationDate; // 计算时间差(毫秒) const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24)); // 转换为天数 record["距离今天的天数"] = diffDays + "天"; }); const result = separateByWorkHours(data); LoadTable($("#treegrid1"), result.workHoursData.sort((a, b) => { // 将时间字符串转换为 Date 对象 const dateA = new Date(a["创建时间"]); const dateB = new Date(b["创建时间"]); // 进行倒序排序 return dateA - dateB; })); LoadTable($("#treegrid2"), result.offWorkHoursData.sort((a, b) => { // 将时间字符串转换为 Date 对象 const dateA = new Date(a["创建时间"]); const dateB = new Date(b["创建时间"]); // 进行倒序排序 return dateB - dateA; })); }); } function gethours(dateStr) { // 以 "HH:MM:SS" 格式处理时间字符串 const [hours, minutes, seconds] = dateStr.split(':').map(Number); return hours; } function isWithinWorkHours(dateStr, workStartHour, workEndHour) { const date = new Date(dateStr); const hours = date.getHours(); // 判断时间是否在工作时间内 return (hours > workStartHour && hours < workEndHour); } function separateByWorkHours(data) { const workHoursData = []; const offWorkHoursData = []; try { // 定义工作时间的开始和结束时间 const workStartHour = gethours(window.starTime); const workEndHour = gethours(window.endTime); data.forEach(item => { if (isWithinWorkHours(item["创建时间"], workStartHour, workEndHour)) { workHoursData.push(item); } else { offWorkHoursData.push(item); } }); return { workHoursData, offWorkHoursData }; } catch (e) { top.ZLPMS.Msg("当前工作时间定义获取失败"); return { workHoursData:[], offWorkHoursData: [] }; } } function LoadTable(ele, data) { //初始化树形表格 ele.datagrid({ idField: 'ID', data: data, fit: true, pageSize: 0, toolbar: window.proId != null ? "" : "#Channeltb", rownumbers: true, //底部显示分页工具栏 pagination: false, //列名称 columns: [[ { field: '项目名称', title: '项目', width: 300 }, { field: '渠道名称', title: '渠道', width: 100 }, { field: '预警类型显示', title: '预警类型', width: 120, align: 'center' }, { field: '异常说明', title: '异常说明', width: 350, align: 'left' }, { field: '创建时间', title: '初次预警时间', width: 150, align: 'center', formatter: ZLPMS.formatterData }, { field: '预警次数', title: '预警次数', width: 100, align: 'center' }, { field: '服务器IP', title: 'IP', width: 100, align: 'center' }, { field: '服务器类型显示', title: '服务器类型', width: 100, align: 'center' }, { field: '负责人', title: '负责人', width: 100, align: 'center' }, { field: '预警等级显示', title: '预警等级', width: 100, align: 'center', formatter: function (value, rowData, index) { let className = ""; if (rowData.预警状态显示 == "已处理") { className = "Normal"; } else { switch (rowData.预警等级显示) { case "橙色预警": { className = "Warning"; break } case "红色预警": { className = "Serious"; break } } } return `
${value}
`; } }, { field: '预警状态显示', title: '状态', width: 100, align: 'center', formatter: function (value, rowData, index) { return `
${value}
`; } }, { field: '距离今天的天数', title: '未处理天数', width: 150, align: 'center'} ]], singleSelect: true, onClickRow: function (index, row) { }, onSelectAll: function (rows) { } }); } //提交表单信息 var Forms = { Submit: function (index, layero) { var iframeWin = ZLPMS.GetChildFrame(layero);//得到iframe页的窗口对象,执行iframe页的方法: //调用子页面的方法,得到子页面返回的ids var param = iframeWin.GetData(); if (!param) return; if (param != null) { if (param.创建时间 == "") { top.ZLPMS.Msg("请填写处理时间"); return; } if (param.处理人 == "") { top.ZLPMS.Msg("请填写处理人"); return; } if (param.处理状态 == "") { top.ZLPMS.Msg("请选择处理状态"); return; } //提交表单信息到具体得页面 var url = '/CloudMonitor/InsertServerAlertProcess'; $.post(url, param, function (data) { if (data == "1") { top.ZLPMS.CloseWindow(index); top.ZLPMS.Msg("保存成功"); //刷新页面 List.Reload(); } else { ZLPMS.Msg(data.msg, 2); } }); } } }; //重新刷新页面 7 var List = { //重新加载页面所有信息 Reload: function () { $('#treegrid').datagrid('reload'); } }; //删除 var Doajax = function (data) { $.ajax({ url: `/CloudMonitor/DeleteCustomAlertById?id=${data.ID}`, method: 'GET', success: function (data) { if (data == "1") { top.ZLPMS.Msg("删除成功"); //刷新页面 List.Reload(); } else { top.ZLPMS.Msg("删除失败"); List.Reload(); } } }); } //回车提交查询 function Enter_Submit() { InitTable(); }