更新设备变量新追加
This commit is contained in:
@ -26,7 +26,7 @@ namespace HT.Cloud.Domain.DevicesManage
|
||||
///
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="DataType", ColumnDescription = "",ColumnDataType = "tinyint(3)")]
|
||||
public bool DataType { get; set; }
|
||||
public short DataType { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
@ -5,6 +5,8 @@ using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Code;
|
||||
using HT.Cloud.Domain.DevicesManage;
|
||||
using Microsoft.Extensions.FileSystemGlobbing.Internal;
|
||||
using Serenity.Services;
|
||||
using SqlSugar;
|
||||
|
||||
namespace HT.Cloud.Service.DevicesManage
|
||||
@ -21,7 +23,7 @@ namespace HT.Cloud.Service.DevicesManage
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取服务器中设备与变量组信息树列表和子节点
|
||||
/// 获取服务器中设备与变量组信息树列表和子节点,通讯参数driverid添加T,变量组配置id添加B
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetALLNode()
|
||||
@ -33,22 +35,22 @@ namespace HT.Cloud.Service.DevicesManage
|
||||
|
||||
var ts = list_drive.Select(a => new
|
||||
{
|
||||
title = a.DriverName,
|
||||
id = a.DriverID,
|
||||
name = a.DriverName,
|
||||
id = a.DriverID.ToString(),
|
||||
children = new[] {
|
||||
new Children
|
||||
{
|
||||
id = "T" + a.DriverID,
|
||||
title = "通讯参数",
|
||||
name = "通讯参数",
|
||||
},
|
||||
new Children
|
||||
{
|
||||
id = "B" + a.DriverID,
|
||||
title = "变量配置",
|
||||
id = "D" + a.DriverID,
|
||||
name = "变量配置",
|
||||
children = list_group.Where(aa=>aa.DriverID == a.DriverID).Select(aa=>new Children
|
||||
{
|
||||
title = aa.GroupName,
|
||||
id = aa.GroupID.ToString(),
|
||||
name = aa.GroupName,
|
||||
id = "B" + aa.GroupID.ToString(),
|
||||
}).ToList()
|
||||
|
||||
}
|
||||
@ -59,15 +61,52 @@ namespace HT.Cloud.Service.DevicesManage
|
||||
// id = aa.GroupID,
|
||||
//}).ToList()
|
||||
}).ToList();
|
||||
|
||||
#region 取消key值引号
|
||||
//string pattern = "\"(\\w+)\"(\\s*:\\s*)";
|
||||
//string replacement = "$1$2";
|
||||
//System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex(pattern);
|
||||
//return rgx.Replace(ts.ToJsonNullValueHandling(), replacement);
|
||||
#endregion
|
||||
return ts.ToJsonNullValueHandling();
|
||||
}
|
||||
|
||||
public class Children
|
||||
}
|
||||
public class Children
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string title { get; set; }
|
||||
public string name { get; set; }
|
||||
public List<Children> children { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> GetDriverArgument(int driverId)
|
||||
{
|
||||
var listArgument = _context.Queryable<ArgumentEntity>().Where(x=>x.DriverID == driverId).ToList();
|
||||
var dt = new Dictionary<string, string>();
|
||||
foreach(var argument in listArgument)
|
||||
{
|
||||
dt.Add(argument.PropertyName, argument.PropertyValue);
|
||||
}
|
||||
return dt.ToJson();
|
||||
}
|
||||
public async Task<string> GetGroupVarTable(int groupId)
|
||||
{
|
||||
var listMetaTag = _context.Queryable<MetaTagEntity>().Where(x => x.GroupID == groupId).ToList();
|
||||
|
||||
var metaTagRedata = new MetaTagRedata
|
||||
{
|
||||
code = 0,
|
||||
msg = "",
|
||||
count = listMetaTag.Count,
|
||||
data = listMetaTag
|
||||
};
|
||||
|
||||
return metaTagRedata.ToJson();
|
||||
}
|
||||
public class MetaTagRedata
|
||||
{
|
||||
public int code { get;set; }
|
||||
public string msg { get; set; }
|
||||
public int count { get; set; }
|
||||
public List<MetaTagEntity> data { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ using HT.Cloud.Domain.ChartsManage;
|
||||
using HT.Cloud.Service;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using HT.Cloud.Service.DevicesManage;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
|
||||
{
|
||||
@ -27,7 +28,42 @@ namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
|
||||
var data = await _metaTagService.GetALLNode();
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetDriverArgument(string[] driverId)
|
||||
{
|
||||
int drivreIId = 0;
|
||||
try
|
||||
{
|
||||
drivreIId = int.Parse(Regex.Replace(driverId[0], "[a-zA-Z]", "", RegexOptions.IgnoreCase));
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
var data = await _metaTagService.GetDriverArgument(drivreIId);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetGroupVarTable(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.GetGroupVarTable(groupIId);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> SaveArgument(string driverId, string name, string value)
|
||||
{
|
||||
var data = "";
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
195
HT.Cloud.Web/Areas/DevicesManage/Views/MetaTag/Form.cshtml
Normal file
195
HT.Cloud.Web/Areas/DevicesManage/Views/MetaTag/Form.cshtml
Normal file
@ -0,0 +1,195 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common', 'optimizeSelectOption'], function () {
|
||||
debugger;
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
laydate = layui.laydate,
|
||||
tableEdit = layui.tableEdit,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
var keyValue = $.request("keyValue");
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#F_NeedTime'
|
||||
, trigger: 'click',
|
||||
format: 'yyyy/MM/dd',
|
||||
});
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
var listData = [];
|
||||
$(function () {
|
||||
debugger;
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/OrderManagement/Order/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (!!data.list && data.list.length > 0) {
|
||||
listData = data.list;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
var code = new Date().formatDate('yyyyMMddhhmmss');
|
||||
$('#F_OrderCode').val("OR-" + code);
|
||||
}
|
||||
form.render();
|
||||
var params = [{ name: '未完成', value: 0 }, { name: '已完成', value: 1 }];
|
||||
var cols = [[
|
||||
{ type: "checkbox", width: 50 },
|
||||
{
|
||||
field: 'F_OrderState', title: '订单状态', width: 120, sort: true, event: 'orderState', config: { type: 'select', data: params, verify: { type: "required" } }
|
||||
, templet: function (d) {
|
||||
if (d.F_OrderState || d.F_OrderState == 0) {
|
||||
if (d.F_OrderState.value || d.F_OrderState.value == 0) {
|
||||
return d.F_OrderState.name;
|
||||
}
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
if (params[i].value == d.F_OrderState) {
|
||||
return params[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_ActualTime', title: '实际时间', minWidth: 160, sort: true, event: 'actualTime', config: { type: 'date', dateType: 'date' }
|
||||
},
|
||||
{ field: 'F_ProductName', title: '产品名称', minWidth: 145, sort: true, event: 'productName', config: { type: 'input', verify: { type: "required" } } },
|
||||
{ field: 'F_ProductDescription', title: '产品规格', minWidth: 145, event: 'productDescription', config: { type: 'input'} },
|
||||
{ field: 'F_ProductUnit', title: '产品单位', width: 120, event: 'productUnit', config: { type: 'input' } },
|
||||
{ field: 'F_NeedNum', title: '需求数量', width: 140, event: 'needNum', config: { type: 'signedInput' } },
|
||||
{ field: 'F_ActualNum', title: '实际数量', width: 140, event: 'actualNum', config: { type: 'signedInput' } },
|
||||
{ field: 'F_Description', title: '备注', minWidth: 145, event: 'Description', config: { type: 'input' } },
|
||||
]];
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
data: listData,
|
||||
defaultToolbar: [],
|
||||
search: false,
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
height: 'full-185',
|
||||
filter: {
|
||||
clearFilter: false,
|
||||
},
|
||||
cols: cols
|
||||
});
|
||||
var aopTable = tableEdit.aopObj(cols); //获取一个aop对象
|
||||
aopTable.on('tool(currentTableFilter)', function (obj) {
|
||||
var field = obj.field; //单元格字段
|
||||
var value = obj.value; //修改后的值
|
||||
var data = obj.data; //当前行旧数据
|
||||
var event = obj.event; //当前单元格事件属性值
|
||||
var update = {};
|
||||
update[field] = value;
|
||||
//把value更新到行中
|
||||
obj.update(update);
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = [];//选择1条显示
|
||||
var moreList = ["NF-delete"];//多条显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, moreList);
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
}
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
postData.list = table.cache.currentTableId;
|
||||
if (!postData.list || postData.list.length == 0) {
|
||||
common.modalMsg("产品明细不能为空!");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < postData.list.length; i++) {
|
||||
if (!postData.list[i].F_ProductName) {
|
||||
common.modalMsg("请输入明细的产品名称!");
|
||||
return false;
|
||||
}
|
||||
postData.list[i].F_OrderState = !!postData.list[i].F_OrderState.value ? postData.list[i].F_OrderState.value : postData.list[i].F_OrderState;
|
||||
}
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: '/OrderManagement/Order/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">变量名称<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Description" name="Description" placeholder="请输入变量名称" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">变量编码<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="TagName" name="TagName" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">数值类型<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="DataType" name="DataType" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">起始地址<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Address" name="Address" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属系统<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Subsystem" name="Subsystem" placeholder="请输入所属系统名称" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<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;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formDemo">确认提交</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -23,6 +23,19 @@
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
|
||||
|
||||
|
||||
var showArgument = document.getElementById('showArgument');//选取id为test的div元素
|
||||
var showTag = document.getElementById('showTag');//选取id为test的div元素
|
||||
|
||||
showArgument.style.display = 'none';// 隐藏选择的元素
|
||||
showTag.style.display = 'none';// 隐藏选择的元素
|
||||
//t.style.display = 'none';// 隐藏选择的元素
|
||||
|
||||
//t.style.display = 'block';// 以块级样式显示
|
||||
|
||||
|
||||
//权限控制(js是值传递)
|
||||
//toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
|
||||
@ -31,23 +44,194 @@
|
||||
//获取所有子系统列表ok
|
||||
async function GetAllNode() {
|
||||
debugger;
|
||||
$.ajax({
|
||||
url: "/DevicesManage/MetaTag/GetAllNode",
|
||||
type: "Get",
|
||||
//dataType: "json",
|
||||
async: false,
|
||||
//data: datapa,
|
||||
success: function (redata) {
|
||||
debugger;
|
||||
var listsubsysname = JSON.parse(redata);
|
||||
debugger;
|
||||
tree.render({
|
||||
elem: '#drtree',
|
||||
data:redata
|
||||
});
|
||||
}
|
||||
});
|
||||
//$.ajax({
|
||||
// url: "/DevicesManage/MetaTag/GetAllNode",
|
||||
// type: "Get",
|
||||
// //dataType: "json",
|
||||
// async: false,
|
||||
// //data: datapa,
|
||||
// success: function (redata) {
|
||||
// var jsonData = JSON.stringify(redata);
|
||||
// debugger;
|
||||
|
||||
// $('#test').tree()
|
||||
// }
|
||||
//});
|
||||
$('#test').treegrid({
|
||||
method:"get",
|
||||
url: "/DevicesManage/MetaTag/GetAllNode",
|
||||
onClickRow: function (row) {
|
||||
if (/T/.test(row.id.toString())) {
|
||||
showArgument.style.display = 'block';// 隐藏选择的元素
|
||||
showTag.style.display = 'none';// 隐藏选择的元素
|
||||
LaodArgument(row);
|
||||
}
|
||||
if (/B/.test(row.id.toString())) {
|
||||
showArgument.style.display = 'none';// 隐藏选择的元素
|
||||
showTag.style.display = 'block';// 隐藏选择的元素
|
||||
LaodTagList(row);
|
||||
}
|
||||
},
|
||||
onLoadSuccess(row, data) {
|
||||
//$('#test').treegrid('select', 'T' + window.querystring("id"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function LaodArgument(row){
|
||||
debugger;
|
||||
var driver_Id = row.id.toString();
|
||||
var datapa = new Array;
|
||||
datapa.push(driver_Id);
|
||||
debugger;
|
||||
await $.ajax({
|
||||
url: "/DevicesManage/MetaTag/GetDriverArgument",
|
||||
type: "Post",
|
||||
dataType: "json",
|
||||
traditional: true,//这里设置为true
|
||||
data: { driverId: datapa },
|
||||
success: function (redata) {
|
||||
//在此判断cpu类型并展现不同的表单。
|
||||
var argumentFormSiemens = document.getElementById('argumentFormSiemens');
|
||||
argumentFormSiemens.style.display = 'block';
|
||||
debugger;
|
||||
document.getElementById('ServerName_Siemens').value = redata.ServerName;
|
||||
document.getElementById('Rack_Siemens').value = redata.Rack;
|
||||
document.getElementById('Slot_Siemens').value = redata.Slot;
|
||||
document.getElementById('TimeOut_Siemens').value = redata.TimeOut;
|
||||
//document.getElementById('PLCType_Siemens').value = redata.PLCType;
|
||||
select_value("PLCType_Siemens", redata.PLCType);
|
||||
}
|
||||
});
|
||||
}
|
||||
function select_value(id, value) {//按照option的值来选择
|
||||
selectdom = document.getElementById(id);
|
||||
option = selectdom.getElementsByTagName("option");
|
||||
for (var i = 0; i < option.length; i++) {
|
||||
if (option[i].value == value) {
|
||||
selectdom.selectedIndex = i; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
async function LaodTagList(row) {
|
||||
debugger;
|
||||
var group_Id = row.id.toString();
|
||||
var datapa = new Array;
|
||||
datapa.push(group_Id);
|
||||
var tableHeight = showTag.style.height - 10;
|
||||
//var oUrl = window.location.host + "/DevicesManage/MetaTag/GetGroupVarTable";
|
||||
//var dataUrl = getUrl(oUrl, { groupId: datapa });
|
||||
//debugger;
|
||||
//table.render({
|
||||
// elem: 'metaTable',
|
||||
// url: dataUrl,
|
||||
// editTrigger:'dblclick',
|
||||
// cols:[[
|
||||
// { type: 'checkbox' },
|
||||
// {fiele:'TagID',title:'ID',width:'auto',sort : true },
|
||||
|
||||
// ]]
|
||||
//});
|
||||
await $.ajax({
|
||||
url: "/DevicesManage/MetaTag/GetGroupVarTable",
|
||||
type: "Post",
|
||||
dataType: "json",
|
||||
traditional: true,//这里设置为true
|
||||
data: { groupId: datapa },
|
||||
success: function (redata) {
|
||||
table.render({
|
||||
elem: '#metaTable',
|
||||
height:'full-10',
|
||||
//defaultToolbar: ['filter', 'print', 'exports', {
|
||||
//title: '提示' //标题
|
||||
//,layEvent: 'LAYTABLE_TIPS' //事件名,用于 toolbar 事件中使用
|
||||
//,icon: 'layui-icon-tips' //图标类名
|
||||
//}],
|
||||
data: redata.data,
|
||||
editTrigger:'dblclick',
|
||||
cols:[[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'TagID', title: 'ID', sort: true },
|
||||
{ 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: 'Units' , title:'变量单位' , edit:'text'},
|
||||
|
||||
]],
|
||||
page:true,
|
||||
limit:20,
|
||||
// response:{
|
||||
// statusName:'code', //规定返回的状态码字段为code
|
||||
// statusCode:0 //规定成功的状态码味200
|
||||
// },
|
||||
// parseData:function(res){
|
||||
//return {
|
||||
//"code" : redata.code, //解析接口状态
|
||||
//"msg" : redata.msg, //解析提示文本
|
||||
// "data" : redata.data //解析数据列表
|
||||
//}
|
||||
//},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 传入对象返回url参数
|
||||
* param{ Object } data { a: 1 }
|
||||
* returns{ string }
|
||||
*/
|
||||
function getParam(data){
|
||||
let url = '';
|
||||
for (var k in data) {
|
||||
let value = data[k] !== undefined ? data[k] : '';
|
||||
url += `&${k}=${encodeURIComponent(value)}`
|
||||
}
|
||||
return url ? url.substring(1) : ''
|
||||
}
|
||||
|
||||
/**
|
||||
* 将url和参数拼接成完整地址
|
||||
* param {string} url url地址
|
||||
* param {Json} data json对象
|
||||
* returns {string}
|
||||
*/
|
||||
function getUrl(url, data){
|
||||
//看原始url地址中开头是否带?,然后拼接处理好的参数
|
||||
return url += (url.indexOf('?') < 0 ? '?' : '') + this.getParam(data)
|
||||
}
|
||||
|
||||
openForm = function(){
|
||||
common.modalOpen({
|
||||
title: "添加变量",
|
||||
url: "/DevicesManage/MetaTag/Form",
|
||||
width: "850px",
|
||||
height: "700px",
|
||||
});
|
||||
}
|
||||
openEdit = function () {
|
||||
common.modalOpen({
|
||||
title: "修改变量",
|
||||
url: "/DevicesManage/MetaTag/Form",
|
||||
width: "849px",
|
||||
height: "699px",
|
||||
});
|
||||
}
|
||||
|
||||
newDriver = function () {
|
||||
|
||||
}
|
||||
newGroup = function () {
|
||||
|
||||
}
|
||||
editModel1 = function () {
|
||||
|
||||
}
|
||||
destroyModel1 = function () {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -56,27 +240,95 @@
|
||||
<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="layui-tree" id="drtree" title="设备列表" style="position: relative;width:100%;height:auto;overflow:auto;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md10 layui-col-xs9" style="height:100%">
|
||||
|
||||
<form class="layui-form" style="height:100%;width:100%" id="tablepanel">
|
||||
<div class="layui-panel" id="gridpanel" style="width:100%;height: 100%;margin-bottom: 10px; ">
|
||||
<div id="result" class="echart" style="width: 100%; height: 100% "></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="layui-row" style="padding:0 0px;height:100%">
|
||||
<div class="layui-col-xs2" style="height:100%">
|
||||
<div style="width:100%;height: 100%; width:100%;margin-right:10px;float:left;">
|
||||
<table id="test" title="选择设备" class="easyui-treegrid"
|
||||
rownumbers="true" toolbar="#toolbar1"
|
||||
fitColumns="true" fit="true"
|
||||
idField="id" treeField="name">
|
||||
<thead>
|
||||
<tr>
|
||||
<th field="name" width="100">设备名称</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<div id="toolbar1">
|
||||
<a href="javascript:;" class="easyui-linkbutton" iconCls="icon-add" plain="true" id="newgroup" onclick="newDriver()">新建设备</a>
|
||||
<a href="javascript:;" class="easyui-linkbutton" iconCls="icon-add" plain="true" id="new" onclick="newGroup()">新建变量组</a>
|
||||
<a href="javascript:;" class="easyui-linkbutton" iconCls="icon-edit" plain="true" id="edit" onclick="editModel1()">修改</a>
|
||||
<a href="javascript:;" class="easyui-linkbutton" iconCls="icon-remove" plain="true" id="delete" onclick="destroyModel1()">删除</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs10" style="height:100%">
|
||||
<div id="showdiv" style="height:100%;margin-left:10px;">
|
||||
<div id="showArgument" style="height:100%;width:100%">@*//;background:red*@
|
||||
<div id="argumentFormSiemens" class="formList" style="height:100%;width:100%;display:block">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">CPU地址<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ServerName_Siemens" name="ServerName" placeholder="请输入地址" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Rack<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Rack_Siemens" name="Rack" placeholder="请输入Rack" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Slot<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Slot_Siemens" name="Slot" placeholder="请输入Slot" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">超时时间<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="TimeOut_Siemens" name="TimeOut" placeholder="请输入超时时间" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">PLC类型<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block" style="width: 320px">
|
||||
<select id="PLCType_Siemens" name="PLCType" lay-verify="required" class="select_wd320" style="width: 320px">
|
||||
<option value=""></option>
|
||||
<option value="S7300">S7-300</option>
|
||||
<option value="S7400">S7-400</option>
|
||||
<option value="S71200">S7-1200</option>
|
||||
<option value="S71500">S7-1500</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formDemo">确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="argumentFormAllen-Bradley" class="formList" style="height:100%;width:100%;display:none">
|
||||
|
||||
</div>
|
||||
<div id="argumentFormSchneideir" class="formList" style="height:100%;width:100%;display:none">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="showTag" style="height:100%;width:100%">@*;background:black*@
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm layui-btn-normal " lay-event="add" onclick="openForm()"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm " lay-event="edit" onclick="openEdit()"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger " lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
@*<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal " lay-event="details"> <i class="layui-icon"></i>查看</button>*@
|
||||
</div>
|
||||
<table id="metaTable" lay-filter="metafilter" ></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
86
HT.Cloud.Web/Areas/DevicesManage/Views/MetaTag/Modfiy.cshtml
Normal file
86
HT.Cloud.Web/Areas/DevicesManage/Views/MetaTag/Modfiy.cshtml
Normal file
@ -0,0 +1,86 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
|
||||
debugger;
|
||||
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
laydate = layui.laydate,
|
||||
tableEdit = layui.tableEdit,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
|
||||
var listData = [];
|
||||
$(function () {
|
||||
initControl();
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
//绑定数据源
|
||||
//类型为下拉框时
|
||||
}
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
debugger;
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">变量名称<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Description" name="Description" placeholder="请输入变量名称" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">变量编码<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="TagName" name="TagName" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">数值类型<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="DataType" name="DataType" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">起始地址<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Address" name="Address" placeholder="请参照系统规则手册" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属系统<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Subsystem" name="Subsystem" placeholder="请输入所属系统名称" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<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;">
|
||||
</div>
|
||||
</div>
|
||||
@*<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formDemo">确认提交</button>
|
||||
</div>
|
||||
</div>*@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
Reference in New Issue
Block a user