报警历史更改,预览版
This commit is contained in:
@ -50,36 +50,11 @@ namespace HT.Cloud.Domain.ReportManage
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName="Archive", ColumnDescription = "",ColumnDataType = "bit(1)")]
|
|
||||||
public bool Archive { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(ColumnName="DefaultValue", ColumnDescription = "",ColumnDataType = "sql_variant", IsNullable = true)]
|
|
||||||
public string DefaultValue { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(ColumnName="Description", ColumnDescription = "",ColumnDataType = "nvarchar(128)", IsNullable = true)]
|
[SugarColumn(ColumnName="Description", ColumnDescription = "",ColumnDataType = "nvarchar(128)", IsNullable = true)]
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName="Maximum", ColumnDescription = "",ColumnDataType = "real(24)")]
|
|
||||||
public Single Maximum { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(ColumnName="Minimum", ColumnDescription = "",ColumnDataType = "real(24)")]
|
|
||||||
public Single Minimum { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(ColumnName="Cycle", ColumnDescription = "",ColumnDataType = "int(10)")]
|
|
||||||
public int Cycle { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(ColumnName="Subsystem", ColumnDescription = "",ColumnDataType = "varchar(64)")]
|
[SugarColumn(ColumnName="Subsystem", ColumnDescription = "",ColumnDataType = "varchar(64)")]
|
||||||
public string Subsystem { get; set; }
|
public string Subsystem { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -92,5 +67,10 @@ namespace HT.Cloud.Domain.ReportManage
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName="WriteAddress", ColumnDescription = "",ColumnDataType = "varchar(64)", IsNullable = true)]
|
[SugarColumn(ColumnName="WriteAddress", ColumnDescription = "",ColumnDataType = "varchar(64)", IsNullable = true)]
|
||||||
public string WriteAddress { get; set; }
|
public string WriteAddress { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 报警类型
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "Alarmtype", ColumnDescription = "报警类型", ColumnDataType = "varchar(8)", IsNullable = true)]
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ using HT.Cloud.Domain.ReportManage;
|
|||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@ -40,7 +41,7 @@ namespace HT.Cloud.Service.ReportManage
|
|||||||
new SubAllTagReturn()
|
new SubAllTagReturn()
|
||||||
{
|
{
|
||||||
TagID = (short)subsystem.TagID,
|
TagID = (short)subsystem.TagID,
|
||||||
Description = subsystem.Description + $"({subsystem.Units})",
|
Description = subsystem.Description,
|
||||||
Units = subsystem.Units
|
Units = subsystem.Units
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -102,6 +103,34 @@ namespace HT.Cloud.Service.ReportManage
|
|||||||
//return resultlist.ToJson();
|
//return resultlist.ToJson();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetAlarmRecordQuick(string HATYPE, string startdt, string enddt)
|
||||||
|
{
|
||||||
|
|
||||||
|
SugarParameter[] sqlParameters =
|
||||||
|
{
|
||||||
|
new SugarParameter("@HATYPE",HATYPE),
|
||||||
|
new SugarParameter("@Hstartdt",startdt),
|
||||||
|
new SugarParameter("@Henddt",enddt)
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
|
||||||
|
var valuelist = DataTableConvertModel<AlarmValueCount>.ConvertDataTableToList(dt);
|
||||||
|
return valuelist.ToJson();
|
||||||
|
|
||||||
|
}
|
||||||
|
public async Task<string> GetAlarmSubSystem(string alarmName)
|
||||||
|
{
|
||||||
|
var subSystem = repository.IQueryable().Where(x => x.Description == alarmName).First().Subsystem;
|
||||||
|
return subSystem.ToJson();
|
||||||
|
}
|
||||||
|
private class AlarmValueCount
|
||||||
|
{
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
public int hcount { get; set; }
|
||||||
|
public int hztime { get; set; }
|
||||||
|
}
|
||||||
private class AlarmValue
|
private class AlarmValue
|
||||||
{
|
{
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
|
@ -48,6 +48,23 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|||||||
var data = await _metaTagAlarmService.GetAlarmRecord(TagID, StartTime, EndTime);
|
var data = await _metaTagAlarmService.GetAlarmRecord(TagID, StartTime, EndTime);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmRecordQuick(Alarm_Quick_Params alarm_Quick_Params)
|
||||||
|
{
|
||||||
|
var Alarmtype = alarm_Quick_Params.Alarmtype;
|
||||||
|
var StartTime = Gettime(alarm_Quick_Params.StartTime);
|
||||||
|
var EndTime = Gettime(alarm_Quick_Params.EndTime);
|
||||||
|
|
||||||
|
var data = await _metaTagAlarmService.GetAlarmRecordQuick(Alarmtype, StartTime, EndTime);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmSubSystem(SubSystem_Params subSystem_Params)
|
||||||
|
{
|
||||||
|
var AlarmName = subSystem_Params.AlarmName;
|
||||||
|
var data = await _metaTagAlarmService.GetAlarmSubSystem(AlarmName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
public string Gettime(string longtime)
|
public string Gettime(string longtime)
|
||||||
{
|
{
|
||||||
@ -86,13 +103,22 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|||||||
// public decimal value { get; set; }
|
// public decimal value { get; set; }
|
||||||
// public String name { get; set; }
|
// public String name { get; set; }
|
||||||
//}
|
//}
|
||||||
|
public class SubSystem_Params
|
||||||
|
{
|
||||||
|
public string AlarmName { get; set; }
|
||||||
|
}
|
||||||
public class Alarm_Params
|
public class Alarm_Params
|
||||||
{
|
{
|
||||||
public string TagID { get; set; }
|
public string TagID { get; set; }
|
||||||
public string StartTime { get; set; }
|
public string StartTime { get; set; }
|
||||||
public string EndTime { get; set; }
|
public string EndTime { get; set; }
|
||||||
}
|
}
|
||||||
|
public class Alarm_Quick_Params
|
||||||
|
{
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
public string StartTime { get; set; }
|
||||||
|
public string EndTime { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,11 @@
|
|||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
debugger;
|
debugger;
|
||||||
layui.use(['jquery', 'form', 'table', 'common', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
|
var firstInit = true;
|
||||||
|
layui.use(['jquery', 'form', 'table', 'element', 'common', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
|
||||||
var $ = layui.jquery,
|
var $ = layui.jquery,
|
||||||
form = layui.form,
|
form = layui.form,
|
||||||
|
element = layui.element,
|
||||||
commonTable = layui.commonTable,
|
commonTable = layui.commonTable,
|
||||||
table = layui.table,
|
table = layui.table,
|
||||||
dtree = layui.dtree,
|
dtree = layui.dtree,
|
||||||
@ -20,8 +22,24 @@
|
|||||||
common = layui.common;
|
common = layui.common;
|
||||||
//加载数据
|
//加载数据
|
||||||
wcLoading.close();
|
wcLoading.close();
|
||||||
|
|
||||||
//权限控制(js是值传递)
|
//权限控制(js是值传递)
|
||||||
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||||
|
element.render();
|
||||||
|
element.on('tab(Chang)',function(data){
|
||||||
|
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)
|
||||||
|
//});
|
||||||
|
});
|
||||||
|
|
||||||
form.on('select(quickTime)', function (data) {
|
form.on('select(quickTime)', function (data) {
|
||||||
var selectValue = data.value;
|
var selectValue = data.value;
|
||||||
@ -311,6 +329,296 @@
|
|||||||
});
|
});
|
||||||
} else { }
|
} else { }
|
||||||
});
|
});
|
||||||
|
form.on('select(quickType)', 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 { }
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GetAllSubsystemTag();
|
GetAllSubsystemTag();
|
||||||
|
|
||||||
@ -354,6 +662,24 @@
|
|||||||
//value: "2023-02-23 13:56:25",
|
//value: "2023-02-23 13:56:25",
|
||||||
value: getFormatDateone(endtime),
|
value: getFormatDateone(endtime),
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
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: getFormatDateone(starttime),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
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: getFormatDateone(endtime),
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
function getFormatDate(date) {
|
function getFormatDate(date) {
|
||||||
@ -388,6 +714,19 @@
|
|||||||
document.getElementById("loadingDiv").style.display = "block";
|
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) {
|
function json_array(data) {
|
||||||
var len = eval(data).length;
|
var len = eval(data).length;
|
||||||
var arr = [];
|
var arr = [];
|
||||||
@ -402,6 +741,7 @@
|
|||||||
//var StaticSelectTagList = new Array();
|
//var StaticSelectTagList = new Array();
|
||||||
//获取所有子系统列表ok
|
//获取所有子系统列表ok
|
||||||
async function GetAllSubsystemTag() {
|
async function GetAllSubsystemTag() {
|
||||||
|
|
||||||
debugger;
|
debugger;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/ReportManage/MetaTagAlarm/GetAllSubsystemTag",
|
url: "/ReportManage/MetaTagAlarm/GetAllSubsystemTag",
|
||||||
@ -458,6 +798,52 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
updateSelect_Value = async function (value, description) {
|
||||||
|
var para = { "SubsysytemName": value }
|
||||||
|
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
|
||||||
|
debugger;
|
||||||
|
myajax = $.ajax({
|
||||||
|
url: "/ReportManage/MetaTagAlarm/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',
|
||||||
|
});
|
||||||
|
|
||||||
|
//var datalistArr = $('#subsystemTagList').datalist("getData").rows;
|
||||||
|
//if (datalistArr.length > 0 && StaticSelectTagList.length > 0) {
|
||||||
|
// for (var ni = 0; ni < datalistArr.length; ni++) {
|
||||||
|
// if (StaticSelectTagList.indexOf(datalistArr[i]) != -1) {
|
||||||
|
// $('#subsystemTagList').datalist("selectRecord", datalistArr[i].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)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
//checkTagAdd = function (rowIndex, rowData) {
|
//checkTagAdd = function (rowIndex, rowData) {
|
||||||
// checkAddTaglist(rowData);
|
// checkAddTaglist(rowData);
|
||||||
@ -480,13 +866,150 @@
|
|||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
showTableQuick = async function () {
|
||||||
|
showLoading1();
|
||||||
|
var showdata = await GetAlarmRecordQuick();
|
||||||
|
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: 'RtValue' , title:'当前值' , edit:'text'},
|
||||||
|
{ field: 'hcount', title: '报警次数' },
|
||||||
|
{ field: 'hztime', title: '报警总时长(秒)' },
|
||||||
|
{ title: '操作', width: 120, toolbar: '#currentTableBar', align: "center", fixed: 'right' },
|
||||||
|
|
||||||
|
]],
|
||||||
|
page: true,
|
||||||
|
limit: 16,
|
||||||
|
});
|
||||||
|
completeLoading1();
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
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: datetimestart,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
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: datetimeend,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let alarmSub = "";
|
||||||
|
|
||||||
|
element.tabChange('Chang', "22");
|
||||||
|
|
||||||
|
let datapa = { "AlarmName": description };
|
||||||
|
myajax = await $.ajax({
|
||||||
|
url: "/ReportManage/MetaTagAlarm/GetAlarmSubSystem",
|
||||||
|
type: "Post",
|
||||||
|
//dataType: "json",
|
||||||
|
data: datapa,
|
||||||
|
success: function (redata) {
|
||||||
|
alarmSub = JSON.parse(redata);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var comdatas = $('#subsystemselect').combobox('getData');
|
||||||
|
for(var i = 0; i < comdatas.length; i++){
|
||||||
|
var comdata = comdatas[i];
|
||||||
|
|
||||||
|
if (comdata.Value == alarmSub) {
|
||||||
|
$('#subsystemselect').combobox("select", comdata.Value);
|
||||||
|
updateSelect_Value(comdata.Value, description);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//updateSelect(alarmSub);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//var rows = $('#subsystemTagList').datalist('getRows');
|
||||||
|
|
||||||
|
//for (var i = 0; i < rows.length; i++) {
|
||||||
|
// var row = rows[i];
|
||||||
|
// var id = row.id;
|
||||||
|
// if (row.text == description){
|
||||||
|
// $('#subsystemTagList').datalist("selectRecord",id);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
//return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
//获取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: "/ReportManage/MetaTagAlarm/GetAlarmRecordQuick",
|
||||||
|
type: "Post",
|
||||||
|
//dataType: "json",
|
||||||
|
data: datapa,
|
||||||
|
success: function (redata) { }
|
||||||
|
});
|
||||||
|
|
||||||
|
debugger;
|
||||||
|
|
||||||
|
$.when(myajax).done(function (redata) {
|
||||||
|
result = JSON.parse(redata);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
showTable = async function(){
|
showTable = async function(){
|
||||||
showLoading();
|
showLoading();
|
||||||
var showdata = await GetAlarmRecordValue();
|
var showdata = await GetAlarmRecordValue();
|
||||||
table.render({
|
table.render({
|
||||||
elem: '#result',
|
elem: '#result',
|
||||||
height:'full-10',
|
height:'full-150',
|
||||||
data: showdata,
|
data: showdata,
|
||||||
//editTrigger:'dblclick',
|
//editTrigger:'dblclick',
|
||||||
cols:[[
|
cols:[[
|
||||||
@ -504,7 +1027,7 @@
|
|||||||
|
|
||||||
]],
|
]],
|
||||||
page:true,
|
page:true,
|
||||||
limit:20,
|
limit:16,
|
||||||
});
|
});
|
||||||
completeLoading();
|
completeLoading();
|
||||||
}
|
}
|
||||||
@ -553,7 +1076,188 @@
|
|||||||
<html style="height:100%">
|
<html style="height:100%">
|
||||||
<body style="height:100%">
|
<body style="height:100%">
|
||||||
|
|
||||||
|
<div class="layui-tab layui-tab-card" lay-filter="Chang" style="height:100%" id="tab1">
|
||||||
@*<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>*@
|
@*<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>*@
|
||||||
|
<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-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 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-md12 layui-col-xs12" style="height:100%">
|
||||||
|
@*<div class="layui-card" style="padding: 5px;">
|
||||||
|
<div id="echartdiv" style="width:100%;height: 100%;margin-bottom: 10px;">
|
||||||
|
<div id="result" class="echart" style="width: 100%; height: 100% "></div>
|
||||||
|
</div>
|
||||||
|
</div>*@
|
||||||
|
|
||||||
|
<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-md2 widget-col-list column0" data-index="0" data-parentindex="0">
|
||||||
|
<div id="select_1011" class="layui-form-item active" data-id="select_411" data-tag="select"
|
||||||
|
data-index="0">
|
||||||
|
<label class="layui-form-label layui-form-required" style="width: 60px;">
|
||||||
|
报警类型:
|
||||||
|
</label>
|
||||||
|
<div class="layui-input-block layui-form" lay-filter="select_4" style="margin-left: 90px;">
|
||||||
|
|
||||||
|
<select name="selectType" lay-filter="quickType" lay-verify="required" id="selectType">
|
||||||
|
<option value="def" selected="">
|
||||||
|
选择报警类型
|
||||||
|
</option>
|
||||||
|
<option value="A1">
|
||||||
|
一级报警
|
||||||
|
</option>
|
||||||
|
<option value="A2">
|
||||||
|
二级报警
|
||||||
|
</option>
|
||||||
|
<option value="A3">
|
||||||
|
三级报警
|
||||||
|
</option>
|
||||||
|
<option value="F1">
|
||||||
|
一级故障
|
||||||
|
</option>
|
||||||
|
<option value="F2">
|
||||||
|
二级故障
|
||||||
|
</option>
|
||||||
|
<option value="F3">
|
||||||
|
三级故障
|
||||||
|
</option>
|
||||||
|
<option value="H1">
|
||||||
|
高一级报警
|
||||||
|
</option>
|
||||||
|
<option value="H2">
|
||||||
|
高二级报警
|
||||||
|
</option>
|
||||||
|
<option value="H3">
|
||||||
|
高三级报警
|
||||||
|
</option>
|
||||||
|
<option value="L1">
|
||||||
|
低一级报警
|
||||||
|
</option>
|
||||||
|
<option value="L2">
|
||||||
|
低二级报警
|
||||||
|
</option>
|
||||||
|
<option value="L3">
|
||||||
|
低三级报警
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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 column3" data-index="3" data-parentindex="0">
|
||||||
|
<div id="select_101" class="layui-form-item active" data-id="select_41" 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="quickTime1" lay-verify="required" id="selectQuick1">
|
||||||
|
<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-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:calc(100% - 55px);width:100%" id="tablepanel1">
|
||||||
|
<div class="layui-panel" id="gridpanel1" style="width:100%;height: 100%;margin-bottom: 10px; ">
|
||||||
|
<table id="result1" lay-filter="currentTableFilter"></table> @*style="width: 100%; height: 100% "*@
|
||||||
|
<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>
|
||||||
|
</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-fluid" style="padding:0 0px;height:100%">
|
||||||
<div class="layui-row layui-col-space5" style="height:100%">
|
<div 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-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">
|
||||||
@ -664,7 +1368,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
<form class="layui-form" style="height:calc(100vh - 55px);width:100%" id="tablepanel">
|
<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; ">
|
<div class="layui-panel" id="gridpanel" style="width:100%;height: 100%;margin-bottom: 10px; ">
|
||||||
<table id="result" lay-filter="metafilter"></table> @*style="width: 100%; height: 100% "*@
|
<table id="result" lay-filter="metafilter"></table> @*style="width: 100%; height: 100% "*@
|
||||||
</div>
|
</div>
|
||||||
@ -672,5 +1376,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Reference in New Issue
Block a user