diff --git a/HT.Cloud.Web/Areas/ChartsManage/Views/HistoryCharts/Index.cshtml b/HT.Cloud.Web/Areas/ChartsManage/Views/HistoryCharts/Index.cshtml index d7fcd4c..e39f66c 100644 --- a/HT.Cloud.Web/Areas/ChartsManage/Views/HistoryCharts/Index.cshtml +++ b/HT.Cloud.Web/Areas/ChartsManage/Views/HistoryCharts/Index.cshtml @@ -23,6 +23,295 @@ //权限控制(js是值传递) //toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML); + 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 { } + }); + GetAllSubsystemTag(); var starttime = new Date(new Date().setHours(0, 0, 0, 0)); @@ -30,7 +319,23 @@ var endtime = new Date(); endtime.setDate(endtime.getDate()) var endtimeString = endtime.getFullYear() + "-" + parseInt(endtime.getMonth() + 1) + "-" + endtime.getDate() + " " + (endtime.getHours()) + ":" + endtime.getMinutes() + ":" + endtime.getSeconds(); - layui.use('laydate', function () { + 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({ @@ -38,7 +343,7 @@ trigger: 'click', format: "yyyy-MM-dd HH:mm:ss", //value: "2023-02-23 13:56:25", - value: starttimeString, + value: getFormatDateone(starttime), }); }); lay('#dateReEndTime').each(function () { @@ -47,7 +352,7 @@ trigger: 'click', format: "yyyy-MM-dd HH:mm:ss", //value: "2023-02-23 13:56:25", - value: endtimeString, + value: getFormatDateone(endtime), }); }); }); @@ -518,6 +823,41 @@
+ -