更新 评测前bug修复

This commit is contained in:
dell
2023-03-20 22:54:52 +08:00
parent a3a51fd6e2
commit 02c976e460
28 changed files with 1584 additions and 42 deletions

View File

@ -0,0 +1,98 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using HT.Cloud.Code;
using HT.Cloud.Domain.ChartsManage;
using HT.Cloud.Service;
using Microsoft.AspNetCore.Authorization;
using HT.Cloud.Service.ChartsManage;
using HT.Cloud.Service.ReportManage;
using Serenity.Services;
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
{
/// <summary>
/// 创 建cdl
/// 日 期2023-02-23 11:10
/// 描 述:历史趋势控制器类
/// </summary>
[Area("ReportManage")]
public class MetaTagAlarmController : BaseController
{
public MetaTagAlarmService _metaTagAlarmService { get;set;}
[HttpGet]
public async Task<ActionResult> GetAllSubsystemTag()
{
var data = await _metaTagAlarmService.GetAllSubsystemTag();
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
{
var data = await _metaTagAlarmService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> GetAlarmRecord(Alarm_Params charts_Params)
{
short TagID = short.Parse(charts_Params.TagID);
var StartTime = Gettime(charts_Params.StartTime);
var EndTime = Gettime(charts_Params.EndTime);
var data = await _metaTagAlarmService.GetAlarmRecord(TagID, StartTime, EndTime);
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 SubAllTagReturn
//{
// //x.TagID, x.Description, x.Units
// public short TagID { get; set; }
// public string Description { get; set; }
// public string Units { get; set; }
//}
//public class SubsysytemNameList
//{
// public string Lable { get; set; }
// public string Value { get; set; }
//}
public class ChartSubsysytemName
{
public string SubsysytemName { get; set; }
}
//public class HDATETIMEVALUE
//{
// public String HDATETIME { get; set; }
// public decimal VALUE { get; set; }
//}
//public class ChartData
//{
// public decimal value { get; set; }
// public String name { get; set; }
//}
public class Alarm_Params
{
public string TagID { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
}
}

View File

@ -207,8 +207,9 @@
// 文件普通操作
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="../images/loading.gif" /></div></div>';
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效果
@ -229,7 +230,7 @@
window.open(filepath);
}
function GetReportView() {
async function GetReportView() {
debugger;
showLoading();
var datetimestart = $('#dateReStartTime')[0].value;
@ -271,11 +272,11 @@
//var datapa = { "StartTime": datetimestart, "EndTime": datetimeend, "Interval": timeInterval };
debugger;
var result = "";
$.ajax({
await $.ajax({
url: "/ReportManage/HistoryReport/GetReport",
type: "POST",
//dataType: "json",
async: false,
//async: false,
data:datapa,
success: function (redata) {
result = redata;

View File

@ -0,0 +1,320 @@
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Index.cshtml";
}
<style>
.layui-table-tool > .layui-table-tool-temp {
padding-right: 0px;
}
</style>
<script>
debugger;
layui.use(['jquery', 'form', 'table', 'common', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
var $ = layui.jquery,
form = layui.form,
commonTable = layui.commonTable,
table = layui.table,
dtree = layui.dtree,
//echarts = layui.echarts,
common = layui.common;
//加载数据
wcLoading.close();
//权限控制(js是值传递)
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
GetAllSubsystemTag();
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();
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: starttimeString,
});
});
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: endtimeString,
});
});
});
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;
}
function json_array(data) {
var len = eval(data).length;
var arr = [];
for (var i = 0; i < len; i++) {
arr[i] = []; //js中二维数组必须进行重复的声明否则会undefind
arr[i]['url'] = data[i].url;
arr[i]['oldname'] = data[i].oldname;
}
return arr;
}
//var StaticSelectTagList = new Array();
//获取所有子系统列表ok
async function GetAllSubsystemTag() {
debugger;
$.ajax({
url: "/ReportManage/MetaTagAlarm/GetAllSubsystemTag",
type: "Get",
//dataType: "json",
//async: false,
//data: datapa,
success: function (redata) {
debugger;
var listsubsysname = JSON.parse(redata);
$('#subsystemselect').combobox({
data: listsubsysname,
valueField: 'Lable',
textField: 'Value',
checkOnSelect: true,
selectOnCheck: true
});
}
});
}
//获取选中子系统tag
updateSelect = async function (data) {
var para = { "SubsysytemName": data.Value }
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
debugger;
myajax = $.ajax({
url: "/ReportManage/MetaTagAlarm/GetSubsystemAllTag",
type: "Post",
//dataType: "json",
data: para,
success: function (redata){}
});
debugger;
$.when(myajax).done(function (redata){
var subsystemAllTag = JSON.parse(redata);
$('#subsystemTagList').datalist({
data: subsystemAllTag,
valueField: 'TagID',
textField: 'Description',
idField: 'TagID',
});
//var datalistArr = $('#subsystemTagList').datalist("getData").rows;
//if (datalistArr.length > 0 && StaticSelectTagList.length > 0) {
// for (var ni = 0; ni < datalistArr.length; ni++) {
// if (StaticSelectTagList.indexOf(datalistArr[i]) != -1) {
// $('#subsystemTagList').datalist("selectRecord", datalistArr[i].TagID);
// }
// }
//}
$('#subsystemTagList').datalist('resize', {
height: ($('#aright').height() - 75)
});
});
}
//checkTagAdd = function (rowIndex, rowData) {
// checkAddTaglist(rowData);
//}
//function checkAddTaglist(rowData) {
// if (StaticSelectTagList.indexOf(rowData) == -1) {
// StaticSelectTagList.push(rowData);
// }
//}
//checkTagDec = function (rowIndex, rowData) {
// checkDecTaglist(rowData);
//}
//function checkDecTaglist(rowData) {
// if (StaticSelectTagList.indexOf(rowData) != -1) {
// StaticSelectTagList.splice(StaticSelectTagList.indexOf(rowData), 1);
// }
//}
showTable = async function(){
var showdata = await GetAlarmRecordValue();
table.render({
elem: '#result',
height:'full-10',
data: showdata,
//editTrigger:'dblclick',
cols:[[
//{ type: 'checkbox' },
//{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description' , title:'报警名称' },
//{ field: 'TagName' , title:'变量编码' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
{ field: 'startdt', title: '开始时间'},
{ field: 'enddt', title: '结束时间' },
]],
page:true,
limit:20,
});
}
//获取tagvalue
async function GetAlarmRecordValue() {
var alarmlist = new Array();
let datetimestart = $('#dateReStartTime')[0].value;
let datetimeend = $('#dateReEndTime')[0].value;
//getChecked
var checkRow = $('#subsystemTagList').datalist("getChecked");
let datapa = { "TagID": checkRow[0].TagID, "StartTime": Date.parse(new Date(datetimestart)), "EndTime": Date.parse(new Date(datetimeend)) };
let result;
debugger;
myajax = await $.ajax({
url: "/ReportManage/MetaTagAlarm/GetAlarmRecord",
type: "Post",
//dataType: "json",
data: datapa,
success: function (redata) { }
});
debugger;
$.when(myajax).done(function (redata){
result = JSON.parse(redata);
});
return result;
}
});
</script>
<html style="height:100%">
<body style="height:100%">
@*<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>*@
<div class="layui-fluid" style="padding:0 0px;height:100%">
<div class="layui-row layui-col-space5" style="height:100%">
<div class="layui-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">
<div class="layui-card" style="text-align:left;overflow: auto;height:100%" id="toolbarDiv">
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
<div id="aleft" style="float:left;width:100%;height:100%">
<div class="easyui-panel" title="选择设备信息" style="width:100%;height:100%">
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
</div>
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
checkbox: true,
selectOnCheck:true,
checkOnSelect:true,
sigleselect:true,
@*onCheck:function(rowIndex,rowData){checkTagAdd(rowIndex,rowData)},
onUncheck:function(rowIndex,rowData){checkTagDec(rowIndex,rowData)}*@
">
</div>
</div>
</div>
</div>
</div>
<div class="layui-col-md10 layui-col-xs9" style="height:100%">
@*<div class="layui-card" style="padding: 5px;">
<div id="echartdiv" style="width:100%;height: 100%;margin-bottom: 10px;">
<div id="result" class="echart" style="width: 100%; height: 100% "></div>
</div>
</div>*@
<form class="layui-form" style="height:auto;" id="formPreviewForm">
<div id="grid_2" class="layui-form-item layui-row grid active" data-id="grid_2"
data-tag="grid" data-index="0">
<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: 80px;">
开始时间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);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: 80px;">
结束世间:
</label>
<div class="layui-input-block" style="width:calc(100% - 110px);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 column3" data-index="3" 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: 30px;">
<button id="btn_search" type="button" class="layui-btn custom-zc" ; onclick="showTable()">
<i class="layui-icon ">
</i>
确定
</button>
</div>
</div>
</div>
</div>
</form>
<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; ">
<table id="result" lay-filter="metafilter"></table> @*style="width: 100%; height: 100% "*@
</div>
</form>
</div>
</div>
</div>
</body>
</html>