新兴上传
This commit is contained in:
@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Domain.Entity.ReportManage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创 建:cdl
|
||||||
|
/// 日 期:2023-03-30 14:52
|
||||||
|
/// 描 述:实时报表SQL转换实体类
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("HT_HISTORY_REPORTPATH")]
|
||||||
|
[Tenant("1")]
|
||||||
|
public class HistoryReportPathEntity
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "ID", ColumnDescription = "", ColumnDataType = "int(10)")]
|
||||||
|
public int Id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 显示名称
|
||||||
|
///</summary>
|
||||||
|
[SugarColumn(ColumnName = "ReportPath", ColumnDescription = "", ColumnDataType = "nvarchar(256)", IsNullable = true)]
|
||||||
|
public string ReportPath { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -21,6 +21,8 @@ using System.Data;
|
|||||||
using iTextSharp.text;
|
using iTextSharp.text;
|
||||||
using Serenity.Data;
|
using Serenity.Data;
|
||||||
using Quartz;
|
using Quartz;
|
||||||
|
using static iTextSharp.text.pdf.XfaForm;
|
||||||
|
using HT.Cloud.Domain.Entity.ReportManage;
|
||||||
|
|
||||||
namespace HT.Cloud.Service.ReportManage
|
namespace HT.Cloud.Service.ReportManage
|
||||||
{
|
{
|
||||||
@ -227,16 +229,20 @@ namespace HT.Cloud.Service.ReportManage
|
|||||||
public async Task<string> GetReportDownLoad(DateTime startTime, DateTime endTime ,int interval, string systemName)
|
public async Task<string> GetReportDownLoad(DateTime startTime, DateTime endTime ,int interval, string systemName)
|
||||||
{
|
{
|
||||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||||
|
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||||
|
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||||
|
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<HistoryReportPathEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORTPATH");
|
||||||
|
var f3dpath = list.First().ReportPath;
|
||||||
|
|
||||||
var listSub = TimeInOneDay(startTime, endTime);
|
var listSub = TimeInOneDay(startTime, endTime);
|
||||||
|
|
||||||
var pathroot = Directory.GetCurrentDirectory();
|
var pathroot = Directory.GetCurrentDirectory();
|
||||||
string fileurl = "报表 " + startTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "至" + endTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "(" + "时间间隔" + interval.ToString() + "秒" + ")" + "_" + DateTime.Now.ToString("yyyy年MM月dd日 HH.mm.ss") + "导出" + ".xlsx";
|
string fileurl = "报表 " + startTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "至" + endTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "(" + "时间间隔" + interval.ToString() + "秒" + ")" + "_" + DateTime.Now.ToString("yyyy年MM月dd日 HH.mm.ss") + "导出" + ".xlsx";
|
||||||
//var fileurl = $"电子报表2023_01_03_11_19_53.xlsx";
|
//var fileurl = $"电子报表2023_01_03_11_19_53.xlsx";
|
||||||
var path = pathroot + "\\wwwroot\\report\\" + fileurl;//{StartTime}-{EndTime}
|
var path = pathroot + "\\wwwroot\\report\\" + fileurl;//{StartTime}-{EndTime}
|
||||||
|
var path3d = @f3dpath + fileurl;
|
||||||
var sheets = new Dictionary<string, object>();
|
var sheets = new Dictionary<string, object>();
|
||||||
|
var sheets3D = new Dictionary<string, object>();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
for (int i = 0; i < listSub.Count; i++)
|
for (int i = 0; i < listSub.Count; i++)
|
||||||
@ -279,7 +285,7 @@ namespace HT.Cloud.Service.ReportManage
|
|||||||
//MiniExcel.SaveAs(path, reader, true, sheetName, ExcelType.XLSX, null, false);
|
//MiniExcel.SaveAs(path, reader, true, sheetName, ExcelType.XLSX, null, false);
|
||||||
|
|
||||||
sheets.Add(sheetName, reader);
|
sheets.Add(sheetName, reader);
|
||||||
|
sheets3D.Add(sheetName, reader);
|
||||||
//sqlConnection.Close();
|
//sqlConnection.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -287,7 +293,21 @@ namespace HT.Cloud.Service.ReportManage
|
|||||||
{
|
{
|
||||||
Console.WriteLine(ex.ToString());
|
Console.WriteLine(ex.ToString());
|
||||||
}
|
}
|
||||||
MiniExcel.SaveAs(path, sheets);
|
try
|
||||||
|
{
|
||||||
|
//var sheets3d = new Dictionary<string, object>(sheets.ToDictionary(pair => pair.Key, pair => pair.Value));
|
||||||
|
|
||||||
|
|
||||||
|
//await Task.Delay(1000);
|
||||||
|
MiniExcel.SaveAs(path, sheets);
|
||||||
|
|
||||||
|
File.Copy(path, path3d, true);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
//await Task.WhenAll(taskCloud, task3D);
|
||||||
//bool a = true;
|
//bool a = true;
|
||||||
////MiniExcel.SaveAs(path, reader);
|
////MiniExcel.SaveAs(path, reader);
|
||||||
//while (a)
|
//while (a)
|
||||||
|
@ -0,0 +1,142 @@
|
|||||||
|
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;
|
||||||
|
using HT.Cloud.Domain.DevicesManage;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创 建:cdl
|
||||||
|
/// 日 期:2023-02-23 11:10
|
||||||
|
/// 描 述:历史趋势控制器类
|
||||||
|
/// </summary>
|
||||||
|
[Area("DataStatisticalManage")]
|
||||||
|
//[HandlerLogin(needLogin: false)]
|
||||||
|
//[HandlerAuthorize(needAuth: false)]
|
||||||
|
public class StatisticalSettingController : BaseController
|
||||||
|
{
|
||||||
|
public HistoryTechChartsService _historyTechChartsService { get;set;}
|
||||||
|
/// <summary>
|
||||||
|
/// 绑定数据仓库的数据库ID
|
||||||
|
/// </summary>
|
||||||
|
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAllTagList(ChartTagType chartTagType)
|
||||||
|
{
|
||||||
|
|
||||||
|
var data = await _historyTechChartsService.GetAllTagList(systemDescription, chartTagType.ChartTagTypeName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult> GetDriverGroupList()
|
||||||
|
{
|
||||||
|
var data = await _historyTechChartsService.GetDriverGroupList();
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription)
|
||||||
|
{
|
||||||
|
|
||||||
|
var data = await _historyTechChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult> GetAllSubsystemTag()
|
||||||
|
{
|
||||||
|
|
||||||
|
var data = await _historyTechChartsService.GetAllSubsystemTag();
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
||||||
|
{
|
||||||
|
var data = await _historyTechChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetChartsTagValue(Charts_Params charts_Params)
|
||||||
|
{
|
||||||
|
var Table = charts_Params.Table;
|
||||||
|
var TagName = charts_Params.TagName;
|
||||||
|
var StartTime = Gettime(charts_Params.StartTime);
|
||||||
|
var EndTime = Gettime(charts_Params.EndTime);
|
||||||
|
var Interval =int.Parse(charts_Params.Interval);
|
||||||
|
|
||||||
|
var data = await _historyTechChartsService.GetChartsTagValue(Table,TagName, StartTime, EndTime, Interval);
|
||||||
|
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 ChartTagType
|
||||||
|
{
|
||||||
|
public string ChartTagTypeName { get;set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 GroupDescription { get; set; }
|
||||||
|
public string SubsysytemName { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
public class ChartGroupDescription
|
||||||
|
{
|
||||||
|
public string GroupDescription { 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 Charts_Params
|
||||||
|
{
|
||||||
|
public string Table { get; set; }
|
||||||
|
public string TagName { get; set; }
|
||||||
|
public string StartTime { get; set; }
|
||||||
|
public string EndTime { get; set; }
|
||||||
|
public string Interval { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,165 @@
|
|||||||
|
@{
|
||||||
|
ViewBag.Title = "Index";
|
||||||
|
Layout = "~/Views/Shared/_Index.cshtml";
|
||||||
|
}
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.layui-table-tool > .layui-table-tool-temp {
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
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,
|
||||||
|
laydate = layui.laydate,
|
||||||
|
//echarts = layui.echarts,
|
||||||
|
common = layui.common;
|
||||||
|
//加载数据
|
||||||
|
wcLoading.close();
|
||||||
|
//权限控制(js是值传递)
|
||||||
|
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||||
|
|
||||||
|
// 时间范围
|
||||||
|
laydate.render({
|
||||||
|
elem: '#ID-laydate-range-time1',
|
||||||
|
type: 'time',
|
||||||
|
range: true
|
||||||
|
});
|
||||||
|
laydate.render({
|
||||||
|
elem: '#ID-laydate-range-time2',
|
||||||
|
type: 'time',
|
||||||
|
range: true
|
||||||
|
}); laydate.render({
|
||||||
|
elem: '#ID-laydate-range-time3',
|
||||||
|
type: 'time',
|
||||||
|
range: true
|
||||||
|
});
|
||||||
|
laydate.render({
|
||||||
|
elem: '#ID-laydate-range-time4',
|
||||||
|
type: 'time',
|
||||||
|
range: true
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('submit(demo2)', function (data) {
|
||||||
|
var field = data.field; // 获取表单全部字段值
|
||||||
|
debugger;
|
||||||
|
var elem = data.elem; // 获取当前触发事件的元素 DOM 对象,一般为 button 标签
|
||||||
|
var elemForm = data.form; // 获取当前表单域的 form 元素对象,若容器为 form 标签才会返回。
|
||||||
|
// 显示填写结果,仅作演示用
|
||||||
|
layer.alert(JSON.stringify(field), {
|
||||||
|
title: '当前填写的字段值'
|
||||||
|
});
|
||||||
|
// 此处可执行 Ajax 等操作
|
||||||
|
// …
|
||||||
|
return false; // 阻止默认 form 跳转
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
</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-collapse">
|
||||||
|
<div class="layui-colla-item">
|
||||||
|
<div class="layui-colla-title">生产统计参数</div>
|
||||||
|
<div class="layui-colla-content">
|
||||||
|
<form class="layui-form" action="">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">原煤水份(%)</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" value="15" name="username" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">设备损耗(%)</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" value="1" name="username" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button type="submit" class="layui-btn" lay-submit lay-filter="demo1">提交</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-colla-item">
|
||||||
|
<div class="layui-colla-title">峰谷电时段设置</div>
|
||||||
|
<div class="layui-colla-content">
|
||||||
|
<form class="layui-form" action="">
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">平电区间</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" value="00:00:00 - 23:59:59" class="layui-input" id="ID-laydate-range-time1" placeholder=" - ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">峰电区间</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" value="00:00:00 - 23:59:59" class="layui-input" id="ID-laydate-range-time2" placeholder=" - ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">谷电区间</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" value="00:00:00 - 23:59:59" class="layui-input" id="ID-laydate-range-time3" placeholder=" - ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">尖电区间</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" value="00:00:00 - 23:59:59" class="layui-input" id="ID-laydate-range-time4" placeholder=" - ">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button type="submit" class="layui-btn" lay-submit lay-filter="demo2">提交</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-colla-item">
|
||||||
|
<div class="layui-colla-title">手自动参数设置</div>
|
||||||
|
<div class="layui-colla-content">
|
||||||
|
<ul>
|
||||||
|
<li>Content list</li>
|
||||||
|
<li>Content list</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-colla-item">
|
||||||
|
<div class="layui-colla-title">折叠面板的标题</div>
|
||||||
|
<div class="layui-colla-content">
|
||||||
|
<p>折叠面板的内容</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,8 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|||||||
/// 描 述:历史趋势控制器类
|
/// 描 述:历史趋势控制器类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Area("PenMeiReportManage")]
|
[Area("PenMeiReportManage")]
|
||||||
|
[HandlerLogin(needLogin: false)]
|
||||||
|
[HandlerAuthorize(needAuth: false)]
|
||||||
public class PenMeiHistoryAlarmNewController : BaseController
|
public class PenMeiHistoryAlarmNewController : BaseController
|
||||||
{
|
{
|
||||||
public HistoryAlarmService _historyAlarmService { get;set;}
|
public HistoryAlarmService _historyAlarmService { get;set;}
|
||||||
|
@ -21,6 +21,8 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
|||||||
/// 描 述:历史趋势控制器类
|
/// 描 述:历史趋势控制器类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Area("PenMeiReportManage")]
|
[Area("PenMeiReportManage")]
|
||||||
|
[HandlerLogin(needLogin: false)]
|
||||||
|
[HandlerAuthorize(needAuth: false)]
|
||||||
public class PenMeiHistoryAlarmNewNewController : BaseController
|
public class PenMeiHistoryAlarmNewNewController : BaseController
|
||||||
{
|
{
|
||||||
public HistoryAlarmService _historyAlarmService { get;set;}
|
public HistoryAlarmService _historyAlarmService { get;set;}
|
||||||
|
@ -1055,6 +1055,9 @@
|
|||||||
//async: false,
|
//async: false,
|
||||||
data: DownLaodPara,
|
data: DownLaodPara,
|
||||||
success:function (downRes) {
|
success:function (downRes) {
|
||||||
|
|
||||||
|
notify.success("导出报表数据完成,请查看浏览器或下载目录查看报表文件", "vcenter");
|
||||||
|
|
||||||
var ddfileName = JSON.parse(downRes);
|
var ddfileName = JSON.parse(downRes);
|
||||||
|
|
||||||
var fileNewDownloadUrl = "/report/" + ddfileName;
|
var fileNewDownloadUrl = "/report/" + ddfileName;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -691,8 +691,9 @@
|
|||||||
// group.add(line13_name);
|
// group.add(line13_name);
|
||||||
|
|
||||||
|
|
||||||
|
var dev0att = devlist.filter(item => item.DeviceName === "dev0")[0];
|
||||||
const image_exchange = new LeaferUI.Image({
|
const image_exchange = new LeaferUI.Image({
|
||||||
|
id: "dev0",
|
||||||
x: 800,
|
x: 800,
|
||||||
y: 250 + 75,
|
y: 250 + 75,
|
||||||
url: '/imagesnet/交换机.png',
|
url: '/imagesnet/交换机.png',
|
||||||
@ -705,7 +706,7 @@
|
|||||||
y: 250 + 75 + 160 + 10,
|
y: 250 + 75 + 160 + 10,
|
||||||
width: 134,
|
width: 134,
|
||||||
fill: fill_top_name,
|
fill: fill_top_name,
|
||||||
text: '交换机',
|
text: dev0att.DeviceDESCRIPTION,
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
verticalAlign: 'middle',
|
verticalAlign: 'middle',
|
||||||
textWrap: 'none',
|
textWrap: 'none',
|
||||||
@ -718,7 +719,7 @@
|
|||||||
y: 250 + 75 + 160 + 25,
|
y: 250 + 75 + 160 + 25,
|
||||||
width: 134,
|
width: 134,
|
||||||
fill: fill_top_name,
|
fill: fill_top_name,
|
||||||
text: '192.168.100.1',
|
text: dev0att.DeviceIP,
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
verticalAlign: 'middle',
|
verticalAlign: 'middle',
|
||||||
textWrap: 'none',
|
textWrap: 'none',
|
||||||
|
@ -20,6 +20,229 @@
|
|||||||
<link rel="stylesheet" href="~/lib/font-awesome-4.7.0/css/font-awesome.min.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
<link rel="stylesheet" href="~/lib/font-awesome-4.7.0/css/font-awesome.min.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
<style id="layuimini-bg-color">
|
<style id="layuimini-bg-color">
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
.layuimini-tab {
|
||||||
|
margin: 0px;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-content {
|
||||||
|
height: calc(100% - 37px) !important;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-content .layui-tab-item {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-content {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title {
|
||||||
|
border: none;
|
||||||
|
border: 1px solid #181B20;
|
||||||
|
background-color: #181B20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title li {
|
||||||
|
border-right: 1px solid #23262E;
|
||||||
|
color: dimgray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-tab-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-this:after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layuimini-tab-active {
|
||||||
|
display: inline-block;
|
||||||
|
background-color: lightgray;
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
border-radius: 30px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-this .layuimini-tab-active {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab > .layui-tab-title, .layuimini-tab > .close-box {
|
||||||
|
height: 35px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab > .layui-tab-title li, .layuimini-tab > .close-box li {
|
||||||
|
line-height: 35px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title span {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-this span {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-tab-close {
|
||||||
|
font-size: 12px !important;
|
||||||
|
width: 14px !important;
|
||||||
|
height: 14px !important;
|
||||||
|
line-height: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .layui-tab-close:hover {
|
||||||
|
border-radius: 4em;
|
||||||
|
background: #ff5722;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .disable-close + .layui-tab-close {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-title .able-close + .layui-tab-close {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-control > li {
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
height: 35px;
|
||||||
|
line-height: 35px;
|
||||||
|
width: 35px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #1f2c39;
|
||||||
|
border-top: whitesmoke 0px solid;
|
||||||
|
border-bottom: whitesmoke 0px solid;
|
||||||
|
border-left: 1px solid #23262E;
|
||||||
|
border-right: 1px solid #23262E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layuimini-tab-roll-left {
|
||||||
|
left: 0px;
|
||||||
|
border-right: whitesmoke 1px solid;
|
||||||
|
border-left: whitesmoke 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layuimini-tab-roll-right {
|
||||||
|
right: 35px;
|
||||||
|
border-left: 1px solid whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool {
|
||||||
|
right: 0px;
|
||||||
|
border-left: 1px solid whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-control .layui-tab-tool,
|
||||||
|
.layuimini-tab .layui-tab-control .layuimini-tab-roll-left,
|
||||||
|
.layuimini-tab .layui-tab-control .layuimini-tab-roll-right {
|
||||||
|
display: none;
|
||||||
|
background: #181B20;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .layuimini-tab .layui-tab-control .layui-tab-tool .layui-icon .layui-icon-down,
|
||||||
|
.layuimini-tab .layui-tab-control .layuimini-tab-roll-left .layui-icon .layui-icon-left,
|
||||||
|
.layuimini-tab .layui-tab-control .layuimini-tab-roll-right .layui-icon .layui-icon-right {
|
||||||
|
border-top-width: 6px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* .layuimini-tab .layui-tab-control > li{
|
||||||
|
border-top-width: 0px;
|
||||||
|
border-bottom-width: 0px;
|
||||||
|
border-left: 1px solid red;
|
||||||
|
border-right: 1px solid red;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-left,
|
||||||
|
.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-right {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-right {
|
||||||
|
right: 0px;
|
||||||
|
border-right: 1px solid whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-roll .layui-tab-title {
|
||||||
|
padding-left: 35px;
|
||||||
|
padding-right: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-tool .layui-tab-control .layui-tab-tool {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-tool .layui-tab-title {
|
||||||
|
padding-left: 0px;
|
||||||
|
padding-right: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-rollTool .layui-tab-title {
|
||||||
|
padding-left: 35px;
|
||||||
|
padding-right: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab.layui-tab-rollTool .layui-tab-control .layuimini-tab-roll-left,
|
||||||
|
.layuimini-tab.layui-tab-rollTool .layui-tab-control .layuimini-tab-roll-right,
|
||||||
|
.layuimini-tab.layui-tab-rollTool .layui-tab-control .layui-tab-tool {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool .layui-nav {
|
||||||
|
position: absolute;
|
||||||
|
height: 43px !important;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0;
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool .layui-nav-item {
|
||||||
|
height: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool .layui-nav-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool .layui-nav-child {
|
||||||
|
left: auto;
|
||||||
|
top: 45px;
|
||||||
|
right: 3px;
|
||||||
|
width: 120px;
|
||||||
|
border: 1px solid whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab .layui-tab-tool .layui-this a {
|
||||||
|
background-color: #009688;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab-loading {
|
||||||
|
position: absolute;
|
||||||
|
display: none;
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 37px);
|
||||||
|
top: 37px;
|
||||||
|
z-index: 19;
|
||||||
|
background-color: #fff
|
||||||
|
}
|
||||||
|
|
||||||
|
.layuimini-tab-loading.close {
|
||||||
|
animation: close 1s;
|
||||||
|
-webkit-animation: close 1s;
|
||||||
|
animation-fill-mode: forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@*style="background: url(/images/bgs.jpg)"*@
|
@*style="background: url(/images/bgs.jpg)"*@
|
||||||
<body class="layui-layout-body layuimini-all">
|
<body class="layui-layout-body layuimini-all">
|
||||||
|
@ -19,7 +19,10 @@
|
|||||||
<script src="~/js/lay-module/loading/wcLoading.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
<script src="~/js/lay-module/loading/wcLoading.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
||||||
<script src="~/lib/jquery-easyui/Scripts/jquery.easyui-1.4.5.min.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
<script src="~/lib/jquery-easyui/Scripts/jquery.easyui-1.4.5.min.js?v=@HT.Cloud.Code.GlobalContext.GetVersion()" charset="utf-8"></script>
|
||||||
<link rel="stylesheet" type="text/css" href="~/lib/jquery-easyui/Content/themes/default/easyui.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
<link rel="stylesheet" type="text/css" href="~/lib/jquery-easyui/Content/themes/default/easyui.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="~/lib/jquery-easyui/Content/themes/m2/easyui.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
<link rel="stylesheet" type="text/css" href="~/lib/jquery-easyui/Content/themes/icon.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
<link rel="stylesheet" type="text/css" href="~/lib/jquery-easyui/Content/themes/icon.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
|
<link rel="stylesheet" href="~/css/layuicustom.css?v=@HT.Cloud.Code.GlobalContext.GetVersion()" media="all">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@RenderBody()
|
@RenderBody()
|
||||||
|
@ -28,6 +28,18 @@
|
|||||||
绑定数据仓库的数据库ID
|
绑定数据仓库的数据库ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.StatisticalSettingController">
|
||||||
|
<summary>
|
||||||
|
创 建:cdl
|
||||||
|
日 期:2023-02-23 11:10
|
||||||
|
描 述:历史趋势控制器类
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.StatisticalSettingController.systemDescription">
|
||||||
|
<summary>
|
||||||
|
绑定数据仓库的数据库ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryChartsController">
|
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryChartsController">
|
||||||
<summary>
|
<summary>
|
||||||
创 建:cdl
|
创 建:cdl
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
"LoginMultiple": false, // 是否允许一个账户在多处登录
|
"LoginMultiple": false, // 是否允许一个账户在多处登录
|
||||||
"AllowCorsSite": "http://localhost:8058", // 允许的其他站点访问Api
|
"AllowCorsSite": "http://localhost:8058", // 允许的其他站点访问Api
|
||||||
"DBProvider": "SqlServer", //SqlServer //Oracle
|
"DBProvider": "SqlServer", //SqlServer //Oracle
|
||||||
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij6YiQpV5DIw6JRzXXsYlzoJ+bUF4h97SyChJobnKFm1EOA4aBGj+/Aje1MD7G13GOXplGKNnRzOB6qvav/vGq4xLAOc1EyKCHAMDCgWSEpu5uXl7LYv8gGNRQzIjv6UkUBLzX1Jetj7Hf9iYws19sCoRXI/1Vm5bZIVwLQThEctF8imcaVDPhGNcPCH1kr+h5A==",
|
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij1zzENjv04mu23Y8D8hdM3VxApXnvB2iA7xm5JfYWNkbDScUWuGK1+hd9AH5U4eo6l9A0lA/+WhXv9LiWTyuYMFt8OAffhgQu1MWiiwb1GDz8EurwhrLAsGpelKSfZmZGbVTRgW4/RUDv9wtBdQIA11dlm4eCG6zDm9rjJk4f+AM8Pdm1D5aIiWLuRZJXPSkSg==",
|
||||||
"DBCommandTimeout": 180, // 数据库超时时间,单位秒
|
"DBCommandTimeout": 180, // 数据库超时时间,单位秒
|
||||||
"CacheProvider": "Memory", // 缓存使用方式 Redis/Memory
|
"CacheProvider": "Memory", // 缓存使用方式 Redis/Memory
|
||||||
"RedisConnectionString": "127.0.0.1:6379", //docker部署 172.17.0.1
|
"RedisConnectionString": "127.0.0.1:6379", //docker部署 172.17.0.1
|
||||||
@ -34,7 +34,7 @@
|
|||||||
{
|
{
|
||||||
"DBNumber": "1",
|
"DBNumber": "1",
|
||||||
"DBProvider": "SqlServer", //MySql //Oracle
|
"DBProvider": "SqlServer", //MySql //Oracle
|
||||||
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij6YiQpV5DIw6JRzXXsYlzoJ+bUF4h97SyChJobnKFm1EOA4aBGj+/Aje1MD7G13GOXplGKNnRzOB6qvav/vGq4xLAOc1EyKCHAMDCgWSEpu5uXl7LYv8gGNRQzIjv6UkUBLzX1Jetj7Hf9iYws19sCoRXI/1Vm5bZIVwLQThEctF8imcaVDPhGNcPCH1kr+h5A=="
|
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij1zzENjv04mu23Y8D8hdM3VxApXnvB2iA7xm5JfYWNkbDScUWuGK1+hd9AH5U4eo6l9A0lA/+WhXv9LiWTyuYMFt8OAffhgQu1MWiiwb1GDz8EurwhrLAsGpelKSfZmZGbVTRgW4/RUDv9wtBdQIA11dlm4eCG6zDm9rjJk4f+AM8Pdm1D5aIiWLuRZJXPSkSg=="
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"RabbitMq": {
|
"RabbitMq": {
|
||||||
|
41
HT.Cloud.Web/wwwroot/css/layuicustom.css
Normal file
41
HT.Cloud.Web/wwwroot/css/layuicustom.css
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
.layui-bg-custom-1 {
|
||||||
|
background-color: #00eaff !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-2 {
|
||||||
|
background-color: #013fa3 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-3 {
|
||||||
|
background-color: #04216a !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-4 {
|
||||||
|
background-color: #060f23 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-5 {
|
||||||
|
background-color: #041544 !important; /*#041544*/
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-6 {
|
||||||
|
background-color: #001756e6 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-7 {
|
||||||
|
background-color: #001655 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-bg-custom-8 {
|
||||||
|
background-color: #0c2e57 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
@ -145,7 +145,7 @@
|
|||||||
.layuimini-tab .layui-tab-title {
|
.layuimini-tab .layui-tab-title {
|
||||||
border: none;
|
border: none;
|
||||||
border: 1px solid whitesmoke;
|
border: 1px solid whitesmoke;
|
||||||
background-color: white;
|
background-color:#0083a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layuimini-tab .layui-tab-title li {
|
.layuimini-tab .layui-tab-title li {
|
||||||
@ -876,12 +876,14 @@
|
|||||||
.layui-nav-tree .layui-nav-item > a .layui-nav-more {
|
.layui-nav-tree .layui-nav-item > a .layui-nav-more {
|
||||||
padding: 0px 0;
|
padding: 0px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-table {
|
.layui-table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-tab-control > ul > .layui-nav-item.layui-this {
|
.layui-tab-control > ul > .layui-nav-item.layui-this {
|
||||||
background-color: none;
|
background-color: none;
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
body {
|
body {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 0px 0px 0px 0px;
|
||||||
background: #f2f2f2;
|
background: #f2f2f2;
|
||||||
}
|
}
|
||||||
.form-group-bottom {
|
.form-group-bottom {
|
||||||
|
@ -318,6 +318,8 @@ layui.define(["jquery", "layer"], function (exports) {
|
|||||||
'.layui-header .layui-nav .layui-nav-more {\n' +
|
'.layui-header .layui-nav .layui-nav-more {\n' +
|
||||||
' border-top-color: ' + bgcolorData.headerRightNavMore + ' !important;\n' +
|
' border-top-color: ' + bgcolorData.headerRightNavMore + ' !important;\n' +
|
||||||
'}\n' +
|
'}\n' +
|
||||||
|
'.layui-layout-admin .layui-header .layuimini-tool i {\n' +
|
||||||
|
' color: ' + bgcolorData.headerRightToolColor + ';\n' +
|
||||||
'\n' +
|
'\n' +
|
||||||
'/*头部右侧更多下拉颜色 headerRightNavMore */\n' +
|
'/*头部右侧更多下拉颜色 headerRightNavMore */\n' +
|
||||||
'.layui-header .layui-nav .layui-nav-mored, .layui-header .layui-nav-itemed > a .layui-nav-more {\n' +
|
'.layui-header .layui-nav .layui-nav-mored, .layui-header .layui-nav-itemed > a .layui-nav-more {\n' +
|
||||||
@ -331,8 +333,6 @@ layui.define(["jquery", "layer"], function (exports) {
|
|||||||
'}\n' +
|
'}\n' +
|
||||||
'\n' +
|
'\n' +
|
||||||
'/*头部缩放按钮样式 headerRightToolColor */\n' +
|
'/*头部缩放按钮样式 headerRightToolColor */\n' +
|
||||||
'.layui-layout-admin .layui-header .layuimini-tool i {\n' +
|
|
||||||
' color: ' + bgcolorData.headerRightToolColor + ';\n' +
|
|
||||||
'}\n' +
|
'}\n' +
|
||||||
'\n' +
|
'\n' +
|
||||||
'/*logo背景颜色 headerLogoBg */\n' +
|
'/*logo背景颜色 headerLogoBg */\n' +
|
||||||
|
Binary file not shown.
Reference in New Issue
Block a user