主页修改 添加实时报表 ,
历史报表修改 分页 表头换行 快捷时间等等
This commit is contained in:
71
HT.Cloud.Domain/Entity/ReportManage/RtReportEntity.cs
Normal file
71
HT.Cloud.Domain/Entity/ReportManage/RtReportEntity.cs
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Domain.ReportManage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创 建:cdl
|
||||||
|
/// 日 期:2023-03-30 14:52
|
||||||
|
/// 描 述:实时报表SQL转换实体类
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("HT_RT_REPORT")]
|
||||||
|
public class RtReportEntity
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HNO", ColumnDescription = "",ColumnDataType = "int(10)",IsPrimaryKey = true)]
|
||||||
|
public int HNO { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HTAB", ColumnDescription = "",ColumnDataType = "nvarchar(50)")]
|
||||||
|
public string HTAB { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HALI", ColumnDescription = "",ColumnDataType = "nvarchar(10)")]
|
||||||
|
public string HALI { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HSYS", ColumnDescription = "",ColumnDataType = "nvarchar(100)", IsNullable = true)]
|
||||||
|
public string HSYS { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HPRO", ColumnDescription = "",ColumnDataType = "nvarchar(100)", IsNullable = true)]
|
||||||
|
public string HPRO { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HREQ", ColumnDescription = "",ColumnDataType = "nvarchar(50)", IsNullable = true)]
|
||||||
|
public string HREQ { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HSIG", ColumnDescription = "",ColumnDataType = "nvarchar(10)")]
|
||||||
|
public string HSIG { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HVAR", ColumnDescription = "",ColumnDataType = "nvarchar(80)")]
|
||||||
|
public string HVAR { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HFVAR", ColumnDescription = "",ColumnDataType = "nvarchar(80)", IsNullable = true)]
|
||||||
|
public string HFVAR { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HCON", ColumnDescription = "",ColumnDataType = "nvarchar(500)")]
|
||||||
|
public string HCON { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="HFLAG", ColumnDescription = "",ColumnDataType = "int(10)")]
|
||||||
|
public int HFLAG { get; set; }
|
||||||
|
}
|
||||||
|
}
|
103
HT.Cloud.Service/ReportManage/RtReportService.cs
Normal file
103
HT.Cloud.Service/ReportManage/RtReportService.cs
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
using MiniExcelLibs;
|
||||||
|
using Serenity.Services;
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using HT.Cloud.Domain.ReportManage;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System.Data;
|
||||||
|
using HT.Cloud.Code;
|
||||||
|
using HT.Cloud.Domain.ChartsManage;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Service.ReportManage
|
||||||
|
{
|
||||||
|
public class RtReportService : BaseService<RtReportEntity>, IDenpendency
|
||||||
|
{
|
||||||
|
public RtReportService(ISqlSugarClient context) : base(context)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetRtSubsysTagValue()
|
||||||
|
{
|
||||||
|
var srcList = repository.IQueryable().ToList();
|
||||||
|
|
||||||
|
|
||||||
|
var remoteRtDataServer = _context.Queryable<RtchartsEntity>().First().remotertdataserver;
|
||||||
|
|
||||||
|
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||||
|
|
||||||
|
|
||||||
|
JObject valueJson = JObject.Parse(responseStr);
|
||||||
|
|
||||||
|
var srcTagRtValues = new List<SrcTagRtValue>();
|
||||||
|
|
||||||
|
foreach(var src in srcList)
|
||||||
|
{
|
||||||
|
string SubsysName = src.HSYS.ToString();
|
||||||
|
string Description = src.HPRO.ToString();
|
||||||
|
string TagName = src.HVAR.ToString();
|
||||||
|
string srcValue = valueJson[TagName].ToString();
|
||||||
|
string hSig = src.HSIG.ToString();
|
||||||
|
string Value = "";
|
||||||
|
if (hSig == "SS")
|
||||||
|
{
|
||||||
|
if (srcValue == "True")
|
||||||
|
Value = "开启";
|
||||||
|
else
|
||||||
|
Value = "停止";
|
||||||
|
}
|
||||||
|
else if (hSig == "OC")
|
||||||
|
{
|
||||||
|
if (srcValue == "True")
|
||||||
|
Value = "开";
|
||||||
|
else
|
||||||
|
Value = "关";
|
||||||
|
}
|
||||||
|
else if (hSig == "VP")
|
||||||
|
{
|
||||||
|
Value = Convert.ToDouble(srcValue).ToString("f2");
|
||||||
|
}
|
||||||
|
else if (hSig == "PE")
|
||||||
|
{
|
||||||
|
Value = srcValue + "%";
|
||||||
|
}
|
||||||
|
else if (hSig == "YN")
|
||||||
|
{
|
||||||
|
if (srcValue == "True")
|
||||||
|
Value = "是";
|
||||||
|
else
|
||||||
|
Value = "否";
|
||||||
|
}
|
||||||
|
else if (hSig == "AM")
|
||||||
|
{
|
||||||
|
if (srcValue == "True")
|
||||||
|
Value = "自动";
|
||||||
|
else
|
||||||
|
Value = "手动";
|
||||||
|
}
|
||||||
|
|
||||||
|
srcTagRtValues.Add(new SrcTagRtValue() {TagName = TagName, Description = Description, Value = Value });
|
||||||
|
}
|
||||||
|
var dt = new Dictionary<string, string>();
|
||||||
|
foreach (var src in srcTagRtValues)
|
||||||
|
{
|
||||||
|
dt.Add(src.TagName, src.Value);
|
||||||
|
}
|
||||||
|
dt.Add("RtTime",DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
|
||||||
|
return dt.ToJson();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public class SrcTagRtValue
|
||||||
|
{
|
||||||
|
public string TagName {get;set;}
|
||||||
|
public string Description { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using HT.Cloud.Service.ChartsManage;
|
||||||
|
using HT.Cloud.Service.ReportManage;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||||
|
{
|
||||||
|
[Area("ReportManage")]
|
||||||
|
public class RtReportController : BaseController
|
||||||
|
{
|
||||||
|
public RtReportService _rtReportService { get; set; }
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult> GetRtData()
|
||||||
|
{
|
||||||
|
var data = await _rtReportService.GetRtSubsysTagValue();
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -15,7 +15,14 @@
|
|||||||
表单设计器代码
|
表单设计器代码
|
||||||
</title>
|
</title>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
.layui-table-cell {
|
||||||
|
line-height: 20px !important;
|
||||||
|
vertical-align: middle;
|
||||||
|
height: auto;
|
||||||
|
overflow: visible;
|
||||||
|
text-overflow: inherit;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" href="~/lib/layui/css/layui.css" />
|
<link rel="stylesheet" href="~/lib/layui/css/layui.css" />
|
||||||
@ -36,7 +43,7 @@
|
|||||||
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
||||||
开始时间:
|
开始时间:
|
||||||
</label>
|
</label>
|
||||||
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
|
<div class="layui-input-block" style="width:calc(100% - 150px);margin-left: 110px;">
|
||||||
<input id="dateReStartTime" name="ndateReStartTime" lay-verify="required"
|
<input id="dateReStartTime" name="ndateReStartTime" lay-verify="required"
|
||||||
class="layui-input icon-date widget-date " style="line-height: 40px;">
|
class="layui-input icon-date widget-date " style="line-height: 40px;">
|
||||||
</div>
|
</div>
|
||||||
@ -48,13 +55,42 @@
|
|||||||
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
||||||
结束世间:
|
结束世间:
|
||||||
</label>
|
</label>
|
||||||
<div class="layui-input-block" style="width:calc(100% - 110px);margin-left: 110px;">
|
<div class="layui-input-block" style="width:calc(100% - 150px);margin-left: 110px;">
|
||||||
<input id="dateReEndTime" name="ndateReEndTime" lay-verify="required" class="layui-input icon-date widget-date "
|
<input id="dateReEndTime" name="ndateReEndTime" lay-verify="required" class="layui-input icon-date widget-date "
|
||||||
style="line-height: 40px;">
|
style="line-height: 40px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md3 widget-col-list column2" data-index="2" data-parentindex="0">
|
<div class="layui-col-md2 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: 110px">
|
||||||
|
|
||||||
|
<select name="selectquick" lay-filter="quickTime" lay-verify="required" id="selectQuick">
|
||||||
|
<option value="def" selected="">
|
||||||
|
快速选择周期
|
||||||
|
</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 column2" data-index="3" data-parentindex="0">
|
||||||
<div id="select_4" class="layui-form-item active" data-id="select_4" data-tag="select"
|
<div id="select_4" class="layui-form-item active" data-id="select_4" data-tag="select"
|
||||||
data-index="0">
|
data-index="0">
|
||||||
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
||||||
@ -81,7 +117,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md2 widget-col-list column3" data-index="3" data-parentindex="0">
|
<div class="layui-col-md1 widget-col-list column3" data-index="4" data-parentindex="0">
|
||||||
<div id="bottom_5" class="layui-form-item active" data-id="bottom_5" data-tag="bottom"
|
<div id="bottom_5" class="layui-form-item active" data-id="bottom_5" data-tag="bottom"
|
||||||
data-index="0">
|
data-index="0">
|
||||||
<div class="layui-input-block" style="margin-left: 0px;">
|
<div class="layui-input-block" style="margin-left: 0px;">
|
||||||
@ -94,7 +130,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md1 widget-col-list column4" data-index="4" data-parentindex="0">
|
<div class="layui-col-md1 widget-col-list column4" data-index="5" data-parentindex="0">
|
||||||
<div id="btn_download" class="layui-form-item active" data-id="bottom_6" data-tag="bottom"
|
<div id="btn_download" class="layui-form-item active" data-id="bottom_6" data-tag="bottom"
|
||||||
data-index="0">
|
data-index="0">
|
||||||
|
|
||||||
@ -118,13 +154,13 @@
|
|||||||
</div>
|
</div>
|
||||||
@*</form>*@
|
@*</form>*@
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="~/lib/layui/layui.js">
|
@*<script type="text/javascript" src="~/lib/layui/layui.js">
|
||||||
</script>
|
</script>*@
|
||||||
<script type="text/javascript" src="~/js/Sortable/Sortable.js">
|
<script type="text/javascript" src="~/js/Sortable/Sortable.js">
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="~/js/lay-module/iceEditor/iceEditor.js">
|
@* <script type="text/javascript" src="~/js/lay-module/iceEditor/iceEditor.js">
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="~/js/config.js?v=100">
|
<script type="text/javascript" src="~/js/config.js?v=100">*@
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="~/lib/xlsx/dist/xlsx.full.min.js">
|
<script type="text/javascript" src="~/lib/xlsx/dist/xlsx.full.min.js">
|
||||||
</script>
|
</script>
|
||||||
@ -151,8 +187,229 @@
|
|||||||
iconPicker = layui.iconPicker,
|
iconPicker = layui.iconPicker,
|
||||||
cron = layui.cron,
|
cron = layui.cron,
|
||||||
labelGeneration = layui.labelGeneration;
|
labelGeneration = layui.labelGeneration;
|
||||||
debugger;
|
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 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 == "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 {}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
wcLoading.close();
|
wcLoading.close();
|
||||||
//debugger;
|
//debugger;
|
||||||
@ -161,6 +418,22 @@
|
|||||||
var endtime = new Date();
|
var endtime = new Date();
|
||||||
endtime.setDate(endtime.getDate())
|
endtime.setDate(endtime.getDate())
|
||||||
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
|
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 () {
|
layui.use('laydate', function () {
|
||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
lay('#dateReStartTime').each(function () {
|
lay('#dateReStartTime').each(function () {
|
||||||
@ -169,7 +442,7 @@
|
|||||||
trigger: 'click',
|
trigger: 'click',
|
||||||
format: "yyyy-MM-dd HH:mm:ss",
|
format: "yyyy-MM-dd HH:mm:ss",
|
||||||
//value: "2023-02-23 13:56:25",
|
//value: "2023-02-23 13:56:25",
|
||||||
value:starttimeString,
|
value: getFormatDateone(starttime),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
lay('#dateReEndTime').each(function () {
|
lay('#dateReEndTime').each(function () {
|
||||||
@ -178,11 +451,14 @@
|
|||||||
trigger: 'click',
|
trigger: 'click',
|
||||||
format: "yyyy-MM-dd HH:mm:ss",
|
format: "yyyy-MM-dd HH:mm:ss",
|
||||||
//value: "2023-02-23 13:56:25",
|
//value: "2023-02-23 13:56:25",
|
||||||
value: endtimeString,
|
value: getFormatDateone(endtime),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
//layui.form.on('select(quickTime)',function(data1){
|
||||||
|
// var selectQuick = data1.value;
|
||||||
|
// debugger;
|
||||||
|
//});
|
||||||
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
|
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 starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
|
||||||
var endtime = new Date();
|
var endtime = new Date();
|
||||||
@ -190,6 +466,8 @@
|
|||||||
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
|
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
|
||||||
|
|
||||||
debugger;
|
debugger;
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
function getFormatDate(date) {
|
function getFormatDate(date) {
|
||||||
let year = date.getFullYear();
|
let year = date.getFullYear();
|
||||||
@ -368,7 +646,7 @@
|
|||||||
|
|
||||||
// csv 数据转换为 table
|
// csv 数据转换为 table
|
||||||
csv2table(csv, showTab = false) {
|
csv2table(csv, showTab = false) {
|
||||||
var html = "<table lay-filter=\"tdemo\" border=\"1\">";// class=\"layui-table\" lay-data=\"{报表数据}\"
|
var html = "<table lay-filter=\"tdemo\" border=\"1\" >";// class=\"layui-table\" lay-data=\"{报表数据}\"
|
||||||
var rows = csv.split("\n");
|
var rows = csv.split("\n");
|
||||||
debugger;
|
debugger;
|
||||||
rows.pop(); // 最后一行没用的
|
rows.pop(); // 最后一行没用的
|
||||||
@ -415,7 +693,7 @@
|
|||||||
if(did == 0){
|
if(did == 0){
|
||||||
html += "<th lay-data=\"{ field: 'a" + did + "', width:200 ,fixed:\'left\'} \">" + dhead + "</th>";//
|
html += "<th lay-data=\"{ field: 'a" + did + "', width:200 ,fixed:\'left\'} \">" + dhead + "</th>";//
|
||||||
}else{
|
}else{
|
||||||
html += "<th lay-data=\"{ field: 'a" + did + "', width:150} \">" + dhead + "</th>";//
|
html += "<th lay-data=\"{ field: 'a" + did + "', width:80} \">" + dhead + "</th>";//
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -509,13 +787,28 @@
|
|||||||
//转换静态表格
|
//转换静态表格
|
||||||
table.init('tdemo', {
|
table.init('tdemo', {
|
||||||
page:true,
|
page:true,
|
||||||
limit:17,
|
limit:15,
|
||||||
//height: 315 //设置高度
|
//height: 315 //设置高度
|
||||||
//limit: 10 //注意:请务必确保 limit 参数(默认:10)是与你服务端限定的数据条数一致
|
//limit: 10 //注意:请务必确保 limit 参数(默认:10)是与你服务端限定的数据条数一致
|
||||||
//支持所有基础参数
|
//支持所有基础参数
|
||||||
|
|
||||||
done:function(res,curr,count){
|
done:function(res,curr,count){
|
||||||
// console.log(res)
|
// console.log(res)
|
||||||
|
//var donestyle = "<style>.layui - table - cell { height: auto;overflow: visible;text - overflow: inherit;white - space: normal;word -break: break-all;}.layui - table - cell a {text- decoration: underline;}.layui - table - cell div {white - space: nowrap;overflow: hidden;text - overflow: ellipsis;min - height: 30px;line - height: 30px;}</style>"
|
||||||
|
//var oDiv = document.querySelector("#tdemo");
|
||||||
|
//oDiv.style.cssText = donestyle;
|
||||||
|
//layui-table-cell laytable-cell-group
|
||||||
|
//layui-table-cell laytable-cell-1-1-0
|
||||||
|
//$(".layui-table-cell"). [800].style
|
||||||
|
//解决表头宽度不够自动换行问题
|
||||||
|
$(".layui-table-cell").each(function(index,val){
|
||||||
|
$(".layui-table-cell")[index].style.lineHeight = "20px !importanr";
|
||||||
|
$(".layui-table-cell")[index].style.verticalAlign = "middle";
|
||||||
|
$(".layui-table-cell")[index].style.height = "auto";
|
||||||
|
$(".layui-table-cell")[index].style.overflow = "visible";
|
||||||
|
$(".layui-table-cell")[index].style.textOverflow = "inherit";
|
||||||
|
$(".layui-table-cell")[index].style.whiteSpace = "normal";
|
||||||
|
});
|
||||||
//解决操作栏因为内容过多换行问题
|
//解决操作栏因为内容过多换行问题
|
||||||
$(".layui-table-main tr").each(function (index, val) {
|
$(".layui-table-main tr").each(function (index, val) {
|
||||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||||
@ -542,6 +835,8 @@
|
|||||||
$($(this).find(".layui-table-body tbody th")[index]).height($(val).height());
|
$($(this).find(".layui-table-body tbody th")[index]).height($(val).height());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.layui-laypage-limits').hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -580,8 +875,113 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 本周开始时间戳
|
||||||
|
* 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
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -71,6 +71,9 @@
|
|||||||
<None Update="Dockerfile">
|
<None Update="Dockerfile">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Update="HT.Cloud.Web.xml">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Update="watercloudnetdb.db">
|
<None Update="watercloudnetdb.db">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
<link rel="stylesheet" href="~/lib/font-awesome-4.7.0/css/font-awesome.min.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
<link rel="stylesheet" href="~/lib/font-awesome-4.7.0/css/font-awesome.min.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
<link rel="stylesheet" href="~/css/public.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
<link rel="stylesheet" href="~/css/public.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
<script src="~/lib/jquery-3.4.1/jquery-3.4.1.min.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
<script src="~/lib/jquery-3.4.1/jquery-3.4.1.min.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
||||||
|
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.layui-card {
|
.layui-card {
|
||||||
@ -169,9 +170,9 @@
|
|||||||
<div class="layuimini-container">
|
<div class="layuimini-container">
|
||||||
<div class="layuimini-main">
|
<div class="layuimini-main">
|
||||||
<div class="layui-row layui-col-space15">
|
<div class="layui-row layui-col-space15">
|
||||||
<div class="layui-col-md8">
|
<div class="layui-col-md10">
|
||||||
<div class="layui-row layui-col-space15">
|
<div class="layui-row layui-col-space15">
|
||||||
<div class="layui-col-md6">
|
@*<div class="layui-col-md6">
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-header"><a href="javascript:;" layuimini-content-href="/SystemManage/QuickModule/Index" data-title="快捷入口"><i class="fa fa-credit-card icon icon-blue"></i>快捷入口</a></div>
|
<div class="layui-card-header"><a href="javascript:;" layuimini-content-href="/SystemManage/QuickModule/Index" data-title="快捷入口"><i class="fa fa-credit-card icon icon-blue"></i>快捷入口</a></div>
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
@ -182,65 +183,121 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>*@
|
||||||
<div class="layui-col-md6">
|
<div class="layui-col-md12">
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-header"><i class="fa fa-warning icon"></i>数据统计</div>
|
<div class="layui-card-header"><i class="fa fa-warning icon"></i>设备状态</div>
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="welcome-module">
|
<div class="welcome-module">
|
||||||
<div class="layui-row layui-col-space10">
|
<div class="layui-row layui-col-space10">
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="panel layui-bg-number">
|
<div class="panel layui-bg-number">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="panel-title">
|
<div class="panel-title">
|
||||||
<span class="label pull-right layui-bg-blue">实时</span>
|
@*<span class="label pull-right layui-bg-blue">实时</span>*@
|
||||||
<h5>用户统计</h5>
|
<h5>给煤量T</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content">
|
<div class="panel-content">
|
||||||
<h1 class="no-margins" id="usercout"></h1>
|
<h1 class="no-margins" id="HT_GMJ_VP"></h1>
|
||||||
<small>当前分类总记录数</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="panel layui-bg-number">
|
<div class="panel layui-bg-number">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="panel-title">
|
<div class="panel-title">
|
||||||
<span class="label pull-right layui-bg-cyan">实时</span>
|
@*<span class="label pull-right layui-bg-cyan">实时</span>*@
|
||||||
<h5>登录统计</h5>
|
<h5>煤气流量m³/h</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content">
|
<div class="panel-content">
|
||||||
<h1 class="no-margins" id="logincout"></h1>
|
<h1 class="no-margins" id="HT_YQL_MQ_QT"></h1>
|
||||||
<small>当前分类总记录数</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="panel layui-bg-number">
|
<div class="panel layui-bg-number">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="panel-title">
|
<div class="panel-title">
|
||||||
<span class="label pull-right layui-bg-orange">实时</span>
|
@*<span class="label pull-right layui-bg-orange">实时</span>*@
|
||||||
<h5>菜单统计</h5>
|
<h5>助燃风流量m³/h</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content">
|
<div class="panel-content">
|
||||||
<h1 class="no-margins" id="modulecout"></h1>
|
<h1 class="no-margins" id="HT_YQL_KQ_QT"></h1>
|
||||||
<small>当前分类总记录数</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="panel layui-bg-number">
|
<div class="panel layui-bg-number">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="panel-title">
|
<div class="panel-title">
|
||||||
<span class="label pull-right layui-bg-green">实时</span>
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
<h5>日志统计</h5>
|
<h5>废气流量m³/h</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content">
|
<div class="panel-content">
|
||||||
<h1 class="no-margins" id="logcout"></h1>
|
<h1 class="no-margins" id="HT_YQL_FQ_QT"></h1>
|
||||||
<small>当前分类总记录数</small>
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>入口温度℃</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_MMJ_RK_TT"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>出口温度℃</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_MMJ_CK_TT"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>磨机压差-Pa</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_MMJ_PT_SUB"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>炉膛温度℃</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_YQL_TT"></h1>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -252,7 +309,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md12">
|
<div class="layui-col-md12">
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-header"><i class="fa fa-line-chart icon"></i>报表统计</div>
|
<div class="layui-card-header"><i class="fa fa-line-chart icon"></i>喷煤量统计</div>
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div id="echarts-records" style="width: 100%;min-height:500px"></div>
|
<div id="echarts-records" style="width: 100%;min-height:500px"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -261,15 +318,247 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-col-md4">
|
<div class="layui-col-md2">
|
||||||
|
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-header"><i class="fa fa-warning icon"></i>运行状态</div>
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="welcome-module">
|
||||||
|
<div class="layui-row layui-col-space10">
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-blue">实时</span>*@
|
||||||
|
<h5>系统模式</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_SYS_AUTO"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>给煤机</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_GMJ_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>磨机</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_MMJ_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>主风机</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_PFFJ_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>高温风机</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_YQL_GWFJ_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>助燃风机</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_YQL_ZRFJ_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||||
|
<h5>收粉器</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_SF_SYS_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@*<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>低压泵(1#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_RHZ_DYB1_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>低压泵(2#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_RHZ_DYB2_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>高压泵(1#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_RHZ_GYB1_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>高压泵(2#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_RHZ_GYB2_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>*@
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
@*<span class="label pull-right layui-bg-orange">实时</span>*@
|
||||||
|
<h5>液压站</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_YYRH_SYS_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@*<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>木屑分离器(1#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_GMJ_FLQ1_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>木屑分离器(2#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_GMJ_FLQ2_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>叶轮给料机(1#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_GMJ_GLJ1_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs12">
|
||||||
|
<div class="panel layui-bg-number">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="panel-title">
|
||||||
|
<h5>叶轮给料机(2#)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="panel-content">
|
||||||
|
<h1 class="no-margins" id="HT_GMJ_GLJ2_STATE_RUN"></h1>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>*@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@*<div class="layui-card">
|
@*<div class="layui-card">
|
||||||
<div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
|
<div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
|
||||||
<div class="layui-card-body layui-text layui-watercloud-notice">
|
<div class="layui-card-body layui-text layui-watercloud-notice">
|
||||||
</div>
|
</div>
|
||||||
</div>*@
|
</div>
|
||||||
|
|
||||||
@*<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div>
|
<div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div>
|
||||||
<div class="layui-card-body layui-text">
|
<div class="layui-card-body layui-text">
|
||||||
<table class="layui-table">
|
<table class="layui-table">
|
||||||
@ -324,188 +613,286 @@
|
|||||||
<script src="~/js/lay-config.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
<script src="~/js/lay-config.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
||||||
<script src="~/js/framework-ui.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()"></script>
|
<script src="~/js/framework-ui.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()"></script>
|
||||||
<script>
|
<script>
|
||||||
// 公告赋值
|
//// 公告赋值
|
||||||
$(function () {
|
//$(function () {
|
||||||
noticeInfo();
|
// noticeInfo();
|
||||||
quickModuleInfo();
|
// quickModuleInfo();
|
||||||
loadInfo();
|
// loadInfo();
|
||||||
});
|
//});
|
||||||
//记录信息
|
//记录信息 更改为赋值实时数据初始值
|
||||||
loadInfo = function () {
|
loadInfo = async function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/ClientsData/GetCoutData?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
url: "/ReportManage/RtReport/GetRtData",
|
||||||
dataType: "json",
|
Type: "Get",
|
||||||
success: function (data) {
|
success: function (redata) {
|
||||||
$('#usercout').html(data.usercout);
|
var data = JSON.parse(redata);
|
||||||
$('#logincout').html(data.logincout);
|
$('#HT_YQL_TT').html(data.HT_YQL_TT);
|
||||||
$('#modulecout').html(data.modulecout);
|
$('#HT_YQL_MQ_QT').html(data.HT_YQL_MQ_QT);
|
||||||
$('#logcout').html(data.logcout);
|
$('#HT_YQL_KQ_QT').html(data.HT_YQL_KQ_QT);
|
||||||
|
$('#HT_YQL_FQ_QT').html(data.HT_YQL_FQ_QT);
|
||||||
|
$('#HT_MMJ_RK_TT').html(data.HT_MMJ_RK_TT);
|
||||||
|
$('#HT_MMJ_CK_TT').html(data.HT_MMJ_CK_TT);
|
||||||
|
$('#HT_MMJ_PT_SUB').html(data.HT_MMJ_PT_SUB);
|
||||||
|
$('#HT_GMJ_VP').html(data.HT_GMJ_VP);
|
||||||
|
//
|
||||||
|
$('#HT_SYS_AUTO').html(data.HT_SYS_AUTO);
|
||||||
|
//$('#HT_RHZ_DYB1_STATE_RUN').html(data.HT_RHZ_DYB1_STATE_RUN);
|
||||||
|
//$('#HT_RHZ_DYB2_STATE_RUN').html(data.HT_RHZ_DYB2_STATE_RUN);
|
||||||
|
//$('#HT_RHZ_GYB1_STATE_RUN').html(data.HT_RHZ_GYB1_STATE_RUN);
|
||||||
|
//$('#HT_RHZ_GYB2_STATE_RUN').html(data.HT_RHZ_GYB2_STATE_RUN);
|
||||||
|
$('#HT_YYRH_SYS_RUN').html(data.HT_YYRH_SYS_RUN);
|
||||||
|
//$('#HT_GMJ_FLQ1_STATE_RUN').html(data.HT_GMJ_FLQ1_STATE_RUN);
|
||||||
|
//$('#HT_GMJ_FLQ2_STATE_RUN').html(data.HT_GMJ_FLQ2_STATE_RUN);
|
||||||
|
//$('#HT_GMJ_GLJ1_STATE_RUN').html(data.HT_GMJ_GLJ1_STATE_RUN);
|
||||||
|
//$('#HT_GMJ_GLJ2_STATE_RUN').html(data.HT_GMJ_GLJ2_STATE_RUN);
|
||||||
|
$('#HT_SF_SYS_RUN').html(data.HT_SF_SYS_RUN);
|
||||||
|
$('#HT_PFFJ_STATE_RUN').html(data.HT_PFFJ_STATE_RUN);
|
||||||
|
$('#HT_YQL_GWFJ_STATE_RUN').html(data.HT_YQL_GWFJ_STATE_RUN);
|
||||||
|
$('#HT_YQL_ZRFJ_STATE_RUN').html(data.HT_YQL_ZRFJ_STATE_RUN);
|
||||||
|
$('#HT_MMJ_STATE_RUN').html(data.HT_MMJ_STATE_RUN);
|
||||||
|
$('#HT_GMJ_STATE_RUN').html(data.HT_GMJ_STATE_RUN);
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||||
|
var option = myChart.getOption();
|
||||||
|
let xData = data.RtTime;
|
||||||
|
let yData = data.HT_GMJ_VP;
|
||||||
|
option.series[0].data.push(yData);
|
||||||
|
if (option.xAxis[0].data.length > 34) {
|
||||||
|
option.xAxis[0].data.shift();
|
||||||
|
option.series[0].data.shift();
|
||||||
|
|
||||||
|
}
|
||||||
|
option.xAxis[0].data.push(xData);
|
||||||
|
option.series[0].data.push(yData);
|
||||||
|
|
||||||
|
|
||||||
|
myChart.setOption(option);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//公告
|
////公告
|
||||||
noticeInfo = function () {
|
//noticeInfo = function () {
|
||||||
$.ajax({
|
// $.ajax({
|
||||||
url: "/ClientsData/GetNoticeInfo?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
// url: "/ClientsData/GetNoticeInfo?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||||
dataType: "json",
|
// dataType: "json",
|
||||||
success: function (data) {
|
// success: function (data) {
|
||||||
var noticeHtml = '';
|
// var noticeHtml = '';
|
||||||
for (var i = 0; i < data.length; i++) {
|
// for (var i = 0; i < data.length; i++) {
|
||||||
noticeHtml += '<div class="layuimini-notice">';
|
// noticeHtml += '<div class="layuimini-notice">';
|
||||||
noticeHtml += '<div class="layuimini-notice-title">' + data[i].F_Title + '</div>';
|
// noticeHtml += '<div class="layuimini-notice-title">' + data[i].F_Title + '</div>';
|
||||||
noticeHtml += '<div class="layuimini-notice-extra">' + new Date(data[i].F_CreatorTime).Format("yyyy-MM-dd hh:mm") + '</div>';
|
// noticeHtml += '<div class="layuimini-notice-extra">' + new Date(data[i].F_CreatorTime).Format("yyyy-MM-dd hh:mm") + '</div>';
|
||||||
noticeHtml += '<div class="layuimini-notice-content layui-hide">';
|
// noticeHtml += '<div class="layuimini-notice-content layui-hide">';
|
||||||
noticeHtml += '<pre>';
|
// noticeHtml += '<pre>';
|
||||||
var str = data[i].F_Content;
|
// var str = data[i].F_Content;
|
||||||
noticeHtml += str;
|
// noticeHtml += str;
|
||||||
noticeHtml += '</pre></div></div >';
|
// noticeHtml += '</pre></div></div >';
|
||||||
}
|
// }
|
||||||
$('.layui-watercloud-notice').empty();
|
// $('.layui-watercloud-notice').empty();
|
||||||
$('.layui-watercloud-notice').html(noticeHtml);
|
// $('.layui-watercloud-notice').html(noticeHtml);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
//}
|
||||||
//快捷入口
|
////快捷入口
|
||||||
quickModuleInfo = function () {
|
//quickModuleInfo = function () {
|
||||||
$.ajax({
|
// $.ajax({
|
||||||
url: "/ClientsData/GetQuickModule?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
// url: "/ClientsData/GetQuickModule?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||||
dataType: "json",
|
// dataType: "json",
|
||||||
success: function (data) {
|
// success: function (data) {
|
||||||
var qiuckHtml = '';
|
// var qiuckHtml = '';
|
||||||
for (var i = 0; i < data.length; i++) {
|
// for (var i = 0; i < data.length; i++) {
|
||||||
qiuckHtml += '<div class="layui-col-xs3 layuimini-qiuck-module">';
|
// qiuckHtml += '<div class="layui-col-xs3 layuimini-qiuck-module">';
|
||||||
qiuckHtml += '<a href = "javascript:;" layuimini-content-href="' + data[i].href + '"';
|
// qiuckHtml += '<a href = "javascript:;" layuimini-content-href="' + data[i].href + '"';
|
||||||
qiuckHtml += ' data-title="' + data[i].title + '"';
|
// qiuckHtml += ' data-title="' + data[i].title + '"';
|
||||||
if (!!data[i].icon) {
|
// if (!!data[i].icon) {
|
||||||
qiuckHtml += ' data-icon="fa ' + data[i].icon + '" >';
|
// qiuckHtml += ' data-icon="fa ' + data[i].icon + '" >';
|
||||||
qiuckHtml += ' <i class="fa ' + data[i].icon + '"></i>';
|
// qiuckHtml += ' <i class="fa ' + data[i].icon + '"></i>';
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
qiuckHtml += ' data-icon="fa fa-window-maximize" >';
|
// qiuckHtml += ' data-icon="fa fa-window-maximize" >';
|
||||||
qiuckHtml += ' <i class="fa fa-window-maximize"></i>';
|
// qiuckHtml += ' <i class="fa fa-window-maximize"></i>';
|
||||||
}
|
// }
|
||||||
qiuckHtml += '<cite>' + data[i].title + '</cite></a ></div >';
|
// qiuckHtml += '<cite>' + data[i].title + '</cite></a ></div >';
|
||||||
}
|
// }
|
||||||
$('.layuimini-qiuck').empty();
|
// $('.layuimini-qiuck').empty();
|
||||||
$('.layuimini-qiuck').html(qiuckHtml);
|
// $('.layuimini-qiuck').html(qiuckHtml);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
//}
|
||||||
layui.use(['layer', 'miniTab', 'echarts', 'common'], function () {
|
layui.use(['layer', 'miniTab', 'common'], function () {
|
||||||
var $ = layui.jquery,
|
var $ = layui.jquery,
|
||||||
layer = layui.layer,
|
layer = layui.layer,
|
||||||
miniTab = layui.miniTab,
|
miniTab = layui.miniTab,
|
||||||
common = layui.common,
|
common = layui.common;
|
||||||
echarts = layui.echarts;
|
|
||||||
$(function () {
|
$(function () {
|
||||||
loadChart();
|
$.ajax({
|
||||||
|
url: "/ReportManage/RtReport/GetRtData",
|
||||||
|
Type: "Get",
|
||||||
|
success: function (redata) {
|
||||||
|
var dataInit = JSON.parse(redata);
|
||||||
|
loadChart(dataInit.RtTime, dataInit.HT_GMJ_VP);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
miniTab.listen();
|
miniTab.listen();
|
||||||
common.iframeInterval(function () {
|
common.iframeInterval(function () {
|
||||||
loadInfo();
|
loadInfo();
|
||||||
noticeInfo();
|
//noticeInfo();
|
||||||
quickModuleInfo();
|
//quickModuleInfo();
|
||||||
}, 30000); //指定30秒刷新一次
|
}, 1000); //指定1秒刷新一次
|
||||||
/**
|
/**
|
||||||
* 查看公告信息
|
* 查看公告信息
|
||||||
**/
|
**/
|
||||||
$('body').on('click', '.layuimini-notice', function () {
|
//$('body').on('click', '.layuimini-notice', function () {
|
||||||
var title = $(this).children('.layuimini-notice-title').text(),
|
// var title = $(this).children('.layuimini-notice-title').text(),
|
||||||
noticeTime = $(this).children('.layuimini-notice-extra').text(),
|
// noticeTime = $(this).children('.layuimini-notice-extra').text(),
|
||||||
content = $(this).children('.layuimini-notice-content').html();
|
// content = $(this).children('.layuimini-notice-content').html();
|
||||||
var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
|
// var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
|
||||||
'<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
|
// '<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
|
||||||
'<div style="font-size: 12px">' + content + '</div>\n' +
|
// '<div style="font-size: 12px">' + content + '</div>\n' +
|
||||||
'</div>\n';
|
// '</div>\n';
|
||||||
parent.layer.open({
|
// parent.layer.open({
|
||||||
type: 1,
|
// type: 1,
|
||||||
title: '系统公告' + '<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">' + noticeTime + '</span>',
|
// title: '系统公告' + '<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">' + noticeTime + '</span>',
|
||||||
area: '300px;',
|
// area: '300px;',
|
||||||
shade: 0.8,
|
// shade: 0.8,
|
||||||
id: 'layuimini-notice',
|
// id: 'layuimini-notice',
|
||||||
btn: ['确定'],
|
// btn: ['确定'],
|
||||||
btnAlign: 'c',
|
// btnAlign: 'c',
|
||||||
moveType: 1,
|
// moveType: 1,
|
||||||
content: html
|
// content: html
|
||||||
});
|
// });
|
||||||
});
|
//});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 报表功能
|
* 报表功能
|
||||||
*/
|
*/
|
||||||
function loadChart() {
|
function loadChart(sxdata,sydata) {
|
||||||
var myChart = echarts.init(document.getElementById('echarts-records'));
|
var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||||
var xData = [];
|
var xData = [];
|
||||||
var armData = [];
|
var yData = [];
|
||||||
var cpuData = [];
|
xData.push(sxdata);
|
||||||
common.ajax({
|
yData.push(sydata);
|
||||||
url: "/SystemSecurity/ServerMonitoring/GetServerData",
|
//var cpuData = [];
|
||||||
dataType: "json",
|
//common.ajax({
|
||||||
async: false,
|
// url: "/SystemSecurity/ServerMonitoring/GetServerData",
|
||||||
success: function (data) {
|
// dataType: "json",
|
||||||
var length = data.length;
|
// async: false,
|
||||||
for (var i = 0; i < length; i++) {
|
// success: function (data) {
|
||||||
if (data[i]['F_Date'] !== null) {
|
// var length = data.length;
|
||||||
xData.push(new Date(data[i]['F_Date']).Format("yyyy-MM-dd"));
|
// for (var i = 0; i < length; i++) {
|
||||||
}
|
// if (data[i]['F_Date'] !== null) {
|
||||||
if (data[i]['F_ARM'] !== null) {
|
// xData.push(new Date(data[i]['F_Date']).Format("yyyy-MM-dd"));
|
||||||
armData.push(data[i]['F_ARM']);
|
// }
|
||||||
}
|
// if (data[i]['F_ARM'] !== null) {
|
||||||
if (data[i]['F_CPU'] !== null) {
|
// armData.push(data[i]['F_ARM']);
|
||||||
cpuData.push(data[i]['F_CPU']);
|
// }
|
||||||
}
|
// if (data[i]['F_CPU'] !== null) {
|
||||||
}
|
// cpuData.push(data[i]['F_CPU']);
|
||||||
}
|
// }
|
||||||
});
|
// }
|
||||||
|
// }
|
||||||
|
//});
|
||||||
option = {
|
option = {
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['CPU使用率', 'ARM使用率']
|
data: ['喷煤量(T)']
|
||||||
},
|
},
|
||||||
|
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
type: 'category',
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
data: xData
|
data: xData,
|
||||||
|
//axisTick: {
|
||||||
|
// show: true // 不显示坐标轴刻度线
|
||||||
|
//},
|
||||||
|
//axisLabel:{
|
||||||
|
// show:true
|
||||||
|
//},
|
||||||
|
splitLine: {
|
||||||
|
show: true, //想要不显示网格线,改为false
|
||||||
|
lineStyle: {
|
||||||
|
// 设置网格为虚线
|
||||||
|
type: 'dashed'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: '#5470C6',
|
||||||
|
width: 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisTick: {
|
||||||
|
show: true,
|
||||||
|
inside: true
|
||||||
|
},
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
|
name: '喷煤量(T)',
|
||||||
|
nameLocation: 'center',
|
||||||
|
axisTick: {
|
||||||
|
show:true,
|
||||||
|
inside: true
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
inside: true,
|
||||||
|
align: 'left',
|
||||||
|
verticalAlign: 'bottom',
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: '#EE6666',
|
||||||
|
width: 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
splitLine: {
|
||||||
|
show: true, //想要不显示网格线,改为false
|
||||||
|
lineStyle: {
|
||||||
|
// 设置网格为虚线
|
||||||
|
type: 'dashed'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
label: {
|
||||||
|
show: true // 在折线拐点上显示数据
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//label: {
|
||||||
|
// show: true,
|
||||||
|
// position: 'top'
|
||||||
|
//},
|
||||||
type: 'value'
|
type: 'value'
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: 'CPU使用率', type: 'line',
|
name: '喷煤量(T)', type: 'line',
|
||||||
data: cpuData,
|
data: yData,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
width: 2
|
width: 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
smooth: true,
|
label: {
|
||||||
symbol: 'circle',
|
show: true, // 在折线拐点上显示数据
|
||||||
symbolSize: 10,
|
position:'bottom',
|
||||||
showAllSymbol: true,
|
textStyle:{
|
||||||
color: '#2499F8',
|
color:'black',
|
||||||
},
|
fontSize:10
|
||||||
{
|
|
||||||
name: 'ARM使用率', type: 'line',
|
|
||||||
data: armData,
|
|
||||||
lineStyle: {
|
|
||||||
normal: {
|
|
||||||
width: 2
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
smooth: true,
|
smooth: true,
|
||||||
symbol: 'circle',
|
symbol: 'circle',
|
||||||
symbolSize: 10,
|
symbolSize: 6,
|
||||||
showAllSymbol: true,
|
showAllSymbol: true,
|
||||||
color: '#F90',
|
color: '#EE6666',
|
||||||
|
},
|
||||||
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
myChart.setOption(option);
|
myChart.setOption(option);
|
||||||
// echarts 窗口缩放自适应
|
// echarts 窗口缩放自适应
|
||||||
window.onresize = function () {
|
window.onresize = function () {
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
HTCloud_SourceCode_0.9.9.rar
Normal file
BIN
HTCloud_SourceCode_0.9.9.rar
Normal file
Binary file not shown.
Reference in New Issue
Block a user