340 lines
8.4 KiB
JavaScript
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);
|
|
} |