暂存修改
This commit is contained in:
@ -0,0 +1,185 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Service.ChartsManage;
|
||||
using HT.Cloud.Service.ReportManage;
|
||||
using Newtonsoft.Json;
|
||||
using System.Diagnostics.Metrics;
|
||||
using System.Text;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using HT.Cloud.Code;
|
||||
using SqlSugar;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers
|
||||
{
|
||||
[Area("PenMeiReportManage")]
|
||||
[HandlerLogin(needLogin: false)]
|
||||
[HandlerAuthorize(needAuth: false)]
|
||||
public class PenMeiHistoryEleTimeZoneController : BaseController
|
||||
{
|
||||
public HistoryEleTimeZoneService _historyEleTimeZoneService { get; set; }
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
var data = await _historyEleTimeZoneService.GetDriverGroupList();
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReport(Reportparam reportparam)
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var StartTime = Gettime( reportparam.StartTime.ToString());
|
||||
var EndTime = Gettime( reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var data = await _historyEleTimeZoneService.GetReportFileName(StartTime, EndTime, Interval);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportNew(Reportparam reportparam)
|
||||
{
|
||||
var t1 = DateTime.Now;
|
||||
//var ob = JsonConvert.SerializeObject(reportparam);
|
||||
var t2 = DateTime.Now;
|
||||
Console.WriteLine($"第1次序列化,花费时间:{(t2 - t1).TotalMilliseconds}");
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var StartTime = Gettime(reportparam.StartTime.ToString());
|
||||
var EndTime = Gettime(reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var t5 = DateTime.Now;
|
||||
var data = await _historyEleTimeZoneService.GetReportNew(StartTime, EndTime, Interval);
|
||||
var t6 = DateTime.Now;
|
||||
Console.WriteLine($"调用service,花费时间:{(t6 - t5).TotalMilliseconds}");
|
||||
var t3 = DateTime.Now;
|
||||
var con = JsonConvert.SerializeObject(data);
|
||||
var t4 = DateTime.Now;
|
||||
Console.WriteLine($"第2次序列化,花费时间:{(t4 - t3).TotalMilliseconds}");
|
||||
return Content(con, "text/html; charset=utf-8");
|
||||
//return Content(con);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportNewInitPara(Reportparam reportparam)
|
||||
{
|
||||
////sql获取count
|
||||
//var StartTime = Gettime(reportparam.StartTime.ToString());
|
||||
//var EndTime = Gettime(reportparam.EndTime.ToString());
|
||||
//var Interval = int.Parse(reportparam.Interval);
|
||||
//var data = await _historyReportService.GetReportNewInitPara(StartTime, EndTime, Interval);
|
||||
//var con = JsonConvert.SerializeObject(data);
|
||||
//return Content(con);
|
||||
|
||||
//代码理论count
|
||||
var StartTime = long.Parse(reportparam.StartTime.ToString());
|
||||
var EndTime = long.Parse(reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var data = await _historyEleTimeZoneService.GetReportNewInitParaInCode(StartTime, EndTime, Interval);
|
||||
var con = JsonConvert.SerializeObject(data);
|
||||
return Content(con);
|
||||
}
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval)
|
||||
{
|
||||
//string page = Request.Query["page"].ToString();
|
||||
//string limit = Request.Query["limit"].ToString();
|
||||
//var page = Gettime(asyncparam.page.ToString());
|
||||
//var limit = Gettime(asyncparam.limit.ToString());
|
||||
var startTime = Gettime(StartTime);
|
||||
var endTime = Gettime(EndTime);
|
||||
var data = await _historyEleTimeZoneService.GetReportNewAsync(page, limit, startTime, endTime, Interval, systemDescription);
|
||||
//var con = JsonConvert.SerializeObject(data);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetReportFirstHead()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var data = await _historyEleTimeZoneService.GetReportFirstHead(systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetReportSecondHead()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var data = await _historyEleTimeZoneService.GetReportSecondHead(systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportDownLoad(DownLoadparam downLoadparam)
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
DateTime StartTime = start.AddMilliseconds(downLoadparam.StartTime).ToLocalTime();
|
||||
DateTime EndTime = start.AddMilliseconds(downLoadparam.EndTime).ToLocalTime();
|
||||
int Interval = int.Parse(downLoadparam.Interval.ToString());
|
||||
var data = await _historyEleTimeZoneService.GetReportDownLoad(StartTime, EndTime, Interval, systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
public string Gettime(string longtime)
|
||||
{
|
||||
long jsTimeStamp =long.Parse( longtime);
|
||||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
|
||||
DateTime dt = startTime.AddMilliseconds(jsTimeStamp);
|
||||
return (dt.ToString("yyyy/MM/dd HH:mm:ss"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public async Task<ActionResult> GetTimeZoneData(Reportparam reportparam)
|
||||
{
|
||||
////sql获取count
|
||||
//var StartTime = Gettime(reportparam.StartTime.ToString());
|
||||
//var EndTime = Gettime(reportparam.EndTime.ToString());
|
||||
//var Interval = int.Parse(reportparam.Interval);
|
||||
//var data = await _historyReportService.GetReportNewInitPara(StartTime, EndTime, Interval);
|
||||
//var con = JsonConvert.SerializeObject(data);
|
||||
//return Content(con);
|
||||
|
||||
var dtStart = DateTime.Parse(reportparam.StartTime.ToString());
|
||||
var dtEnd = DateTime.Parse(reportparam.EndTime.ToString());
|
||||
|
||||
|
||||
//代码理论count
|
||||
var StartTime = ((DateTimeOffset)dtStart).ToUnixTimeSeconds(); //long.Parse(reportparam.StartTime.ToString());
|
||||
var EndTime = ((DateTimeOffset)dtEnd).ToUnixTimeSeconds(); //long.Parse(reportparam.EndTime.ToString());
|
||||
var data = await _historyEleTimeZoneService.GetTimeZoneData(StartTime, EndTime,systemDescription);
|
||||
var con = JsonConvert.SerializeObject(data);
|
||||
return Content(con);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class Reportparam
|
||||
{
|
||||
public string StartTime { get; set; }
|
||||
public string EndTime { get; set; }
|
||||
public string Interval { get; set; }
|
||||
}
|
||||
public class DownLoadparam
|
||||
{
|
||||
public long StartTime { get; set; }
|
||||
public long EndTime { get; set; }
|
||||
public string Interval { get; set; }
|
||||
}
|
||||
public class Asyncparam
|
||||
{
|
||||
public string page { get; set; }
|
||||
public string limit { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,157 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Service.ChartsManage;
|
||||
using HT.Cloud.Service.ReportManage;
|
||||
using Newtonsoft.Json;
|
||||
using System.Diagnostics.Metrics;
|
||||
using System.Text;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers
|
||||
{
|
||||
[Area("PenMeiReportManage")]
|
||||
[HandlerLogin(needLogin: false)]
|
||||
[HandlerAuthorize(needAuth: false)]
|
||||
public class PenMeiHistoryOutPutController : BaseController
|
||||
{
|
||||
public HistoryOutPutService _historyOutPutService { get; set; }
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
var data = await _historyOutPutService.GetDriverGroupList();
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReport(Reportparam reportparam)
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var StartTime = Gettime( reportparam.StartTime.ToString());
|
||||
var EndTime = Gettime( reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var data = await _historyOutPutService.GetReportFileName(StartTime, EndTime, Interval);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportNew(Reportparam reportparam)
|
||||
{
|
||||
var t1 = DateTime.Now;
|
||||
//var ob = JsonConvert.SerializeObject(reportparam);
|
||||
var t2 = DateTime.Now;
|
||||
Console.WriteLine($"第1次序列化,花费时间:{(t2 - t1).TotalMilliseconds}");
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var StartTime = Gettime(reportparam.StartTime.ToString());
|
||||
var EndTime = Gettime(reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var t5 = DateTime.Now;
|
||||
var data = await _historyOutPutService.GetReportNew(StartTime, EndTime, Interval);
|
||||
var t6 = DateTime.Now;
|
||||
Console.WriteLine($"调用service,花费时间:{(t6 - t5).TotalMilliseconds}");
|
||||
var t3 = DateTime.Now;
|
||||
var con = JsonConvert.SerializeObject(data);
|
||||
var t4 = DateTime.Now;
|
||||
Console.WriteLine($"第2次序列化,花费时间:{(t4 - t3).TotalMilliseconds}");
|
||||
return Content(con, "text/html; charset=utf-8");
|
||||
//return Content(con);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportNewInitPara(Reportparam reportparam)
|
||||
{
|
||||
////sql获取count
|
||||
//var StartTime = Gettime(reportparam.StartTime.ToString());
|
||||
//var EndTime = Gettime(reportparam.EndTime.ToString());
|
||||
//var Interval = int.Parse(reportparam.Interval);
|
||||
//var data = await _historyReportService.GetReportNewInitPara(StartTime, EndTime, Interval);
|
||||
//var con = JsonConvert.SerializeObject(data);
|
||||
//return Content(con);
|
||||
|
||||
//代码理论count
|
||||
var StartTime = long.Parse(reportparam.StartTime.ToString());
|
||||
var EndTime = long.Parse(reportparam.EndTime.ToString());
|
||||
var Interval = int.Parse(reportparam.Interval);
|
||||
var data = await _historyOutPutService.GetReportNewInitParaInCode(StartTime, EndTime, Interval);
|
||||
var con = JsonConvert.SerializeObject(data);
|
||||
return Content(con);
|
||||
}
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> GetReportNewPage(string page, string limit,string StartTime,string EndTime, string Interval)
|
||||
{
|
||||
//string page = Request.Query["page"].ToString();
|
||||
//string limit = Request.Query["limit"].ToString();
|
||||
//var page = Gettime(asyncparam.page.ToString());
|
||||
//var limit = Gettime(asyncparam.limit.ToString());
|
||||
var startTime = Gettime(StartTime);
|
||||
var endTime = Gettime(EndTime);
|
||||
var data = await _historyOutPutService.GetReportNewAsync(page, limit, startTime, endTime, Interval, systemDescription);
|
||||
//var con = JsonConvert.SerializeObject(data);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetReportFirstHead()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var data = await _historyOutPutService.GetReportFirstHead(systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetReportSecondHead()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var data = await _historyOutPutService.GetReportSecondHead(systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetReportDownLoad(DownLoadparam downLoadparam)
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
//var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
DateTime StartTime = start.AddMilliseconds(downLoadparam.StartTime).ToLocalTime();
|
||||
DateTime EndTime = start.AddMilliseconds(downLoadparam.EndTime).ToLocalTime();
|
||||
int Interval = int.Parse(downLoadparam.Interval.ToString());
|
||||
var data = await _historyOutPutService.GetReportDownLoad(StartTime, EndTime, Interval, systemDescription);
|
||||
return Content(data);
|
||||
}
|
||||
public string Gettime(string longtime)
|
||||
{
|
||||
long jsTimeStamp =long.Parse( longtime);
|
||||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
|
||||
DateTime dt = startTime.AddMilliseconds(jsTimeStamp);
|
||||
return (dt.ToString("yyyy/MM/dd HH:mm:ss"));
|
||||
}
|
||||
|
||||
public class Reportparam
|
||||
{
|
||||
public string StartTime { get; set; }
|
||||
public string EndTime { get; set; }
|
||||
public string Interval { get; set; }
|
||||
}
|
||||
public class DownLoadparam
|
||||
{
|
||||
public long StartTime { get; set; }
|
||||
public long EndTime { get; set; }
|
||||
public string Interval { get; set; }
|
||||
}
|
||||
public class Asyncparam
|
||||
{
|
||||
public string page { get; set; }
|
||||
public string limit { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,965 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
|
||||
</script>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>
|
||||
表单设计器代码
|
||||
</title>
|
||||
<style type="text/css">
|
||||
.mytable .layui-table-cell {
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
text-overflow: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
font-size:14px;
|
||||
padding:0 5px;
|
||||
height:auto;
|
||||
overflow:visible;
|
||||
text-overflow:inherit;
|
||||
white-space:normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="~/lib/layui/css/layui.css" />
|
||||
<link rel="stylesheet" href="~/js/lay-module/formDesigner/formDesigner.css" />
|
||||
<link rel="stylesheet" href="~/js/lay-module/cron/cron.css" />
|
||||
<link rel="stylesheet" href="~/js/lay-module/labelGeneration/labelGeneration.css" />
|
||||
<link rel="stylesheet" href="~/js/lay-module/formDesigner/formPreview.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
|
||||
<div id="workerdiv" style="margin: 10px 5px;">
|
||||
<form class="layui-form" style="height:30px;" id="formPreviewForm">
|
||||
<div id="grid_2" class="layui-form-item layui-row grid active" data-id="grid_2"
|
||||
data-tag="grid" data-index="0" style="height:100%">
|
||||
@*<div class="layui-col-md2 widget-col-list column2" data-index="3" data-parentindex="0">
|
||||
<div id="select_Group" 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: 100px;">
|
||||
选择系统:
|
||||
</label>
|
||||
<div class="layui-input-block layui-form" lay-filter="select_4" style="margin-left: 110px">
|
||||
<select name="selectGroup" lay-verify="required" id="selectGroup">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>*@
|
||||
<div class="layui-col-md3 widget-col-list column0" data-index="0" data-parentindex="0">
|
||||
<div id="ReStartTime" class="layui-form-item active" data-id="ReStartTime"
|
||||
data-tag="date" data-index="0">
|
||||
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
||||
开始时间:
|
||||
</label>
|
||||
<div class="layui-input-block" style="width:calc(100% - 150px);margin-left: 110px;">
|
||||
<input id="dateReStartTime" name="ndateReStartTime" lay-verify="required"
|
||||
class="layui-input icon-date widget-date " style="line-height: 40px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3 widget-col-list column1" data-index="1" data-parentindex="0">
|
||||
<div id="ReEndTime" class="layui-form-item active" data-id="ReEndTime"
|
||||
data-tag="date" data-index="0">
|
||||
<label class="layui-form-label layui-form-required" style="width: 110px;">
|
||||
结束时间:
|
||||
</label>
|
||||
<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 "
|
||||
style="line-height: 40px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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="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 column2" data-index="3" data-parentindex="0">
|
||||
<div id="select_4" 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="selectint" lay-verify="required" id="selectIntervalt">
|
||||
<option value="onesec">
|
||||
1秒钟
|
||||
</option>
|
||||
<option value="tensec">
|
||||
10秒钟
|
||||
</option>
|
||||
<option value="thirtysec">
|
||||
30秒钟
|
||||
</option>
|
||||
<option value="onemin" selected="">
|
||||
1分钟
|
||||
</option>
|
||||
<option value="fivemin">
|
||||
5分钟
|
||||
</option>
|
||||
<option value="tenmin">
|
||||
10分钟
|
||||
</option>
|
||||
<option value="thirtymin">
|
||||
30分钟
|
||||
</option>
|
||||
<option value="onehour">
|
||||
1小时
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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"
|
||||
data-index="0">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<button id="btn_search" type="button" class="layui-btn custom-zc" ; onclick="GetReportViewNew()">
|
||||
<i class="layui-icon ">
|
||||
</i>
|
||||
确定
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<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"
|
||||
data-index="0">
|
||||
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<button id="bottom_6bottom" type="button" class="layui-btn custom-zc" ; onclick="exports()">
|
||||
<i class="layui-icon ">
|
||||
</i>
|
||||
下载
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@*<form class="layui-form" style="height:100%;width:100%;" id="tablepanel">*@
|
||||
@*<div class="layui-panel" id="gridpanel" style="height:100%;width:100%;overflow:scroll;">
|
||||
<div id="result" style="height:100%;width:100%;"></div>
|
||||
</div>*@
|
||||
<layui-container>
|
||||
<div class="layui-row" style="height:100%">
|
||||
<div class="layui-col-xs3">
|
||||
<div id="result" style="height:100%;width:100%;overflow:scroll;">
|
||||
</div>
|
||||
@* <div class="grid-demo grid-demo-bg1">6/12</div> *@
|
||||
</div>
|
||||
<div class="layui-col-xs9" style="height:100%">
|
||||
<form class="layui-form" style="height:calc(100vh - 55px);width:100%" id="tablepanel">
|
||||
<div class="layui-panel" id="gridpanel" style="width:100%;height: 100%;margin-bottom: 10px; ">
|
||||
<div id="chartdiv" class="echart" style="width: 100%; height: 100% "></div>
|
||||
</div>
|
||||
</form>
|
||||
@* <div id="chartdiv" class="echart" style="height:100%;width:100%;"></div> *@
|
||||
@* <div class="grid-demo">6/12</div> *@
|
||||
</div>
|
||||
</div>
|
||||
</layui-container>
|
||||
|
||||
@*</form>*@
|
||||
</div>
|
||||
@*<script type="text/javascript" src="~/lib/layui/layui.js">
|
||||
</script>*@
|
||||
<script type="text/javascript" src="~/js/Sortable/Sortable.js">
|
||||
</script>
|
||||
@* <script type="text/javascript" src="~/js/lay-module/iceEditor/iceEditor.js">
|
||||
</script>
|
||||
<script type="text/javascript" src="~/js/config.js?v=100">
|
||||
</script>*@
|
||||
<script type="text/javascript" src="~/lib/xlsx/dist/xlsx.full.min.js">
|
||||
</script>
|
||||
<script type="text/javascript" src="~/lib/notify/notify_stand.js">
|
||||
</script>
|
||||
<script>
|
||||
|
||||
layui.use(["table", "layer", "laytpl", "element", "form", "slider", "laydate", "rate", "colorpicker", "carousel", "upload", "formField", "numberInput", "iconPicker", "cron", "labelGeneration"],
|
||||
function () {
|
||||
var $ = layui.jquery,
|
||||
table = layui.table,
|
||||
layer = layui.layer,
|
||||
laytpl = layui.laytpl,
|
||||
setter = layui.cache,
|
||||
element = layui.element,
|
||||
slider = layui.slider,
|
||||
laydate = layui.laydate,
|
||||
rate = layui.rate,
|
||||
colorpicker = layui.colorpicker,
|
||||
carousel = layui.carousel,
|
||||
form = layui.form,
|
||||
upload = layui.upload,
|
||||
formField = layui.formField,
|
||||
hint = layui.hint,
|
||||
numberInput = layui.numberInput,
|
||||
iconPicker = layui.iconPicker,
|
||||
cron = layui.cron,
|
||||
labelGeneration = layui.labelGeneration;
|
||||
form.on('select(quickTime)', function (data) {
|
||||
var selectValue = data.value;
|
||||
|
||||
function getFormatDate(date) {
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
let hour = date.getHours();
|
||||
let minutes = date.getMinutes();
|
||||
let seconds = date.getSeconds();
|
||||
month = (month < 10) ? '0' + month : month;
|
||||
day = (day < 10) ? '0' + day : day;
|
||||
hour = (hour < 10) ? '0' + hour : hour;
|
||||
minutes = (minutes < 10) ? '0' + minutes : minutes;
|
||||
seconds = (seconds < 10) ? '0' + seconds : seconds;
|
||||
let currentDate = year + "-" + month + "-" + day
|
||||
+ " " + hour + ":" + minutes + ":" + seconds;
|
||||
return currentDate;
|
||||
}
|
||||
/**
|
||||
* 获取今日零点时间戳
|
||||
* returns {number}
|
||||
*/
|
||||
function todayStartTimestamp() {
|
||||
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
|
||||
return timestamp
|
||||
}
|
||||
/**
|
||||
* 获取昨日开始、结束时间戳
|
||||
* param num
|
||||
* returns {number[昨日开始时间戳, 昨日结束时间戳]}
|
||||
*/
|
||||
function yesterdayTimestamp(num = 1) {
|
||||
const MillisecondsADay = 24 * 60 * 60 * num
|
||||
// 今日零点时间戳
|
||||
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
|
||||
// 昨日开始时间戳
|
||||
const yesterdayStartTime = timestamp - MillisecondsADay
|
||||
// 昨日结束时间戳
|
||||
const yesterdayEndTime = timestamp - 1
|
||||
return [yesterdayStartTime, yesterdayEndTime]
|
||||
}
|
||||
/**
|
||||
* 本周开始时间戳
|
||||
* returns {number}
|
||||
*/
|
||||
function weekStartTimestamp() {
|
||||
// 一天的秒数
|
||||
const MillisecondsADay = 24 * 60 * 60
|
||||
// 今日零点时间戳
|
||||
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
|
||||
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
|
||||
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
|
||||
return weekTimeStamp
|
||||
}
|
||||
/**
|
||||
* 上周开始、结束时间戳
|
||||
* returns {number[上周开始时间戳, 上周结束时间戳]}
|
||||
*/
|
||||
function lastWeekTimetamp() {
|
||||
// 一天的秒数
|
||||
const MillisecondsADay = 24 * 60 * 60
|
||||
// 今日零点时间戳
|
||||
const timestamp = Math.floor(new Date(new Date().setHours(0, 0, 0, 0)).getTime() / 1000)
|
||||
const weekDay = new Date().getDay() === 0 ? (7 - 1) : (new Date().getDay() - 1)
|
||||
// 本周开始时间戳
|
||||
const weekTimeStamp = timestamp - MillisecondsADay * weekDay
|
||||
// 上周开始时间戳
|
||||
const lastWeekStart = weekTimeStamp - MillisecondsADay * 7
|
||||
// 上周结束时间戳
|
||||
const lastWeekEnd = weekTimeStamp - 1
|
||||
return [lastWeekStart, lastWeekEnd]
|
||||
}
|
||||
|
||||
/**
|
||||
* 当月开始时间戳
|
||||
* returns {number}
|
||||
*/
|
||||
function monthStartTimestamp() {
|
||||
const date = new Date()
|
||||
date.setDate(1)
|
||||
date.setHours(0, 0, 0, 0)
|
||||
const timeStamp = date.getTime() / 1000
|
||||
return timeStamp
|
||||
}
|
||||
/**
|
||||
* 获取上月开始、结束时间戳
|
||||
* returns {number[上月开始时间戳,上月结束时间戳]}
|
||||
*/
|
||||
function lastMonthTimetamp() {
|
||||
// 一天的秒数
|
||||
const MillisecondsADay = 24 * 60 * 60
|
||||
|
||||
const date = new Date()
|
||||
date.setDate(1)
|
||||
date.setHours(0, 0, 0, 0)
|
||||
// 当月开始时间戳
|
||||
const timeStamp = date.getTime() / 1000
|
||||
// 上个月的天数
|
||||
const days = lastMonthDats()
|
||||
// 上月开始时间戳
|
||||
const lastMonthStart = timeStamp - (MillisecondsADay * days)
|
||||
// 上月结束时间戳
|
||||
const lastMonthEnd = timeStamp - 1
|
||||
return [lastMonthStart, lastMonthEnd]
|
||||
}
|
||||
/**
|
||||
* 上月天数
|
||||
* returns {number}
|
||||
*/
|
||||
function lastMonthDats() {
|
||||
const date = new Date()
|
||||
const year = date.getFullYear()
|
||||
// 上个月月份
|
||||
let month = (date.getMonth() + 1) - 1 // 0-11 表示 1月-12月
|
||||
// 0 表示12月
|
||||
month = month || 12
|
||||
// 30天的月份
|
||||
const arr30 = [4, 6, 9, 11]
|
||||
// 31天的月份
|
||||
const arr31 = [1, 3, 5, 7, 8, 10, 12]
|
||||
if (arr30.indexOf(month) !== -1) {
|
||||
// 上个月是 30 天
|
||||
return 30
|
||||
} else if (arr31.indexOf(month) !== -1) {
|
||||
// 上个月是 31 天
|
||||
return 31
|
||||
} else {
|
||||
// 2月
|
||||
if (isRunYear(year)) {
|
||||
return 29
|
||||
} else {
|
||||
return 28
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 是否为闰年
|
||||
* param year
|
||||
* returns {boolean}
|
||||
*/
|
||||
function isRunYear(year) {
|
||||
// 条件:能被4整除并且不能被100整除,或者被400整除的
|
||||
let flag = false
|
||||
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
|
||||
flag = true
|
||||
}
|
||||
return flag
|
||||
}
|
||||
|
||||
var laydate = layui.laydate;
|
||||
if(selectValue == "toDay"){
|
||||
var toDayStartDate = todayStartTimestamp();
|
||||
var timef1 = getFormatDate(new Date(toDayStartDate * 1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef1,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(Date.now()));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
}else if(selectValue == "yesterDay"){
|
||||
var yesterDayDate = yesterdayTimestamp(1);
|
||||
var timef1 = getFormatDate(new Date(yesterDayDate[0] * 1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef1,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(yesterDayDate[1] * 1000));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
}else if (selectValue == "thisWeek"){
|
||||
var weekStartDate = weekStartTimestamp();
|
||||
var timef1 = getFormatDate(new Date(weekStartDate*1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef1,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(Date.now()));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
|
||||
}else if(selectValue == "lastWeek"){
|
||||
var lastWeekDate = lastWeekTimetamp();
|
||||
var timef1 = getFormatDate(new Date(lastWeekDate[0] * 1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef1,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(lastWeekDate[1] * 1000));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
}else if(selectValue == "thisMonth"){
|
||||
var monthStartDate = monthStartTimestamp();
|
||||
var timef = getFormatDate(new Date(monthStartDate * 1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(Date.now()));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
|
||||
}else if(selectValue == "lastMonth"){
|
||||
//lastMonthTimetamp()
|
||||
var lastMonthDate = lastMonthTimetamp();
|
||||
var timef1 = getFormatDate(new Date(lastMonthDate[0] * 1000));
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef1,
|
||||
});
|
||||
});
|
||||
var timef2 = getFormatDate(new Date(lastMonthDate[1] * 1000));
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: timef2,
|
||||
});
|
||||
});
|
||||
}else {}
|
||||
});
|
||||
});
|
||||
wcLoading.close();
|
||||
//$.ajax({
|
||||
// url: "/PenMeiReportManage/PenMeiHistoryReport/GetDriverGroupList",
|
||||
// type: "GET",
|
||||
// success: function (redata) {
|
||||
// debugger;
|
||||
// var groupResult = JSON.parse(redata);
|
||||
// debugger;
|
||||
// $.each(groupResult,function(index,item){
|
||||
// $('#selectGroup').append(new Option(item.GroupDescription,item.GroupName));
|
||||
// });
|
||||
// debugger;
|
||||
// }
|
||||
//});
|
||||
//debugger;
|
||||
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
|
||||
var starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
|
||||
var endtime = new Date();
|
||||
endtime.setDate(endtime.getDate())
|
||||
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
|
||||
function getFormatDateone(date) {
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
let hour = date.getHours();
|
||||
let minutes = date.getMinutes();
|
||||
let seconds = date.getSeconds();
|
||||
month = (month < 10) ? '0' + month : month;
|
||||
day = (day < 10) ? '0' + day : day;
|
||||
hour = (hour < 10) ? '0' + hour : hour;
|
||||
minutes = (minutes < 10) ? '0' + minutes : minutes;
|
||||
seconds = (seconds < 10) ? '0' + seconds : seconds;
|
||||
let currentDate = year + "-" + month + "-" + day
|
||||
+ " " + hour + ":" + minutes + ":" + seconds;
|
||||
return currentDate;
|
||||
}
|
||||
layui.use('laydate', function () {
|
||||
var laydate = layui.laydate;
|
||||
lay('#dateReStartTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
value: getFormatDateone(starttime),
|
||||
});
|
||||
});
|
||||
lay('#dateReEndTime').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
format: "yyyy-MM-dd HH:mm:ss",
|
||||
//value: "2023-02-23 13:56:25",
|
||||
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 starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
|
||||
var endtime = new Date();
|
||||
endtime.setDate(endtime.getDate())
|
||||
var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds();
|
||||
|
||||
debugger;
|
||||
//
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
//loadinghelper
|
||||
|
||||
var filepath = "";
|
||||
// 文件普通操作
|
||||
var handler = {};
|
||||
//right_content
|
||||
var rootpath = window.location.host;
|
||||
//在页面未加载完毕之前显示的loading Html自定义内容
|
||||
var _LoadingHtml = '<div id="loadingDiv" style="display: none; "><div id="over" style=" position: absolute;top: 0;left: 0; width: 100%;height: 100%; background-color: #f5f5f5;opacity:0.5;z-index: 1000;"></div><div id="layout" style="position: absolute;top: 40%; left: 40%;width: 20%; height: 20%; z-index: 1001;text-align:center;"><img src="//'+ rootpath +'/images/loading.gif" /></div></div>';
|
||||
//呈现loading效果
|
||||
document.getElementById("workerdiv").innerHTML += _LoadingHtml;
|
||||
//移除loading效果
|
||||
function completeLoading() {
|
||||
document.getElementById("loadingDiv").style.display = "none";
|
||||
}
|
||||
//展示loading效果
|
||||
function showLoading() {
|
||||
document.getElementById("loadingDiv").style.display = "block";
|
||||
}
|
||||
|
||||
function del() {
|
||||
var delDiv = document.getElementById("_layer_"); delDiv.parentNode.removeChild(delDiv);
|
||||
}
|
||||
|
||||
async function downloadreport() {
|
||||
window.open(filepath);
|
||||
}
|
||||
|
||||
var DownLaodPara;
|
||||
async function GetReportViewNew() {
|
||||
debugger;
|
||||
showLoading();
|
||||
|
||||
|
||||
var datetimestart = $('#dateReStartTime')[0].value;
|
||||
var datetimeend = $('#dateReEndTime')[0].value;
|
||||
//var groupname = $('[name="selectGroup"]')[0].value;
|
||||
|
||||
debugger;
|
||||
//showLoading();
|
||||
var datapa = {
|
||||
"StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend))
|
||||
};
|
||||
|
||||
await $.ajax({
|
||||
url: "/PenMeiReportManage/PenMeiHistoryEleTimeZone/GetTimeZoneData",
|
||||
type: "POST",
|
||||
//dataType: "json",
|
||||
//async: false,
|
||||
data: datapa,
|
||||
success: function (redata) {
|
||||
result = redata;
|
||||
debugger;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
var table = layui.table;
|
||||
|
||||
// 已知数据渲染
|
||||
var inst = table.render({
|
||||
elem: '#result',
|
||||
cols: [[ //标题栏
|
||||
{ field: 'TIME', title: '时段', width: 180 },
|
||||
{ field: 'GMJ', title: '给煤机给煤量', width: 100 },
|
||||
{ field: 'OUT', title: '实际煤粉产量', width: 100 },
|
||||
]],
|
||||
data: [{ // 赋值已知数据
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "61.12",
|
||||
"OUT": "51.34",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "63.15",
|
||||
"OUT": "53.47",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "66.01",
|
||||
"OUT": "55.45",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "66.28",
|
||||
"OUT": "55.68",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "66.87",
|
||||
"OUT": "57.85",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "64.58",
|
||||
"OUT": "54.25",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "64.01",
|
||||
"OUT": "53.76",
|
||||
}, {
|
||||
"TIME": "2024-10-16 0点",
|
||||
"GMJ": "59.67",
|
||||
"OUT": "50.12",
|
||||
}],
|
||||
//skin: 'line', // 表格风格
|
||||
//even: true,
|
||||
page: false, // 是否显示分页
|
||||
limits: [5, 10, 15],
|
||||
limit: 10 // 每页默认显示的数量
|
||||
});
|
||||
|
||||
|
||||
debugger;
|
||||
|
||||
// var echarts = require('echarts');
|
||||
var myChart = echarts.init(document.getElementById('chartdiv'));
|
||||
// var chartDom = document.getElementById('chartdiv');
|
||||
// var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
toolbox: {
|
||||
feature: {
|
||||
dataView: { show: true, readOnly: false },
|
||||
magicType: { show: true, type: ['line', 'bar'] },
|
||||
restore: { show: true },
|
||||
saveAsImage: { show: true }
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['实际煤粉产量', '给煤机煤量']
|
||||
},
|
||||
// grid: {
|
||||
// top:"10px",
|
||||
// left: "10px",
|
||||
// right:"10px",
|
||||
// bottom: "10px",
|
||||
// },
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
data: [
|
||||
'2024-10-16 0点',
|
||||
'2024-10-16 01点',
|
||||
'2024-10-16 02点',
|
||||
'2024-10-16 03点',
|
||||
'2024-10-16 04点',
|
||||
'2024-10-16 05点',
|
||||
'2024-10-16 06点',
|
||||
'2024-10-16 07点'
|
||||
],
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '煤量',
|
||||
min: 0,
|
||||
max: 80,
|
||||
interval: 50,
|
||||
axisLabel: {
|
||||
formatter: '{value} t/h'
|
||||
}
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '实际煤粉产量',
|
||||
type: 'bar',
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return value + ' ml';
|
||||
}
|
||||
},
|
||||
data: [51.34, 53.47, 55.45, 55.68, 57.85, 54.25, 53.76, 50.12]
|
||||
},
|
||||
{
|
||||
name: '给煤机煤量',
|
||||
type: 'bar',
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return value + ' ml';
|
||||
}
|
||||
},
|
||||
data: [61.12, 63.65, 66.01, 66.28, 66.87, 64.58, 64.01, 59.67]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
// option && myChart.setOption(option);
|
||||
myChart.hideLoading();
|
||||
myChart.setOption(JSON.parse(JSON.stringify(option)));
|
||||
|
||||
completeLoading();
|
||||
|
||||
};
|
||||
|
||||
async function exports() {
|
||||
notify.info("服务器导出数据,稍后弹出下载文件,可先浏览报表", "vcenter");
|
||||
await $.ajax({
|
||||
url: "/PenMeiReportManage/PenMeiHistoryReport/GetReportDownLoad",
|
||||
type: "POST",
|
||||
//dataType: "json",
|
||||
//async: false,
|
||||
data: DownLaodPara,
|
||||
success:function (downRes) {
|
||||
|
||||
notify.success("导出报表数据完成,请查看浏览器或下载目录查看报表文件", "vcenter");
|
||||
|
||||
var ddfileName = JSON.parse(downRes);
|
||||
|
||||
var fileNewDownloadUrl = "/report/" + ddfileName;
|
||||
//location.origin = fileNewDownloadUrl;
|
||||
//filepath = location.origin + fileNewDownloadUrl;
|
||||
|
||||
window.open(location.origin + fileNewDownloadUrl);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 本周开始时间戳
|
||||
* 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>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user