HM-SPMS/web/nginx/html/js/historyevent.js
2026-01-06 04:47:40 +08:00

340 lines
8.4 KiB
JavaScript

var i18nData = {};
$.i18n({
finish: function (res) {
i18nData = res.event;
var cols = [{
key: "time",
name: i18nData.timeStamp, //language.time(),
sortId: 0,
sort: "desc"
},
{
key: "priorityName",
name: i18nData.priority, //language.priorityName(),
sortId: 1,
sort: ""
},
{
key: "locationName",
name: i18nData.location, //language.locationName(),
sortId: 2,
sort: ""
},
{
key: "typeName",
name: i18nData.almType, //language.typeName(),
sortId: 4,
sort: ""
},
{
key: "content",
name: i18nData.content, //language.content(),
sort: false
}
];
crateTableHead(cols);
}
});
var language = {
time: function () {
return $("input:hidden[name=h-timeStamp]").val();
},
priorityName: function () {
// '优先级'
return $("input:hidden[name=h-priority]").val();
},
locationName: function () {
//'位置'
return $("input:hidden[name=h-location]").val();
},
typeName: function () {
//'事件类型'
return $("input:hidden[name=h-almType]").val();
},
content: function () {
//'告警事件描述'
return $("input:hidden[name=h-content]").val();
}
};
function query(page, cols) {
var pagesize = 100,
param = {
content: "",
priority: "",
location: "",
devType: "",
type: "",
regionId: "",
startTime: $(".Wdate:eq(0)").val(),
endTime: $(".Wdate:eq(1)").val(),
orderType: 0,
orderFlag: "desc"
};
//处理排序
var el = $("#table thead").find(".desc");
if (!el[0]) {
el = $("#table thead").find(".asc");
param.orderFlag = "asc";
} else {
param.orderFlag = "desc";
}
param.orderType = el.attr("sort-id");
//处理时间
if (!param.startTime) {
param.startTime = dayjs()
.subtract(1, "day")
.format("YYYY-MM-DD HH:mm");
}
if (!param.endTime) {
param.endTime = dayjs().format("YYYY-MM-DD HH:mm");
}
//处理筛选
if ($("input[name=priority]").is(":checked")) {
param.priority = $("select[name=priority-item]")
.val()
.join(";");
}
if ($("input[name=location]").is(":checked")) {
param.location = $("select[name=location-item]")
.val()
.join(";");
}
if ($("input[name=region]").is(":checked")) {
param.regionId = $("select[name=region-item]")
.val()
.join(";");
}
if ($("input[name=typename]").is(":checked")) {
param.type = $("select[name=typename-item]")
.val()
.join(";");
}
if ($("input[name=devtype]").is(":checked")) {
param.devType = $("select[name=devtype-item]").val();
}
if ($("input[name=content]").is(":checked")) {
param.content = $("input[name=content-item]").val();
}
$("#page").initPage({
ajax: {
url: "/ems/monitorBusiness/queryEventMsFromMySql",
type: "get",
data: param,
dataType: "json",
success: function (res) {
$("#table").css("counter-reset", "c " + (res.page - 1) * pagesize);
for (var i = 0, str = ""; i < res.rows.length; i++) {
var d = res.rows[i];
var vals = cols.reduce(function (o, v, i) {
o.push(d[v.key]);
return o;
}, []);
str += "<tr><td class='no-export'></td><td>" + vals.join("</td><td>") + "</td></tr>";
}
if (!str) {
$("#table tbody tr td").text("");
} else {
$("#table tbody").html(str);
}
}
},
resKey: {
pageSize: "pageSize",
curPage: "page",
sumPage: "records"
},
pageSize: pagesize,
curPage: page
});
}
$(function () {
var cols = [{
key: "time",
name: i18nData.timeStamp, //language.time(),
sortId: 0,
sort: "desc"
},
{
key: "priorityName",
name: i18nData.priority, //language.priorityName(),
sortId: 1,
sort: ""
},
{
key: "locationName",
name: i18nData.location, //language.locationName(),
sortId: 2,
sort: ""
},
{
key: "typeName",
name: i18nData.almType, //language.typeName(),
sortId: 4,
sort: ""
},
{
key: "content",
name: i18nData.content, //language.content(),
sort: false
}
];
crateTableHead(cols);
var today = dayjs().startOf("day");
$(".Wdate:eq(0)").val(
dayjs()
.subtract(1, "day")
.format("YYYY-MM-DD HH:mm")
);
$(".Wdate:eq(1)").val(dayjs().format("YYYY-MM-DD HH:mm"));
query(1, cols);
getFilterData("", function (data) {
createHtml(data.alarmLevel, "select[name=priority-item]");
createHtml(data.location, "select[name=location-item]");
createHtml(data.regionInfo, "select[name=region-item]");
createHtml(data.alarmType, "select[name=typename-item]");
createHtml(data.subSystem, "select[name=subsystem-item]");
$("select[name=subsystem-item]").val(4);
});
getFilterData(4, function (data) {
createHtml(data.devType, "select[name=devtype-item]");
});
//点击表头排序
$("#table").on("click", 'th', function () {
if (!$(this).hasClass("sort")) {
return false;
}
var isAsc = $(this).hasClass("asc");
var isDesc = $(this).hasClass("desc");
if (isAsc || isDesc) {
$(this)
.removeClass(isAsc ? "asc" : "desc")
.addClass(!isAsc ? "asc" : "desc");
} else {
$("#table th")
.removeClass("asc")
.removeClass("desc");
$(this).addClass("asc");
}
$('#search').trigger('click')
});
$("#filter").on("click", function () {
$(".shadow").show();
});
$("#query").on("click", function () {
query(1, cols);
$(".shadow").hide();
});
$("#search").on("click", function () {
query(1, cols);
});
$("#export").on("click", function () {
$('#table').table2excel({
exclude:'.no-export',
name:'sheet1',
filename:'历史事件.xls',
// preserveColors:true
})
});
$("#define").on("click", function () {
$(".shadow").hide();
});
$("#dialog").on("click", "p.close em", function () {
$(".shadow").hide();
});
$("#realtime").on("click", function () {
location.href = "/page/rtevent.html";
});
//点击时间
$(".Wdate").on("click", function () {
var option = {
el: this,
isShowClear: false,
firstDayOfWeek: 1,
dateFmt: "yyyy-MM-dd HH:mm",
onpicked: function () {}
};
WdatePicker(option);
});
//点击查询
//筛选
$("#dialog .content li label:first-child input:checkbox").on(
"click",
function () {
var ckd = $(this).is(":checked");
var parent = $(this).closest("li");
parent.toggleClass("dis");
if (ckd) {
parent.find("select").removeAttr("disabled");
parent.find("label:last-child input").removeAttr("disabled");
} else {
parent
.find("select")
.attr("disabled", true)
.val("");
parent.find("label:last-child input").attr("disabled", true);
}
}
);
//全选
$("#dialog .content li label:last-child input:checkbox").on(
"click",
function () {
var ckd = $(this).is(":checked");
var parent = $(this).closest("li");
if (
$(this)
.attr("name")
.indexOf("-all") == -1
) {
return false;
}
if (ckd) {
var values = [];
parent.find("select option").each(function (i, e) {
values.push($(e).attr("value"));
});
parent.find("select").val(values);
} else {
parent.find("select").val("");
}
}
);
});
function crateTableHead(cols) {
var head = cols.reduce(function (o, v, i) {
var cls = v.sort === false ? "" : "sort " + v.sort;
o +=
'<th class="' + cls + '" sort-id="' + v.sortId + '">' + v.name + "</th>";
return o;
}, "");
$("#table thead").html("<tr><th class='no-export'></th>" + head + "</tr>");
}
function getFilterData(id, fn) {
$.ajax({
url: "/ems/monitorBusiness/queryEventConditionMs",
type: "get",
data: {
type: isNaN(id) || id === "" || id === null ? 1 : 2,
id: id
},
dataType: "json",
success: function (res) {
if (typeof fn === "function") {
fn(res.mapData);
}
}
});
}
function createHtml(rows, selected) {
for (var i = 0, options = ""; i < rows.length; i++) {
options +=
'<option value="' + rows[i].id + '">' + rows[i].name + "</option>";
}
$(selected).html(options);
}