添加变量名称导入
This commit is contained in:
@ -9,6 +9,9 @@ using HT.Cloud.Service;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using HT.Cloud.Service.DevicesManage;
|
||||
using System.Text.RegularExpressions;
|
||||
using HT.Cloud.Domain.DevicesManage;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
|
||||
{
|
||||
@ -73,6 +76,57 @@ namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
|
||||
var data = await _metaTagService.GetGroupVarTreeTable(groupIId);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> ImportExcelToTableData(string[] groupId)
|
||||
{
|
||||
//var data = await _metaTagService.ImportExcelToTableData(metaTags);
|
||||
var list = JsonConvert.DeserializeObject<List<Meta_Tag>>(groupId[0].Remove(0, 17).Remove(groupId[0].Length - 17 - 2, 2));
|
||||
|
||||
|
||||
list.Remove(list[0]);
|
||||
List<MetaTagEntity> metaTags = new List<MetaTagEntity>();
|
||||
foreach (var item in list)
|
||||
{
|
||||
try
|
||||
{
|
||||
MetaTagEntity metaTag = new MetaTagEntity();
|
||||
metaTag.TagID = int.Parse(item.TagID);
|
||||
metaTag.TagName = item.TagName;
|
||||
metaTag.DataType = short.Parse(item.TagID);
|
||||
metaTag.DataSize = int.Parse(item.DataSize);
|
||||
metaTag.Address = item.Address;
|
||||
metaTag.GroupID = int.Parse(item.GroupID);
|
||||
metaTag.IsActive = true;
|
||||
metaTag.Archive = true;
|
||||
metaTag.DefaultValue = item.DefaultValue;
|
||||
metaTag.Description = item.Description;
|
||||
metaTag.Maximum = float.Parse(item.Maximum);
|
||||
metaTag.Minimum = float.Parse(item.Minimum);
|
||||
metaTag.Cycle = int.Parse(item.Cycle);
|
||||
metaTag.Subsystem = item.Subsystem;
|
||||
metaTag.Units = item.Units;
|
||||
metaTag.WriteAddress = item.WriteAddress;
|
||||
metaTag.SysType = item.SysType;
|
||||
metaTag.SysAddress = item.SysAddress;
|
||||
if (item.IFloatPlaces == "")
|
||||
{
|
||||
metaTag.IFloatPlaces = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
metaTag.IFloatPlaces = short.Parse(item.IFloatPlaces);
|
||||
}
|
||||
metaTags.Add(metaTag);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
var data = await _metaTagService.ImportExcelToTableData(metaTags);
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> SaveArgument(string driverId, string name, string value)
|
||||
{
|
||||
@ -80,5 +134,32 @@ namespace HT.Cloud.Web.Areas.DevicesManage.Controllers
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
}
|
||||
public class Meta_Tag
|
||||
{
|
||||
public string TagID { get; set; }
|
||||
|
||||
public string TagName { get; set; }
|
||||
|
||||
public string DataType { get; set; }
|
||||
|
||||
public string DataSize { get; set; }
|
||||
public string Address { get; set; }
|
||||
public string GroupID { get; set; }
|
||||
public string IsActive { get; set; }
|
||||
public string Archive { get; set; }
|
||||
public string DefaultValue { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string Maximum { get; set; }
|
||||
public string Minimum { get; set; }
|
||||
public string Cycle { get; set; }
|
||||
public string Subsystem { get; set; }
|
||||
public string Units { get; set; }
|
||||
public string WriteAddress { get; set; }
|
||||
public string SysType { get; set; }
|
||||
public string SysAddress { get; set; }
|
||||
public string IFloatPlaces { get; set; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -8,9 +8,9 @@
|
||||
padding-right: 0px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="~/lib/xlsx/dist/xlsx.full.min.js"></script>
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'table', 'common','tree','util', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'tree', 'util', 'dtree', 'commonTable', 'optimizeSelectOption','excel'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
commonTable = layui.commonTable,
|
||||
@ -19,6 +19,7 @@
|
||||
layer = layui.layer,
|
||||
util = layui.util,
|
||||
tree = layui.tree,
|
||||
excel = layui.excel,
|
||||
//echarts = layui.echarts,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
@ -92,16 +93,71 @@
|
||||
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('Alias_Siemens').value = redata.Alias;
|
||||
//document.getElementById('PLCType_Siemens').value = redata.PLCType;
|
||||
select_value("PLCType_Siemens", redata.PLCType);
|
||||
if (redata.DriverType == 'DriverSiemensS7'){
|
||||
var argumentFormSiemens = document.getElementById('argumentFormSiemens');
|
||||
var argumentFormAllenBradley = document.getElementById('argumentFormAllenBradley');
|
||||
var argumentFormSchneideir = document.getElementById('argumentFormSchneideir');
|
||||
var argumentFormOpc = document.getElementById('argumentFormOpc');
|
||||
argumentFormSiemens.style.display = 'block';
|
||||
argumentFormAllenBradley.style.display = 'none';
|
||||
argumentFormSchneideir.style.display = 'none';
|
||||
argumentFormOpc.style.display = 'none';
|
||||
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('Alias_Siemens').value = redata.Alias;
|
||||
//document.getElementById('PLCType_Siemens').value = redata.PLCType;
|
||||
select_value("PLCType_Siemens", redata.PLCType);
|
||||
} else if (redata.DriverType == 'AllenBradleyEIP') {
|
||||
var argumentFormSiemens = document.getElementById('argumentFormSiemens');
|
||||
var argumentFormAllenBradley = document.getElementById('argumentFormAllenBradley');
|
||||
var argumentFormSchneideir = document.getElementById('argumentFormSchneideir');
|
||||
var argumentFormOpc = document.getElementById('argumentFormOpc');
|
||||
argumentFormSiemens.style.display = 'none';
|
||||
argumentFormAllenBradley.style.display = 'block';
|
||||
argumentFormSchneideir.style.display = 'none';
|
||||
argumentFormOpc.style.display = 'none';
|
||||
debugger;
|
||||
document.getElementById('ServerName_AllenBradley').value = redata.ServerName;
|
||||
document.getElementById('Port_AllenBradley').value = redata.Port;
|
||||
document.getElementById('Slot_AllenBradley').value = redata.Slot;
|
||||
document.getElementById('TimeOut_AllenBradley').value = redata.TimeOut;
|
||||
document.getElementById('Alias_AllenBradley').value = redata.Alias;
|
||||
//select_value("PLCType_AllenBradley", redata.PLCType);
|
||||
} else if (redata.DriverType == 'ModbusTcp'){
|
||||
var argumentFormSiemens = document.getElementById('argumentFormSiemens');
|
||||
var argumentFormAllenBradley = document.getElementById('argumentFormAllenBradley');
|
||||
var argumentFormSchneideir = document.getElementById('argumentFormSchneideir');
|
||||
var argumentFormOpc = document.getElementById('argumentFormOpc');
|
||||
argumentFormSiemens.style.display = 'none';
|
||||
argumentFormAllenBradley.style.display = 'none';
|
||||
argumentFormSchneideir.style.display = 'block';
|
||||
argumentFormOpc.style.display = 'none';
|
||||
debugger;
|
||||
document.getElementById('ServerName_Schneideir').value = redata.ServerName;
|
||||
document.getElementById('Port_Schneideir').value = redata.Port;
|
||||
document.getElementById('SlaveID_Schneideir').value = redata.SlaveID;
|
||||
document.getElementById('TimeOut_Schneideir').value = redata.TimeOut;
|
||||
document.getElementById('Alias_Schneideir').value = redata.Alias;
|
||||
//select_value("PLCType_Schneideir", redata.PLCType);
|
||||
} else if (redata.DriverType == 'OpcUaClient') {
|
||||
var argumentFormSiemens = document.getElementById('argumentFormSiemens');
|
||||
var argumentFormAllenBradley = document.getElementById('argumentFormAllenBradley');
|
||||
var argumentFormSchneideir = document.getElementById('argumentFormSchneideir');
|
||||
var argumentFormOpc = document.getElementById('argumentFormOpc');
|
||||
argumentFormSiemens.style.display = 'none';
|
||||
argumentFormAllenBradley.style.display = 'none';
|
||||
argumentFormSchneideir.style.display = 'none';
|
||||
argumentFormOpc.style.display = 'block';
|
||||
debugger;
|
||||
document.getElementById('ServerName_Opc').value = redata.ServerName;
|
||||
document.getElementById('Port_Opc').value = redata.Port;
|
||||
document.getElementById('ServerUri_Opc').value = redata.ServerUri;
|
||||
document.getElementById('TimeOut_Opc').value = redata.TimeOut;
|
||||
document.getElementById('Alias_Opc').value = redata.Alias;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -114,9 +170,11 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
var rrid = "0";
|
||||
async function LaodTagList(row) {
|
||||
debugger;
|
||||
var group_Id = row.id.toString();
|
||||
rrid = group_Id;
|
||||
var datapa = new Array;
|
||||
datapa.push(group_Id);
|
||||
var tableHeight = showTag.style.height - 10;
|
||||
@ -140,48 +198,60 @@
|
||||
traditional: true,//这里设置为true
|
||||
data: { groupId: datapa },
|
||||
success: function (redata) {
|
||||
var options ={
|
||||
elem: '#metaTable',
|
||||
height:'full-10',
|
||||
data: redata.data,
|
||||
editTrigger:'dblclick',
|
||||
//page:true,
|
||||
//limit:20,
|
||||
treeIdName: 'TreeId',
|
||||
treePidName: 'F_TreeId',
|
||||
cols:[[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'Subsystem', title: '子系统', edit: 'text'},
|
||||
{ field: 'Description' , title:'变量名称' , edit:'text'},
|
||||
//{ field: 'Address', title: '起始地址', edit: 'text' },
|
||||
//{ field: 'DataType' , title:'数值类型' , edit:'text'},
|
||||
{ field: 'Units' , title:'变量单位' , edit:'text'},
|
||||
//{ field: 'TagID', title: 'ID' },
|
||||
]],
|
||||
if (group_Id == "B25091")
|
||||
{
|
||||
var options ={
|
||||
elem: '#metaTable',
|
||||
height:'full-10',
|
||||
data: redata.data,
|
||||
editTrigger:'dblclick',
|
||||
//page:true,
|
||||
//limit:20,
|
||||
treeIdName: 'TreeId',
|
||||
treePidName: 'F_TreeId',
|
||||
cols:[[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'Subsystem', title: '子系统', edit: 'text'},
|
||||
{ field: 'Description' , title:'变量名称' , edit:'text'},
|
||||
{ field: 'Address', title: '起始地址', edit: 'text' },
|
||||
{ field: 'DataType' , title:'数值类型' , edit:'text'},
|
||||
{ field: 'Units' , title:'变量单位' , edit:'text'},
|
||||
{ field: 'SysType', title: '变量分类', edit: 'text' },
|
||||
{ field: 'IFloatPlaces', title: '小数位数', edit: 'text' },
|
||||
//{ field: 'TagID', title: 'ID' },
|
||||
]],
|
||||
}
|
||||
commonTable.rendertreetable(options);
|
||||
}
|
||||
commonTable.rendertreetable(options);
|
||||
//table.render({
|
||||
// elem: '#metaTable',
|
||||
// height:'full-10',
|
||||
// data: redata.data,
|
||||
// editTrigger:'dblclick',
|
||||
// cols:[[
|
||||
// { type: 'checkbox' },
|
||||
// { field: 'Subsystem', title: '子系统', edit: 'text'},
|
||||
else
|
||||
{
|
||||
var options ={
|
||||
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: '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 },
|
||||
//{ field: 'RtValue' , title:'当前值' , edit:'text'},
|
||||
{ field: 'Units' , title:'变量单位' , edit:'text'},
|
||||
|
||||
{ field: 'SysType', title: '变量分类', edit: 'text' },
|
||||
{ field: 'IFloatPlaces', title: '小数位数', edit: 'text' },
|
||||
//{ field: 'TagID', title: 'ID', sort: true },
|
||||
|
||||
// ]],
|
||||
// page:true,
|
||||
// limit:20,
|
||||
//});
|
||||
]],
|
||||
page:true,
|
||||
limit:20,
|
||||
}
|
||||
commonTable.rendertable(options);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -226,6 +296,188 @@
|
||||
height: "699px",
|
||||
});
|
||||
}
|
||||
openImport = function () {
|
||||
var htmlContent = '<div style="width:100%;height:100%;text-align: center;">'
|
||||
|
||||
htmlContent += '<div class="layui-upload-drag" id="importData" >';
|
||||
|
||||
htmlContent += '<input multiple="multiple" type="file" style="cursor:pointer;opacity: 0.0; position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height:100%;">';
|
||||
|
||||
htmlContent += '<i class="layui-icon"></i>';
|
||||
|
||||
htmlContent += '<p id="filename">点击选择文件,或将文件拖拽到此处,支持多文件导入</p>';
|
||||
|
||||
htmlContent += '</div>';
|
||||
|
||||
htmlContent += '<div ">';
|
||||
|
||||
htmlContent += '<button id="downloadFiles" class="layui-btn" style="margin-top:10px;margin-bottom:10px;">下载模板</button>';
|
||||
|
||||
htmlContent += '</div>';
|
||||
|
||||
htmlContent += '</div>';
|
||||
|
||||
layer.open({
|
||||
|
||||
type: 1
|
||||
|
||||
, offset: "auto"
|
||||
|
||||
, id: 'layer_importData'
|
||||
|
||||
, title: '导入'
|
||||
|
||||
, area: '400px'
|
||||
|
||||
, content: htmlContent //需要打开的模板
|
||||
|
||||
, btnAlign: 'c' //按钮居中
|
||||
|
||||
, shade: 0 //不显示遮罩
|
||||
|
||||
, success: function (layero, index) {
|
||||
|
||||
// 监听上传文件的事件
|
||||
|
||||
$('#importData').change(function (e) {
|
||||
|
||||
var files = e.target.files;
|
||||
debugger;
|
||||
uploadExcel(files);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
//下载模板
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
async function uploadExcel(files) {
|
||||
debugger;
|
||||
excel.importExcel(files, {
|
||||
|
||||
// 读取数据的同时梳理数据
|
||||
|
||||
fields: {
|
||||
|
||||
'TagID': 'A'
|
||||
|
||||
, 'TagName': 'B'
|
||||
|
||||
, 'DataType': 'C'
|
||||
|
||||
, 'DataSize': 'D'
|
||||
, 'Address': 'E'
|
||||
, 'GroupID': 'F'
|
||||
, 'IsActive': 'G'
|
||||
, 'Archive': 'H'
|
||||
, 'DefaultValue': 'I'
|
||||
, 'Description': 'J'
|
||||
, 'Maximum': 'K'
|
||||
, 'Minimum': 'L'
|
||||
, 'Cycle': 'M'
|
||||
, 'Subsystem': 'N'
|
||||
, 'Units': 'O'
|
||||
, 'WriteAddress': 'P'
|
||||
, 'SysType': 'Q'
|
||||
, 'SysAddress': 'R'
|
||||
, 'IFloatPlaces':'S'
|
||||
|
||||
}
|
||||
|
||||
},async function (data) {
|
||||
|
||||
// 还可以再进行数据梳理
|
||||
|
||||
///* data = excel.filterImportData(data, {
|
||||
// 'collection_point': 'A'
|
||||
// , 'pass': 'B'
|
||||
// , 'jump_out': 'C'
|
||||
// , 'input': 'D'
|
||||
//*/
|
||||
|
||||
console.log("data", data, "files", files);
|
||||
var datapa = new Array;
|
||||
datapa.push(JSON.stringify(data).toString());
|
||||
await $.ajax({
|
||||
url: "/DevicesManage/MetaTag/ImportExcelToTableData",//GetGroupVarTable
|
||||
type: "Post",
|
||||
dataType: "json",
|
||||
traditional: true,//这里设置为true
|
||||
data: {groupId: datapa },
|
||||
success: function (redata) {
|
||||
debugger;
|
||||
//var group_Id = row.id.toString();
|
||||
debugger;
|
||||
if (rrid == "B25091") {
|
||||
var options = {
|
||||
elem: '#metaTable',
|
||||
height: 'full-10',
|
||||
data: redata.data,
|
||||
editTrigger: 'dblclick',
|
||||
//page:true,
|
||||
//limit:20,
|
||||
treeIdName: 'TreeId',
|
||||
treePidName: 'F_TreeId',
|
||||
cols: [[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'Subsystem', title: '子系统', edit: 'text' },
|
||||
{ field: 'Description', title: '变量名称', edit: 'text' },
|
||||
{ field: 'Address', title: '起始地址', edit: 'text' },
|
||||
{ field: 'DataType', title: '数值类型', edit: 'text' },
|
||||
{ field: 'Units', title: '变量单位', edit: 'text' },
|
||||
{ field: 'SysType', title: '变量分类', edit: 'text' },
|
||||
{ field: 'IFloatPlaces', title: '小数位数', edit: 'text' },
|
||||
//{ field: 'TagID', title: 'ID' },
|
||||
]],
|
||||
}
|
||||
commonTable.rendertreetable(options);
|
||||
}
|
||||
else {
|
||||
var options = {
|
||||
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: 'SysType', title: '变量分类', edit: 'text' },
|
||||
{ field: 'IFloatPlaces', title: '小数位数', edit: 'text' },
|
||||
//{ field: 'TagID', title: 'ID', sort: true },
|
||||
|
||||
]],
|
||||
page: true,
|
||||
limit: 20,
|
||||
}
|
||||
commonTable.rendertable(options);
|
||||
}
|
||||
}
|
||||
});
|
||||
//layer.close(index);
|
||||
|
||||
//layer.close(index - 1);
|
||||
|
||||
//layer.close(sLayer);
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
newDriver = function () {
|
||||
|
||||
@ -322,18 +574,134 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="argumentFormAllen-Bradley" class="formList" style="height:100%;width:100%;display:none">
|
||||
|
||||
<div id="argumentFormAllenBradley" class="formList" style="height:100%;width:100%;display:none">
|
||||
<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_AllenBradley" name="ServerName" placeholder="请输入地址" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<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="Alias_AllenBradley" name="Alias" placeholder="请设置CPU别名" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Port<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Port_AllenBradley" name="Port" placeholder="请输入Port" 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_AllenBradley" 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_AllenBradley" name="TimeOut" placeholder="请输入超时时间" 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 id="argumentFormSchneideir" class="formList" style="height:100%;width:100%;display:none">
|
||||
|
||||
<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_Schneideir" name="ServerName" placeholder="请输入地址" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<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="Alias_Schneideir" name="Alias" placeholder="请设置CPU别名" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Port<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Port_Schneideir" name="Port" placeholder="请输入Port" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">从站ID<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="SlaveID_Schneideir" name="Slot" placeholder="请输入从站ID" 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_Schneideir" name="TimeOut" placeholder="请输入超时时间" 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 id="argumentFormOpc" class="formList" style="height:100%;width:100%;display:none">
|
||||
|
||||
<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_Opc" name="ServerName" placeholder="请输入地址" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<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="Alias_Opc" name="Alias" placeholder="请设置CPU别名" class="layui-input" style="width: 320px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Port<em class="dotRed">*</em>:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="Port_Opc" name="Port" placeholder="请输入Port" 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="ServerUri_Opc" name="ServerUri" 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="TimeOut_Opc" name="TimeOut" placeholder="请输入超时时间" 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>
|
||||
<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-import" name="NF-import" authorize class="layui-btn layui-btn-sm layui-btn-normal " lay-event="import" onclick="openImport()"><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>
|
||||
|
Reference in New Issue
Block a user