Files
HTCloud/HT.Cloud.Web/Areas/PenMeiReportManage/Views/PenMeiHistoryAlarmNewNew/Index.cshtml

2291 lines
70 KiB
Plaintext
Raw Normal View History

2023-12-20 15:51:03 +08:00
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Index.cshtml";
}
<style>
.layui-table-tool > .layui-table-tool-temp {
padding-right: 0px;
}
</style>
<script>
debugger;
var firstInit = true;
layui.use(['jquery', 'form', 'table', 'element', 'common', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
var $ = layui.jquery,
form = layui.form,
element = layui.element,
commonTable = layui.commonTable,
table = layui.table,
dtree = layui.dtree,
//echarts = layui.echarts,
common = layui.common;
//加载数据
wcLoading.close();
$.parser.parse();
//权限控制(js是值传递)
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
$('#easyuipanel').resizable({
// debugger;
width: 800,
height: 600
});
$('#subsystemTagList').ready(function () {
$.parser.parse();
//add your custom code here
})
element.render();
element.on('tab(Chang)',function(data){
debugger;
if (data.index == 3) {
debugger;
$.parser.parse('#fluid');
$.parser.parse('#easyuipanel');
$.parser.parse('#subsystemselect');
$.parser.parse('#subsystemTagList');
// easyuipanel subsystemselect fluid
debugger;
// $('#subsystemselect').combobox("select", "");
$('#subsystemTagList').datalist('resize', {
height: ($('#aright').height() - 75)
});
}
if(firstInit){
debugger;
$.parser.parse('#toolbarDiv');
firstInit = false;
}
//debugger;
//console.log(data);
//$.parser.parse('#toolbarDiv');
//$('#subsystemselect').combobox('resize');
//$('#subsystemTagList').datalist('resize', {
// height: ($('#aright').height() - 75)
//});
});
@*
1、部署2D测试环境开放变量数据写入接口。
2、编写API读取与写入小程序供API连通性测试和2D数据测试使用。
1、绘制新版报警统计原型图按照报警次数和频率划分。
2、报警统计后端数据接口修改为曲工新版本按次数和频率分别请求。
参加公司周年庆活动。
1、整理管理平台与市场部们的交流资料截取旧版本源码进行部署演示。
2、报警统计前端修改为分类统计更新相应的js功能代码。
1、将采集服务的平台框架从短期7.0版本升级为.Net最新的长期生产环境8.0版本,可获得微软长期的稳定性支持。
2、优化实时数据API接口在处理json数据时的流程降低服务器负载提高3D2D多种系统同时请求的效率。
3、查找适用于新版远程IO监控的Web组态画布。
*@
//var argumentFormSiemens = document.getElementById('recentMd');
//argumentFormSiemens.style.display = 'block';
//var argumentFormSiemens = document.getElementById('classifyMd');
//argumentFormSiemens.style.display = 'none';
form.on('select(quickTime)', function (data) {
var selectValue = data.value;
function getFormatDate(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
month = (month < 10) ? '0' + month : month;
day = (day < 10) ? '0' + day : day;
hour = (hour < 10) ? '0' + hour : hour;
minutes = (minutes < 10) ? '0' + minutes : minutes;
seconds = (seconds < 10) ? '0' + seconds : seconds;
let currentDate = year + "-" + month + "-" + day
+ " " + hour + ":" + minutes + ":" + seconds;
return currentDate;
}
/**
* 获取今日零点时间戳
* returns {number}
*/
function todayStartTimestamp() {
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
return timestamp
}
/**
* 获取昨日开始、结束时间戳
* param num
* returns {number[昨日开始时间戳, 昨日结束时间戳]}
*/
function yesterdayTimestamp(num = 1) {
const MillisecondsADay = 24 * 60 * 60 * num
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
// 昨日开始时间戳
const yesterdayStartTime = timestamp - MillisecondsADay
// 昨日结束时间戳
const yesterdayEndTime = timestamp - 1
return [yesterdayStartTime, yesterdayEndTime]
}
/**
* 本周开始时间戳
* returns {number}
*/
function weekStartTimestamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
return weekTimeStamp
}
/**
* 上周开始、结束时间戳
* returns {number[上周开始时间戳, 上周结束时间戳]}
*/
function lastWeekTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
// 本周开始时间戳
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
// 上周开始时间戳
const lastWeekStart = weekTimeStamp - MillisecondsADay * 7
// 上周结束时间戳
const lastWeekEnd = weekTimeStamp - 1
return [lastWeekStart, lastWeekEnd]
}
/**
* 当月开始时间戳
* returns {number}
*/
function monthStartTimestamp() {
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
const timeStamp = date.getTime() / 1000
return timeStamp
}
/**
* 获取上月开始、结束时间戳
* returns {number[上月开始时间戳,上月结束时间戳]}
*/
function lastMonthTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
// 当月开始时间戳
const timeStamp = date.getTime() / 1000
// 上个月的天数
const days = lastMonthDats()
// 上月开始时间戳
const lastMonthStart = timeStamp - (MillisecondsADay * days)
// 上月结束时间戳
const lastMonthEnd = timeStamp - 1
return [lastMonthStart, lastMonthEnd]
}
/**
* 上月天数
* returns {number}
*/
function lastMonthDats() {
const date = new Date()
const year = date.getFullYear()
// 上个月月份
let month = (date.getMonth() + 1) - 1 // 0-11 表示 1月-12月
// 0 表示12月
month = month || 12
// 30天的月份
const arr30 = [4, 6, 9, 11]
// 31天的月份
const arr31 = [1, 3, 5, 7, 8, 10, 12]
if (arr30.indexOf(month) !== -1) {
// 上个月是 30 天
return 30
} else if (arr31.indexOf(month) !== -1) {
// 上个月是 31 天
return 31
} else {
// 2月
if (isRunYear(year)) {
return 29
} else {
return 28
}
}
}
/**
* 是否为闰年
* param year
* returns {boolean}
*/
function isRunYear(year) {
// 条件:能被4整除并且不能被100整除或者被400整除的
let flag = false
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
flag = true
}
return flag
}
var laydate = layui.laydate;
if (selectValue == "toDay") {
var toDayStartDate = todayStartTimestamp();
var timef1 = getFormatDate(new Date(toDayStartDate * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "yesterDay") {
var yesterDayDate = yesterdayTimestamp(1);
var timef1 = getFormatDate(new Date(yesterDayDate[0] * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(yesterDayDate[1] * 1000));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisWeek") {
var weekStartDate = weekStartTimestamp();
var timef1 = getFormatDate(new Date(weekStartDate * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastWeek") {
var lastWeekDate = lastWeekTimetamp();
var timef1 = getFormatDate(new Date(lastWeekDate[0] * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastWeekDate[1] * 1000));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisMonth") {
var monthStartDate = monthStartTimestamp();
var timef = getFormatDate(new Date(monthStartDate * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastMonth") {
//lastMonthTimetamp()
var lastMonthDate = lastMonthTimetamp();
var timef1 = getFormatDate(new Date(lastMonthDate[0] * 1000));
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastMonthDate[1] * 1000));
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else { }
});
form.on('select(quickTimeF)', function (data) {
var selectValue = data.value;
function getFormatDate(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
month = (month < 10) ? '0' + month : month;
day = (day < 10) ? '0' + day : day;
hour = (hour < 10) ? '0' + hour : hour;
minutes = (minutes < 10) ? '0' + minutes : minutes;
seconds = (seconds < 10) ? '0' + seconds : seconds;
let currentDate = year + "-" + month + "-" + day
+ " " + hour + ":" + minutes + ":" + seconds;
return currentDate;
}
/**
* 获取今日零点时间戳
* returns {number}
*/
function todayStartTimestamp() {
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
return timestamp
}
/**
* 获取昨日开始、结束时间戳
* param num
* returns {number[昨日开始时间戳, 昨日结束时间戳]}
*/
function yesterdayTimestamp(num = 1) {
const MillisecondsADay = 24 * 60 * 60 * num
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
// 昨日开始时间戳
const yesterdayStartTime = timestamp - MillisecondsADay
// 昨日结束时间戳
const yesterdayEndTime = timestamp - 1
return [yesterdayStartTime, yesterdayEndTime]
}
/**
* 本周开始时间戳
* returns {number}
*/
function weekStartTimestamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
return weekTimeStamp
}
/**
* 上周开始、结束时间戳
* returns {number[上周开始时间戳, 上周结束时间戳]}
*/
function lastWeekTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
// 本周开始时间戳
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
// 上周开始时间戳
const lastWeekStart = weekTimeStamp - MillisecondsADay * 7
// 上周结束时间戳
const lastWeekEnd = weekTimeStamp - 1
return [lastWeekStart, lastWeekEnd]
}
/**
* 当月开始时间戳
* returns {number}
*/
function monthStartTimestamp() {
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
const timeStamp = date.getTime() / 1000
return timeStamp
}
/**
* 获取上月开始、结束时间戳
* returns {number[上月开始时间戳,上月结束时间戳]}
*/
function lastMonthTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
// 当月开始时间戳
const timeStamp = date.getTime() / 1000
// 上个月的天数
const days = lastMonthDats()
// 上月开始时间戳
const lastMonthStart = timeStamp - (MillisecondsADay * days)
// 上月结束时间戳
const lastMonthEnd = timeStamp - 1
return [lastMonthStart, lastMonthEnd]
}
/**
* 上月天数
* returns {number}
*/
function lastMonthDats() {
const date = new Date()
const year = date.getFullYear()
// 上个月月份
let month = (date.getMonth() + 1) - 1 // 0-11 表示 1月-12月
// 0 表示12月
month = month || 12
// 30天的月份
const arr30 = [4, 6, 9, 11]
// 31天的月份
const arr31 = [1, 3, 5, 7, 8, 10, 12]
if (arr30.indexOf(month) !== -1) {
// 上个月是 30 天
return 30
} else if (arr31.indexOf(month) !== -1) {
// 上个月是 31 天
return 31
} else {
// 2月
if (isRunYear(year)) {
return 29
} else {
return 28
}
}
}
/**
* 是否为闰年
* param year
* returns {boolean}
*/
function isRunYear(year) {
// 条件:能被4整除并且不能被100整除或者被400整除的
let flag = false
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
flag = true
}
return flag
}
var laydate = layui.laydate;
if (selectValue == "toDay") {
var toDayStartDate = todayStartTimestamp();
var timef1 = getFormatDate(new Date(toDayStartDate * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "yesterDay") {
var yesterDayDate = yesterdayTimestamp(1);
var timef1 = getFormatDate(new Date(yesterDayDate[0] * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(yesterDayDate[1] * 1000));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisWeek") {
var weekStartDate = weekStartTimestamp();
var timef1 = getFormatDate(new Date(weekStartDate * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastWeek") {
var lastWeekDate = lastWeekTimetamp();
var timef1 = getFormatDate(new Date(lastWeekDate[0] * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastWeekDate[1] * 1000));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisMonth") {
var monthStartDate = monthStartTimestamp();
var timef = getFormatDate(new Date(monthStartDate * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastMonth") {
//lastMonthTimetamp()
var lastMonthDate = lastMonthTimetamp();
var timef1 = getFormatDate(new Date(lastMonthDate[0] * 1000));
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastMonthDate[1] * 1000));
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else { }
});
form.on('select(quickTimeF2)', function (data) {
var selectValue = data.value;
function getFormatDate(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
month = (month < 10) ? '0' + month : month;
day = (day < 10) ? '0' + day : day;
hour = (hour < 10) ? '0' + hour : hour;
minutes = (minutes < 10) ? '0' + minutes : minutes;
seconds = (seconds < 10) ? '0' + seconds : seconds;
let currentDate = year + "-" + month + "-" + day
+ " " + hour + ":" + minutes + ":" + seconds;
return currentDate;
}
/**
* 获取今日零点时间戳
* returns {number}
*/
function todayStartTimestamp() {
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
return timestamp
}
/**
* 获取昨日开始、结束时间戳
* param num
* returns {number[昨日开始时间戳, 昨日结束时间戳]}
*/
function yesterdayTimestamp(num = 1) {
const MillisecondsADay = 24 * 60 * 60 * num
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
// 昨日开始时间戳
const yesterdayStartTime = timestamp - MillisecondsADay
// 昨日结束时间戳
const yesterdayEndTime = timestamp - 1
return [yesterdayStartTime, yesterdayEndTime]
}
/**
* 本周开始时间戳
* returns {number}
*/
function weekStartTimestamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
return weekTimeStamp
}
/**
* 上周开始、结束时间戳
* returns {number[上周开始时间戳, 上周结束时间戳]}
*/
function lastWeekTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
// 今日零点时间戳
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
// 本周开始时间戳
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
// 上周开始时间戳
const lastWeekStart = weekTimeStamp - MillisecondsADay * 7
// 上周结束时间戳
const lastWeekEnd = weekTimeStamp - 1
return [lastWeekStart, lastWeekEnd]
}
/**
* 当月开始时间戳
* returns {number}
*/
function monthStartTimestamp() {
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
const timeStamp = date.getTime() / 1000
return timeStamp
}
/**
* 获取上月开始、结束时间戳
* returns {number[上月开始时间戳,上月结束时间戳]}
*/
function lastMonthTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60
const date = new Date()
date.setDate(1)
date.setHours(0, 0, 0, 0)
// 当月开始时间戳
const timeStamp = date.getTime() / 1000
// 上个月的天数
const days = lastMonthDats()
// 上月开始时间戳
const lastMonthStart = timeStamp - (MillisecondsADay * days)
// 上月结束时间戳
const lastMonthEnd = timeStamp - 1
return [lastMonthStart, lastMonthEnd]
}
/**
* 上月天数
* returns {number}
*/
function lastMonthDats() {
const date = new Date()
const year = date.getFullYear()
// 上个月月份
let month = (date.getMonth() + 1) - 1 // 0-11 表示 1月-12月
// 0 表示12月
month = month || 12
// 30天的月份
const arr30 = [4, 6, 9, 11]
// 31天的月份
const arr31 = [1, 3, 5, 7, 8, 10, 12]
if (arr30.indexOf(month) !== -1) {
// 上个月是 30 天
return 30
} else if (arr31.indexOf(month) !== -1) {
// 上个月是 31 天
return 31
} else {
// 2月
if (isRunYear(year)) {
return 29
} else {
return 28
}
}
}
/**
* 是否为闰年
* param year
* returns {boolean}
*/
function isRunYear(year) {
// 条件:能被4整除并且不能被100整除或者被400整除的
let flag = false
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
flag = true
}
return flag
}
var laydate = layui.laydate;
if (selectValue == "toDay") {
var toDayStartDate = todayStartTimestamp();
var timef1 = getFormatDate(new Date(toDayStartDate * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "yesterDay") {
var yesterDayDate = yesterdayTimestamp(1);
var timef1 = getFormatDate(new Date(yesterDayDate[0] * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(yesterDayDate[1] * 1000));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisWeek") {
var weekStartDate = weekStartTimestamp();
var timef1 = getFormatDate(new Date(weekStartDate * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastWeek") {
var lastWeekDate = lastWeekTimetamp();
var timef1 = getFormatDate(new Date(lastWeekDate[0] * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastWeekDate[1] * 1000));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "thisMonth") {
var monthStartDate = monthStartTimestamp();
var timef = getFormatDate(new Date(monthStartDate * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef,
});
});
var timef2 = getFormatDate(new Date(Date.now()));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else if (selectValue == "lastMonth") {
//lastMonthTimetamp()
var lastMonthDate = lastMonthTimetamp();
var timef1 = getFormatDate(new Date(lastMonthDate[0] * 1000));
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef1,
});
});
var timef2 = getFormatDate(new Date(lastMonthDate[1] * 1000));
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: timef2,
});
});
} else { }
});
GetAllSubsystemTag();
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
var starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
var endtime = new Date();
endtime.setDate(endtime.getDate())
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
function getFormatDateone(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
month = (month < 10) ? '0' + month : month;
day = (day < 10) ? '0' + day : day;
hour = (hour < 10) ? '0' + hour : hour;
minutes = (minutes < 10) ? '0' + minutes : minutes;
seconds = (seconds < 10) ? '0' + seconds : seconds;
let currentDate = year + "-" + month + "-" + day
+ " " + hour + ":" + minutes + ":" + seconds;
return currentDate;
}
layui.use('laydate', function () {
var laydate = layui.laydate;
lay('#dateReStartTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
//value: "2023-02-23 13:56:25",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
lay('#dateReStartTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTime1').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
lay('#dateReStartTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTime2').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
lay('#dateReStartTimeSD').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTimeSD').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
lay('#dateReStartTimeZhu').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTimeZhu').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
lay('#dateReStartTimeBing').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(starttime),
});
});
lay('#dateReEndTimeBing').each(function () {
laydate.render({
elem: this,
trigger: 'click',
format: "yyyy-MM-dd HH:mm:ss",
value: getFormatDateone(endtime),
});
});
});
function getFormatDate(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
month = (month < 10) ? '0' + month : month;
day = (day < 10) ? '0' + day : day;
hour = (hour < 10) ? '0' + hour : hour;
minutes = (minutes < 10) ? '0' + minutes : minutes;
seconds = (seconds < 10) ? '0' + seconds : seconds;
let currentDate = year + "-" + month + "-" + day
+ " " + hour + ":" + minutes + ":" + seconds;
return currentDate;
}
//right_content
var rootpath = window.location.host;
//在页面未加载完毕之前显示的loading Html自定义内容
var _LoadingHtml = '<div id="loadingDiv" style="display: none; "><div id="over" style=" position: absolute;top: 0;left: 0; width: 100%;height: 100%; background-color: #f5f5f5;opacity:0.5;z-index: 1000;"></div><div id="layout" style="position: absolute;top: 40%; left: 40%;width: 20%; height: 20%; z-index: 1001;text-align:center;"><img src="//' + rootpath + '/images/loading.gif" /></div></div>';
//呈现loading效果
document.getElementById("gridpanel").innerHTML += _LoadingHtml;
//移除loading效果
function completeLoading() {
document.getElementById("loadingDiv").style.display = "none";
}
//展示loading效果
function showLoading() {
document.getElementById("loadingDiv").style.display = "block";
}
//在页面未加载完毕之前显示的loading Html自定义内容
var _LoadingHtml1 = '<div id="loadingDiv1" style="display: none; "><div id="over" style=" position: absolute;top: 0;left: 0; width: 100%;height: 100%; background-color: #f5f5f5;opacity:0.5;z-index: 1000;"></div><div id="layout" style="position: absolute;top: 40%; left: 40%;width: 20%; height: 20%; z-index: 1001;text-align:center;"><img src="//' + rootpath + '/images/loading.gif" /></div></div>';
//呈现loading效果
document.getElementById("gridpanel1").innerHTML += _LoadingHtml1;
//移除loading效果
function completeLoading1() {
document.getElementById("loadingDiv1").style.display = "none";
}
//展示loading效果
function showLoading1() {
document.getElementById("loadingDiv1").style.display = "block";
}
function json_array(data) {
var len = eval(data).length;
var arr = [];
for (var i = 0; i < len; i++) {
arr[i] = []; //js中二维数组必须进行重复的声明否则会undefind
arr[i]['url'] = data[i].url;
arr[i]['oldname'] = data[i].oldname;
}
return arr;
}
//var StaticSelectTagList = new Array();
//获取所有子系统列表ok
async function GetAllSubsystemTag() {
debugger;
$.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarm/GetAllSubsystemTag",
type: "Get",
//dataType: "json",
//async: false,
//data: datapa,
success: function (redata) {
debugger;
var listsubsysname = JSON.parse(redata);
$('#subsystemselect').combobox({
data: listsubsysname,
valueField: 'Lable',
textField: 'Value',
checkOnSelect: true,
selectOnCheck: true
});
}
});
}
//获取选中子系统tag
updateSelect = async function (data) {
var para = { "SubsysytemName": data.Value }
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
debugger;
myajax = $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarm/GetSubsystemAllTag",
type: "Post",
//dataType: "json",
data: para,
success: function (redata){}
});
debugger;
$.when(myajax).done(function (redata){
var subsystemAllTag = JSON.parse(redata);
$('#subsystemTagList').datalist({
data: subsystemAllTag,
valueField: 'TagID',
textField: 'Description',
idField: 'TagID',
});
debugger;
$('#subsystemTagList').datalist('resize', {
height: ($('#aright').height() - 75)
});
});
}
updateSelect_Value = async function (value, description) {
var para = { "SubsysytemName": value }
debugger;
myajax = $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarm/GetSubsystemAllTag",
type: "Post",
//dataType: "json",
data: para,
success: function (redata) {
}
});
debugger;
$.when(myajax).done(function (redata) {
var subsystemAllTag = JSON.parse(redata);
$('#subsystemTagList').datalist({
data: subsystemAllTag,
valueField: 'TagID',
textField: 'Description',
idField: 'TagID',
});
for (var i = 0; i < subsystemAllTag.length; i++) {
var tag = subsystemAllTag[i];
var id = tag.TagID;
if (tag.Description == description) {
$('#subsystemTagList').datalist("selectRecord",id);
break;
}
}
showTable();
$('#subsystemTagList').datalist('resize', {
height: ($('#aright').height() - 75)
});
});
}
showTableQuick = async function () {
debugger;
//if (selectType.value == "recent") {
showLoading1();
// var showdata = await GetAlarmRecordQuickDesc();
var showdata = await GetAlarmRecordHistory();
debugger;
table.render({
elem: '#result1',
// height: 'full-150',
data: showdata,
//editTrigger:'dblclick',
cols: [[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description', title: '报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
{ field: 'Typename', title: '报警类型' },
{ field: 'Startdt', title: '开始时间' },
{ field: 'Enddt', title: '结束时间' },
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
//{ field: 'hcount', title: '报警次数' },
{ field: 'Hztime', title: '报警总时长(秒)' },
{ title: '操作', width: 120, toolbar: '#currentTableBar', align: "center", fixed: 'right' },
]],
page: true,
limit: 6,
});
completeLoading1();
debugger;
showTableInit();
ShowZhuChartLi();
// ShowBingChartLi();
}
showTableQuick2 = async function () {
debugger;
//if (selectType.value == "recent") {
// showLoading1();
// var showdata = await GetAlarmRecordQuickDesc();
var showdata = await GetAlarmRecordHistory2();
debugger;
table.render({
elem: '#result12',
// height: 'full-150',
data: showdata,
//editTrigger:'dblclick',
cols: [[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description', title: '报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
{ field: 'Typename', title: '报警类型' },
{ field: 'Startdt', title: '开始时间' },
{ field: 'Enddt', title: '结束时间' },
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
//{ field: 'hcount', title: '报警次数' },
{ field: 'Hztime', title: '报警总时长(秒)' },
{ title: '操作', width: 120, toolbar: '#currentTableBar2', align: "center", fixed: 'right' },
]],
page: true,
limit: 6,
});
debugger;
showTableInit2();
ShowZhuChartLi2();
// ShowBingChartLi();
}
table.on('tool(currentTableFilter)', async function (obj) {
debugger;
if (obj.event === 'download') {
//window.open('/FileManage/Uploadfile/Download?keyValue=' + obj.data.F_Id);
}
else if (obj.event === 'details') {
debugger;
let description = obj.data.Description;
let datetimestart = $('#dateReStartTime1')[0].value;
let datetimeend = $('#dateReEndTime1')[0].value;
showTable(description);
}
else if (obj.event === 'details2') {
debugger;
let description = obj.data.Description;
let datetimestart = $('#dateReStartTime2')[0].value;
let datetimeend = $('#dateReEndTime2')[0].value;
showTable2(description);
}
});
//获取tagvalue
async function GetAlarmRecordQuick() {
var alarmlist = new Array();
debugger;
let alarmtype = $('#selectType')[0].value;
let datetimestart = $('#dateReStartTime1')[0].value;
let datetimeend = $('#dateReEndTime1')[0].value;
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "Alarmtype": alarmtype, "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarm/GetAlarmRecordQuick",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata) {
result = JSON.parse(redata);
});
return result;
}
//获取tagvalue
async function GetAlarmRecordQuickDesc() {
debugger;
let alarmTimeHorizon = $('#selectRecentQuick')[0].value;
let Hhour = 1;
if (alarmTimeHorizon == "onlyOneHour") {
Hhour = 1;
} else if (alarmTimeHorizon == "onlyThreeHour") {
Hhour = 3;
}else if (alarmTimeHorizon == "onlyEightHour") {
Hhour = 8;
} else if (alarmTimeHorizon == "onlyTwelveHour") {
Hhour = 12;
} else if (alarmTimeHorizon == "toDay") {
Hhour = 24;
} else {
Hhour = 1;
}
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "Hhour": Hhour };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarm/GetAlarmRecordQuickDesc",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata) {
result = JSON.parse(redata);
});
return result;
}
//获取tagvalue
async function GetAlarmRecordHistory() {
debugger;
let datetimestart = $('#dateReStartTime1')[0].value;
let datetimeend = $('#dateReEndTime1')[0].value;
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarmHistory",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata) {
result = JSON.parse(redata);
});
return result;
}
//获取tagvalue
async function GetAlarmRecordHistory2() {
debugger;
let datetimestart = $('#dateReStartTime2')[0].value;
let datetimeend = $('#dateReEndTime2')[0].value;
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarmHistory",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata) {
result = JSON.parse(redata);
});
return result;
}
showTable = async function(des){
showLoading();
var showdata = await GetAlarmRecordValue(des);
table.render({
elem: '#result',
height:'full-150',
data: showdata,
//editTrigger:'dblclick',
cols:[[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description' , title:'报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
{ field: 'startdt', title: '开始时间'},
{ field: 'enddt', title: '结束时间' },
{ field: 'Hztime', title: '持续时间(秒)', edit:false },
]],
page:true,
limit:16,
});
completeLoading();
}
showTable2 = async function (des) {
showLoading();
var showdata = await GetAlarmRecordValue(des);
table.render({
elem: '#result2',
height: 'full-150',
data: showdata,
//editTrigger:'dblclick',
cols: [[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description', title: '报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
{ field: 'startdt', title: '开始时间' },
{ field: 'enddt', title: '结束时间' },
{ field: 'Hztime', title: '持续时间(秒)', edit: false },
]],
page: true,
limit: 16,
});
completeLoading();
}
showTableInit = async function () {
showLoading();
var showdata = [];
table.render({
elem: '#result',
height: 'full-150',
data: showdata,
//editTrigger:'dblclick',
cols: [[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description', title: '报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
{ field: 'startdt', title: '开始时间' },
{ field: 'enddt', title: '结束时间' },
{ field: 'Hztime', title: '持续时间(秒)', edit: false },
]],
page: true,
limit: 16,
});
completeLoading();
}
showTableInit2 = async function () {
showLoading();
var showdata = [];
table.render({
elem: '#result2',
height: 'full-150',
data: showdata,
//editTrigger:'dblclick',
cols: [[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description', title: '报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
{ field: 'startdt', title: '开始时间' },
{ field: 'enddt', title: '结束时间' },
{ field: 'Hztime', title: '持续时间(秒)', edit: false },
]],
page: true,
limit: 16,
});
completeLoading();
}
//获取tagvalue
async function GetAlarmRecordValue(des) {
var alarmlist = new Array();
let datetimestart = $('#dateReStartTime1')[0].value;
let datetimeend = $('#dateReEndTime1')[0].value;
let datapa = { "Description": des, "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarmRecordForTagName",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata){
result = JSON.parse(redata);
});
return result;
}
async function GetAlarmRecordValue2(des) {
var alarmlist = new Array();
let datetimestart = $('#dateReStartTime2')[0].value;
let datetimeend = $('#dateReEndTime2')[0].value;
let datapa = { "Description": des, "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarmRecordForTagName",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata) {
result = JSON.parse(redata);
});
return result;
}
ShowZhuChartLi = async function () {
var alarmlist = new Array();
debugger;
let datetimestart = $('#dateReStartTime1')[0].value;
let datetimeend = $('#dateReEndTime1')[0].value;
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarm_Ztime",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) {
debugger;
var data = JSON.parse(redata);
var myChart = echarts.init(document.getElementById('resultzhu'));
myChart.dispose();
myChart = echarts.init(document.getElementById('resultzhu'));
myChart.hideLoading();
myChart.showLoading();
let date = []; //x轴日期
let lenged = []; //series的个数
let s = [];
data.map((item) => {
date.push(item['HDATE']);
lenged.push(item['Description']);
});
debugger;
date = [...new Set(date)]; //去重
lenged = [...new Set(lenged)];
console.log(date, lenged);
let series = [];
lenged.map((item) => {
//生成 series
let obj = {
name: item,
type: 'bar',
// stack: 'As',
emphasis: {
focus: 'series'
},
data: []
};
series.push(obj);
});
data.map((item) => {
//对series 的data进行处理
series.map((item1) => {
if (item1.name == item['Description'] && date.indexOf(item['HDATE']) > -1) {
item1.data[date.indexOf(item['HDATE'])] = item['Hztime'];
}
});
});
var option = {
title: {
text: '报警时长统计',
// subtext: '纯属虚构',
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: {
show: true,
type: ['line', 'bar', 'stack','pie'],
// title:['切换折线图','切换柱状图','切换堆叠图','切换饼图'],
},
restore: { show: true },
saveAsImage: { show: true }
}
},
legend: {
orient: 'vertical',
left: 'center',
bottom:'bottom',
},
// legend: lenged,
grid: {
left: '3%',
right: '4%',
bottom: '5%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: date
}
],
yAxis: [
{
type: 'value',
name:'报警时长',
position:'',
alignTicks:true,
axisLine: {
show:true,
},
},
],
series: series
};
myChart.hideLoading();
option && myChart.setOption(option);
// myChart.setOption(JSON.parse(JSON.stringify(option)));
myChart.on('click', async params => {
debugger;
// 可以设置点击的类型与响应的系列
if (params.seriesType === 'bar') {
var tagname = params.seriesName;
debugger;
showTable(tagname);
}
});
}
});
}
ShowZhuChartLi2 = async function () {
var alarmlist = new Array();
debugger;
let datetimestart = $('#dateReStartTime2')[0].value;
let datetimeend = $('#dateReEndTime2')[0].value;
//getChecked
//var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/PenMeiReportManage/PenMeiHistoryAlarmNewNew/GetAlarm_CS",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) {
debugger;
var data = JSON.parse(redata);
var myChart = echarts.init(document.getElementById('resultzhu2'));
myChart.dispose();
myChart = echarts.init(document.getElementById('resultzhu2'));
myChart.hideLoading();
myChart.showLoading();
let date = []; //x轴日期
let lenged = []; //series的个数
let s = [];
data.map((item) => {
date.push(item['HDATE']);
lenged.push(item['Description']);
});
debugger;
date = [...new Set(date)]; //去重
lenged = [...new Set(lenged)];
console.log(date, lenged);
let series = [];
lenged.map((item) => {
//生成 series
let obj = {
name: item,
type: 'bar',
// stack: 'As',
emphasis: {
focus: 'series'
},
data: []
};
series.push(obj);
});
data.map((item) => {
//对series 的data进行处理
series.map((item1) => {
if (item1.name == item['Description'] && date.indexOf(item['HDATE']) > -1) {
item1.data[date.indexOf(item['HDATE'])] = item['Hcount'];
}
});
});
var option = {
title: {
text: '报警频率统计',
// subtext: '纯属虚构',
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar', 'stack'] },
restore: { show: true },
saveAsImage: { show: true }
}
},
legend: {
orient: 'vertical',
left: 'center',
bottom: 'bottom',
},
// legend: lenged,
grid: {
left: '3%',
right: '4%',
bottom: '5%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: date
}
],
yAxis: [
{
type: 'value',
name: '报警次数',
position: '',
alignTicks: true,
axisLine: {
show: true,
},
},
],
series: series
};
myChart.hideLoading();
option && myChart.setOption(option);
// myChart.setOption(JSON.parse(JSON.stringify(option)));
myChart.on('click', async params => {
debugger;
// 可以设置点击的类型与响应的系列
if (params.seriesType === 'bar') {
var tagname = params.seriesName;
debugger;
showTable2(tagname);
}
});
}
});
}
});
</script>
<html style="height:100%">
<body style="height:100%">
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
<div class="layui-tab layui-tab-card" lay-filter="Chang" style="height:100%" id="tab1">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="11">报警时长统计</li>
<li lay-id="22">报警频率统计</li>
</ul>
<div class="layui-tab-content" style="height:90%">
<div class="layui-tab-item layui-show" style="height:100%">
<div class="layui-fluid" style="padding:0 0px;height:100%">
<div class="layui-row layui-col-space5" style="height:100%">
<div class="layui-col-md12 layui-col-xs12" style="height:100%">
<form class="layui-form" style="height:auto;" id="formPreviewForm1">
<div id="grid_21" class="layui-form-item layui-row grid active" data-id="grid_21"
data-tag="grid" data-index="0">
<div class="layui-col-md3 widget-col-list column1" data-index="1" data-parentindex="0">
<div id="ReStartTime1" class="layui-form-item active" data-id="ReStartTime1"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
开始时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReStartTime1" name="ndateReStartTime" lay-verify="required"
class="layui-input icon-date widget-date " style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md3 widget-col-list column2" data-index="2" data-parentindex="0">
<div id="ReEndTime1" class="layui-form-item active" data-id="ReEndTime1"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
结束时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReEndTime1" name="ndateReEndTime" lay-verify="required" class="layui-input icon-date widget-date "
style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md2 widget-col-list column4" data-index="2" data-parentindex="0" id="recentMd">
<div id="select_11" class="layui-form-item active" data-id="select_5" data-tag="select"
data-index="0">
<label class="layui-form-label layui-form-required" style="width: 110px;">
速查范围:
</label>
<div class="layui-input-block layui-form" lay-filter="select_4" style="margin-left: 140px;">
<select name="selectquick" lay-filter="quickTimeF" lay-verify="required" id="selectRecentQuick">
<option value="toDay" selected="">
今日
</option>
<option value="yesterDay">
昨日
</option>
<option value="thisWeek">
本周
</option>
<option value="lastWeek">
上周
</option>
<option value="thisMonth">
本月
</option>
<option value="lastMonth">
上月
</option>
</select>
</div>
</div>
</div>
<div class="layui-col-md2 widget-col-list column4" data-index="4" data-parentindex="0">
<div id="bottom_51" class="layui-form-item active" data-id="bottom_51" data-tag="bottom"
data-index="0">
<div class="layui-input-block" style="margin-left: 30px;">
<button id="btn_search1" type="button" class="layui-btn custom-zc" ; onclick="showTableQuick()">
<i class="layui-icon ">
</i>
确定
</button>
</div>
</div>
</div>
</div>
</form>
<form class="layui-form" style="height:100%;width:100%">
<div class="layui-row" style="width:100%;height: 100%;margin-bottom: 10px;">
<div class="layui-col-md7" style="height: 100%;">
<div class="layui-panel" id="gridpanelzhu" style="width:100%;height: 100%;margin-bottom: 10px; ">
<div class="layui-panel" id="gridpanel1" style="width:100%;height: 45%;margin-bottom: 10px; ">
<table id="result1" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar">
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
</script>
</div>
<div id="resultzhu" class="echart" style="width: 100%; height: 50% ;"></div>
</div>
</div>
<div class="layui-col-md5" style="height: 100%;">
<div class="layui-panel" id="gridpanelbing" style="width:100%;height: 100%;margin-bottom: 10px;margin-left:5px; ">
<table id="result" lay-filter="metafilter"></table>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="layui-tab-item" style="height:100%">
<div class="layui-fluid" style="padding:0 0px;height:100%">
<div class="layui-row layui-col-space5" style="height:100%">
<div class="layui-col-md12 layui-col-xs12" style="height:100%">
<form class="layui-form" style="height:auto;" id="formPreviewForm1">
<div id="grid_211" class="layui-form-item layui-row grid active" data-id="grid_21"
data-tag="grid" data-index="0">
<div class="layui-col-md3 widget-col-list column1" data-index="1" data-parentindex="0">
<div id="ReStartTime2" class="layui-form-item active" data-id="ReStartTime2"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
开始时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReStartTime2" name="ndateReStartTime" lay-verify="required"
class="layui-input icon-date widget-date " style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md3 widget-col-list column2" data-index="2" data-parentindex="0">
<div id="ReEndTime2" class="layui-form-item active" data-id="ReEndTime2"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
结束时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReEndTime2" name="ndateReEndTime" lay-verify="required" class="layui-input icon-date widget-date "
style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md2 widget-col-list column4" data-index="2" data-parentindex="0" id="recentMd">
<div id="select_11" class="layui-form-item active" data-id="select_5" data-tag="select"
data-index="0">
<label class="layui-form-label layui-form-required" style="width: 110px;">
速查范围:
</label>
<div class="layui-input-block layui-form" lay-filter="select_4" style="margin-left: 140px;">
<select name="selectquick" lay-filter="quickTimeF2" lay-verify="required" id="selectRecentQuick">
<option value="toDay" selected="">
今日
</option>
<option value="yesterDay">
昨日
</option>
<option value="thisWeek">
本周
</option>
<option value="lastWeek">
上周
</option>
<option value="thisMonth">
本月
</option>
<option value="lastMonth">
上月
</option>
</select>
</div>
</div>
</div>
<div class="layui-col-md2 widget-col-list column4" data-index="4" data-parentindex="0">
<div id="bottom_51" class="layui-form-item active" data-id="bottom_51" data-tag="bottom"
data-index="0">
<div class="layui-input-block" style="margin-left: 30px;">
<button id="btn_search2" type="button" class="layui-btn custom-zc" ; onclick="showTableQuick2()">
<i class="layui-icon ">
</i>
确定
</button>
</div>
</div>
</div>
</div>
</form>
<form class="layui-form" style="height:100%;width:100%">
<div class="layui-row" style="width:100%;height: 100%;margin-bottom: 10px;">
<div class="layui-col-md7" style="height: 100%;">
<div class="layui-panel" id="gridpanelzhu2" style="width:100%;height: 100%;margin-bottom: 10px; ">
<div class="layui-panel" id="gridpanel2" style="width:100%;height: 45%;margin-bottom: 10px; ">
<table id="result12" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar2">
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details2">查看</a>
</script>
</div>
<div id="resultzhu2" class="echart" style="width: 100%; height: 50% ;"></div>
</div>
</div>
<div class="layui-col-md5" style="height: 100%;">
<div class="layui-panel" id="gridpanel2" style="width:100%;height: 100%;margin-bottom: 10px;margin-left:5px; ">
<table id="result2" lay-filter="metafilter"></table>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="layui-tab-item" style="height:100%">
<div id="fluid" class="layui-fluid" style="padding:0 0px;height:100%">
<div id="layuirow" class="layui-row layui-col-space5" style="height:100%">
<div class="layui-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">
<div class="layui-card" style="text-align:left;overflow: auto;height:100%" id="toolbarDiv">
<div id="aleft" style="float:left;width:100%;height:100%">
<div id="easyuipanel" class="easyui-panel" title="选择设备信息" style="width:100%;height:100%">
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
</div>
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
checkbox: true,
selectOnCheck:true,
checkOnSelect:true,
sigleselect:true,
">
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md10 layui-col-xs9" style="height:100%">
<form class="layui-form" style="height:auto;" id="formPreviewForm">
<div id="grid_2" class="layui-form-item layui-row grid active" data-id="grid_2"
data-tag="grid" data-index="0">
<div class="layui-col-md3 widget-col-list column0" data-index="0" data-parentindex="0">
<div id="ReStartTime" class="layui-form-item active" data-id="ReStartTime"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
开始时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReStartTime" name="ndateReStartTime" lay-verify="required"
class="layui-input icon-date widget-date " style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md3 widget-col-list column1" data-index="1" data-parentindex="0">
<div id="ReEndTime" class="layui-form-item active" data-id="ReEndTime"
data-tag="date" data-index="0">
<label class="layui-form-label layui-form-required" style="width: 80px;">
结束时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
<input id="dateReEndTime" name="ndateReEndTime" lay-verify="required" class="layui-input icon-date widget-date "
style="line-height: 40px;">
</div>
</div>
</div>
<div class="layui-col-md3 widget-col-list column2" data-index="2" data-parentindex="0">
<div id="select_10" class="layui-form-item active" data-id="select_4" data-tag="select"
data-index="0">
<label class="layui-form-label layui-form-required" style="width: 110px;">
快捷节点:
</label>
<div class="layui-input-block layui-form" lay-filter="select_4" style="margin-left: 140px;">
<select name="selectquick" lay-filter="quickTime" lay-verify="required" id="selectQuick">
<option value="def" selected="">
快速选择周期
</option>
<option value="toDay">
今日
</option>
<option value="yesterDay">
昨日
</option>
<option value="thisWeek">
本周
</option>
<option value="lastWeek">
上周
</option>
<option value="thisMonth">
本月
</option>
<option value="lastMonth">
上月
</option>
</select>
</div>
</div>
</div>
<div class="layui-col-md3 widget-col-list column3" data-index="3" data-parentindex="0">
<div id="bottom_5" class="layui-form-item active" data-id="bottom_5" data-tag="bottom"
data-index="0">
<div class="layui-input-block" style="margin-left: 30px;">
<button id="btn_search" type="button" class="layui-btn custom-zc" ; onclick="showTable()">
<i class="layui-icon ">
</i>
确定
</button>
</div>
</div>
</div>
</div>
</form>
<form class="layui-form" style="height:calc(100% - 55px);width:100%" id="tablepanel">
<div class="layui-panel" id="gridpanel" style="width:100%;height: 100%;margin-bottom: 10px; ">
<table id="result" lay-filter="metafilter"></table>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>