更新 评测前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

@ -58,7 +58,22 @@ namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
var data = await _metaTagService.GetGroupVarTable(groupIId);
return Content(data);
}
[HttpPost]
[HttpPost]
public async Task<ActionResult> GetGroupVarTreeTable(string[] groupId)
{
int groupIId = 0;
try
{
groupIId = int.Parse(Regex.Replace(groupId[0], "[a-zA-Z]", "", RegexOptions.IgnoreCase));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
var data = await _metaTagService.GetGroupVarTreeTable(groupIId);
return Content(data);
}
[HttpPost]
public async Task<ActionResult> SaveArgument(string driverId, string name, string value)
{
var data = "";

View File

@ -0,0 +1,88 @@
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.DevicesManage;
using HT.Cloud.Service;
using Microsoft.AspNetCore.Authorization;
using HT.Cloud.Service.DevicesManage;
namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
{
/// <summary>
/// 创 建cdl
/// 日 期2023-03-16 09:39
/// 描 述:设备报警信息控制器类
/// </summary>
[Area("DevicesManage")]
public class MetaTagScopeController : BaseController
{
public MetaTagScopeService _service {get;set;}
#region
[HandlerAjaxOnly]
[IgnoreAntiforgeryToken]
public async Task<ActionResult> GetGridJson(SoulPage<MetaTagScopeEntity> pagination, string keyword)
{
if (string.IsNullOrEmpty(pagination.field))
{
pagination.field = "TagID";
pagination.order = "asc";
}
var data = await _service.GetLookList(pagination,keyword);
return Content(pagination.setData(data).ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetListJson(string keyword)
{
var data = await _service.GetList(keyword);
return Content(data.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public async Task<ActionResult> GetFormJson(string keyValue)
{
var data = await _service.GetLookForm(keyValue);
return Content(data.ToJson());
}
#endregion
#region
[HttpPost]
[HandlerAjaxOnly]
public async Task<ActionResult> SubmitForm(MetaTagScopeEntity entity, string keyValue)
{
try
{
await _service.SubmitForm(entity, keyValue);
return await Success("操作成功。", "", keyValue);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue);
}
}
[HttpPost]
[HandlerAjaxOnly]
[HandlerAuthorize]
public async Task<ActionResult> DeleteForm(string keyValue)
{
try
{
await _service.DeleteForm(keyValue);
return await Success("操作成功。", "", keyValue, DbLogType.Delete);
}
catch (Exception ex)
{
return await Error(ex.Message, "", keyValue, DbLogType.Delete);
}
}
#endregion
}
}

View File

@ -133,48 +133,54 @@
// ]]
//});
await $.ajax({
url: "/DevicesManage/MetaTag/GetGroupVarTable",
url: "/DevicesManage/MetaTag/GetGroupVarTreeTable",//GetGroupVarTable
type: "Post",
dataType: "json",
traditional: true,//这里设置为true
data: { groupId: datapa },
success: function (redata) {
table.render({
var options ={
elem: '#metaTable',
height:'full-10',
//defaultToolbar: ['filter', 'print', 'exports', {
//title: '提示' //标题
//,layEvent: 'LAYTABLE_TIPS' //事件名,用于 toolbar 事件中使用
//,icon: 'layui-icon-tips' //图标类名
//}],
data: redata.data,
editTrigger:'dblclick',
//page:true,
//limit:20,
treeIdName: 'TreeId',
treePidName: 'F_TreeId',
cols:[[
{ type: 'checkbox' },
{ field: 'TagID', title: 'ID', sort: true },
{ field: 'Subsystem', title: '子系统', edit: 'text'},
{ field: 'Description' , title:'变量名称' , edit:'text'},
{ field: 'TagName' , title:'变量编码' , edit:'text'},
{ field: 'DataType' , title:'数值类型' , edit:'text'},
{ field: 'Address' , title:'起始地址' , edit:'text'},
{ field: 'Subsystem' , title:'所属系统' , edit:'text', filter:true},
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
//{ field: 'Address', title: '起始地址', edit: 'text' },
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
{ field: 'Units' , title:'变量单位' , edit:'text'},
//{ field: 'TagID', title: 'ID' },
]],
page:true,
limit:20,
// response:{
// statusName:'code', //规定返回的状态码字段为code
// statusCode:0 //规定成功的状态码味200
// },
// parseData:function(res){
//return {
//"code" : redata.code, //解析接口状态
//"msg" : redata.msg, //解析提示文本
// "data" : redata.data //解析数据列表
//}
//},
});
}
commonTable.rendertreetable(options);
//table.render({
// elem: '#metaTable',
// height:'full-10',
// data: redata.data,
// editTrigger:'dblclick',
// cols:[[
// { type: 'checkbox' },
// { field: 'Subsystem', title: '子系统', edit: 'text'},
// { field: 'Description' , title:'变量名称' , edit:'text'},
// //{ field: 'TagName' , title:'变量编码' , edit:'text'},
// { field: 'Address', title: '起始地址', edit: 'text' },
// { field: 'DataType' , title:'数值类型' , edit:'text'},
// //{ field: 'RtValue' , title:'当前值' , edit:'text'},
// { field: 'Units' , title:'变量单位' , edit:'text'},
// { field: 'TagID', title: 'ID', sort: true },
// ]],
// page:true,
// limit:20,
//});
}
});
}

View File

@ -71,7 +71,7 @@
<div class="layui-form-item">
<label class="layui-form-label">变量单位<em class="dotRed">*</em></label>
<div class="layui-input-block">
<input type="text" id="Units" name="Units" placeholder="变量世界单位 Bool值缺省Y/N" class="layui-input" style="width: 320px;">
<input type="text" id="Units" name="Units" placeholder="变量数据单位 Bool值缺省Y/N" class="layui-input" style="width: 320px;">
</div>
</div>
@*<div class="layui-form-item">

View File

@ -0,0 +1,127 @@
@{
ViewBag.Title = "Details";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script>
layui.use(['jquery', 'form', 'laydate', 'common'], function () {
var form = layui.form,
$ = layui.$,
common = layui.common,
laydate = layui.laydate;
var keyValue = $.request("keyValue");
//权限字段
common.authorizeFields('adminform');
//此处需修改
//类型为时间时
//laydate.render({
//elem: '#F_Birthday'
//, btns: ['clear', 'now']
//, trigger: 'click',
//format: 'yyyy-MM-dd',
//});
$(function () {
initControl();
common.ajax({
url: '/DevicesManage/MetaTagScope/GetFormJson',
dataType: 'json',
data: { keyValue: keyValue },
async: false,
success: function (data) {
common.val('adminform', data);
common.setReadOnly('adminform');
form.render();
}
});
});
wcLoading.close();
function initControl() {
//此处需修改
//绑定数据源
//类型为下拉框时
}
});
</script>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form" lay-filter="adminform">
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">描述</label>
<div class="layui-input-block">
<input type="text" id="Description" name="Description" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">子系统</label>
<div class="layui-input-block">
<input type="text" id="Subsystem" name="Subsystem" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">单位</label>
<div class="layui-input-block">
<input type="text" id="Units" name="Units" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">报警级别</label>
<div class="layui-input-block">
<input type="text" id="Htlevel" name="Htlevel" lay-verify="required" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低三级报警值</label>
<div class="layui-input-block">
<input type="text" id="LLLmum" name="LLLmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低二级报警值</label>
<div class="layui-input-block">
<input type="text" id="LLmum" name="LLmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低一级报警值</label>
<div class="layui-input-block">
<input type="text" id="Lmum" name="Lmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高一级报警值</label>
<div class="layui-input-block">
<input type="text" id="Hmum" name="Hmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高二级报警值</label>
<div class="layui-input-block">
<input type="text" id="HHmum" name="HHmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高三级报警值</label>
<div class="layui-input-block">
<input type="text" id="HHHmum" name="HHHmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">下限</label>
<div class="layui-input-block">
<input type="text" id="Lowmum" name="Lowmum" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">上限</label>
<div class="layui-input-block">
<input type="text" id="Highmum" name="Highmum" class="layui-input">
</div>
</div>
</div>
</div>
</div>
</body>

View File

@ -0,0 +1,144 @@
@{
ViewBag.Title = "Form";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script>
layui.use(['jquery', 'form', 'laydate', 'common','optimizeSelectOption'], function () {
var form = layui.form,
$ = layui.$,
common = layui.common,
laydate = layui.laydate;
var keyValue = $.request("keyValue");
//权限字段
common.authorizeFields('adminform');
//此处需修改
//类型为时间时
//laydate.render({
//elem: '#F_Birthday'
//, btns: ['clear', 'now']
//, trigger: 'click',
//format: 'yyyy-MM-dd',
//});
$(function () {
initControl();
if (!!keyValue) {
common.ajax({
url: '/DevicesManage/MetaTagScope/GetFormJson',
dataType: 'json',
data: { keyValue: keyValue },
async: false,
success: function (data) {
common.val('adminform', data);
}
});
}
form.render();
});
wcLoading.close();
function initControl() {
//此处需修改
//绑定数据源
//类型为下拉框时
}
//监听提交
form.on('submit(saveBtn)', function (data) {
var postData = data.field;
common.submitForm({
url: '/DevicesManage/MetaTagScope/SubmitForm?keyValue=' + keyValue,
param: postData,
success: function () {
common.parentreload('data-search-btn');
}
})
return false;
});
});
</script>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-form layuimini-form" lay-filter="adminform">
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">描述</label>
<div class="layui-input-block">
<input type="text" id="Description" name="Description" autocomplete="off" lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">子系统</label>
<div class="layui-input-block">
<input type="text" id="Subsystem" name="Subsystem" autocomplete="off" lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">单位</label>
<div class="layui-input-block">
<input type="text" id="Units" name="Units" autocomplete="off" lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label required">报警级别</label>
<div class="layui-input-block">
<input type="text" id="Htlevel" name="Htlevel" autocomplete="off" lay-verify="required" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低三级报警值</label>
<div class="layui-input-block">
<input type="text" id="LLLmum" name="LLLmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低二级报警值</label>
<div class="layui-input-block">
<input type="text" id="LLmum" name="LLmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">低一级报警值</label>
<div class="layui-input-block">
<input type="text" id="Lmum" name="Lmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高一级报警值</label>
<div class="layui-input-block">
<input type="text" id="Hmum" name="Hmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高二级报警值</label>
<div class="layui-input-block">
<input type="text" id="HHmum" name="HHmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">高三级报警值</label>
<div class="layui-input-block">
<input type="text" id="HHHmum" name="HHHmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">下限</label>
<div class="layui-input-block">
<input type="text" id="Lowmum" name="Lowmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<label class="layui-form-label">上限</label>
<div class="layui-input-block">
<input type="text" id="Highmum" name="Highmum" autocomplete="off" placeholder="请输入" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
</div>
</div>
</div>
</div>
</body>

View File

@ -0,0 +1,193 @@
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset layui-hide" id="searchField">
<div>
<form class="layui-form layui-form-pane" >
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">关键字:</label>
<div class="layui-input-inline">
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon">&#xe615;</i> 搜 索</button>
</div>
</div>
</form>
</div>
</fieldset>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container" id="toolbar">
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe654;</i>新增</button>
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon">&#xe642;</i>修改</button>
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon">&#xe640;</i>删除</button>
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon">&#xe60b;</i>查看</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar">
<a id="NF-edit" authorize class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
</script>
</div>
</div>
<script>
layui.use(['jquery', 'form','table','commonTable', 'common','optimizeSelectOption'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table,commonTable = layui.commonTable
common = layui.common;
//权限控制(js是值传递)
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
commonTable.rendertable({
elem: '#currentTableId',
id: 'currentTableId',
limit:16,
url: '/DevicesManage/MetaTagScope/GetGridJson',
cols: [[
//此处需修改
{ type: "checkbox", width: 50, fixed: 'left' },
//{ field: 'TagName', title: '变量名称', width: 100,sort: true,filter: true },
//{ field: 'DataType', title: '数据类型', width: 100,sort: true,filter: true },
//{ field: 'Address', title: '读取地址', width: 100,sort: true,filter: true },
//{ field: 'GroupID', title: 'GroupID', width: 100,sort: true,filter: true },
//{ field: 'IsActive', title: '是否启用', width: 100,sort: true,filter: true },
{ field: 'Subsystem', title: '所属系统', sort: true, filter: true },
{ field: 'Description', title: '描述', sort: true,filter: true },
{ field: 'Units', title: '单位', width: 100,sort: true,filter: true },
//{ field: 'WriteAddress', title: '回写地址', width: 100,sort: true,filter: true },
{ field: 'LLLmum', title: '低三级报警值', width: 100,sort: true,filter: true },
{ field: 'LLmum', title: '低二级报警值', width: 100,sort: true,filter: true },
{ field: 'Lmum', title: '低一级报警值', width: 100,sort: true,filter: true },
{ field: 'Hmum', title: '高一级报警值', width: 100,sort: true,filter: true },
{ field: 'HHmum', title: '高二级报警值', width: 100,sort: true,filter: true },
{ field: 'HHHmum', title: '高三级报警值', width: 100,sort: true,filter: true },
{ field: 'Htlevel', title: '报警级别', width: 100,sort: true,filter: true },
{ field: 'Lowmum', title: '下限', width: 100,sort: true,filter: true },
{ field: 'Highmum', title: '上限', width: 100,sort: true,filter: true },
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
]]
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
//执行搜索重载
commonTable.reloadtable({
elem: 'currentTableId',
curr: 1,
where: { keyword: data.field.txt_keyword}
});
return false;
});
wcLoading.close();
//行点击事件监听,控制按钮显示
var oneList = ["NF-edit", "NF-details"];//选择1条显示
var morerList = ["NF-delete"];//选中1条以上显示
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
//toolbar监听事件
table.on('toolbar(currentTableFilter)', function (obj) {
var data = table.checkStatus('currentTableId').data;
var id = data.length > 0 ? data[0].TagID : null;
if (obj.event === 'add') { // 监听添加操作
common.modalOpen({
title: "添加界面",
url: "/DevicesManage/MetaTagScope/Form",
width: "500px",
height: "500px",
});
}
else if (obj.event === 'delete') {
if (data.length == 0) {
common.modalMsg("未选中数据", "warning");
return false;
}
var ids = [];
for (var i = 0; i < data.length; i++) {
ids.push(data[i].TagID);
}
common.deleteForm({
url: "/DevicesManage/MetaTagScope/DeleteForm",
param: { keyValue: ids.join(',') },
success: function () {
common.reload('data-search-btn');
}
});
}
else if (obj.event === 'edit') {
if (data.length == 0) {
common.modalMsg("未选中数据", "warning");
return false;
}
common.modalOpen({
title: "编辑界面",
url: "/DevicesManage/MetaTagScope/Form?keyValue=" + id,
width: "500px",
height: "500px",
});
}
else if (obj.event === 'details') {
if (data.length == 0) {
common.modalMsg("未选中数据", "warning");
return false;
}
common.modalOpen({
title: "查看界面",
url: "/DevicesManage/MetaTagScope/Details?keyValue=" + id,
width: "500px",
height: "500px",
btn: []
});
}
else if (obj.event === 'TABLE_SEARCH') {
var _that = $("#searchField");
if (_that.hasClass("layui-hide")) {
_that.removeClass('layui-hide');
} else {
_that.addClass('layui-hide');
}
table.resize();
}
return false;
});
//toolrow监听事件
table.on('tool(currentTableFilter)', function (obj) {
var id = obj.data.TagID;
if (obj.event === 'delete') {
common.deleteForm({
url: "/DevicesManage/MetaTagScope/DeleteForm",
param: { keyValue: id },
success: function () {
obj.del();
}
});
}
else if (obj.event === 'edit') {
common.modalOpen({
title: "编辑界面",
url: "/DevicesManage/MetaTagScope/Form?keyValue=" + id,
width: "500px",
height: "500px",
});
}
else if (obj.event === 'details') {
common.modalOpen({
title: "查看界面",
url: "/DevicesManage/MetaTagScope/Details?keyValue=" +id,
width: "500px",
height: "500px",
btn: []
});
}
return false;
});
});
</script>