Files
2024-10-31 23:45:24 +08:00

965 lines
42 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@{
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>