528 lines
24 KiB
Plaintext
528 lines
24 KiB
Plaintext
<%@page import="com.sipai.entity.scada.MPoint" %>
|
||
<%@page import="com.sipai.tools.CommString" %>
|
||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
|
||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||
<%request.setAttribute("Active_False", CommString.Active_False); %>
|
||
<%request.setAttribute("Active_True", CommString.Active_True); %>
|
||
<%request.setAttribute("Flag_Enable", MPoint.Flag_Enable);%>
|
||
<%request.setAttribute("Flag_Disable", MPoint.Flag_Disable);%>
|
||
|
||
<%request.setAttribute("Flag_Sql", MPoint.Flag_Sql);%>
|
||
<%request.setAttribute("Flag_Modbus", MPoint.Flag_Modbus);%>
|
||
<%request.setAttribute("Flag_Type_KPI", MPoint.Flag_Type_KPI);%>
|
||
<%request.setAttribute("Flag_Type_Hand", MPoint.Flag_Type_Hand);%>
|
||
<%request.setAttribute("Flag_Type_Data", MPoint.Flag_Type_Data);%>
|
||
<%request.setAttribute("Flag_Type_Model", MPoint.Flag_Type_Model);%>
|
||
<%request.setAttribute("Flag_BizType_Hand", MPoint.Flag_BizType_Hand);%>
|
||
<%request.setAttribute("Flag_BizType_Auto", MPoint.Flag_BizType_Auto);%>
|
||
|
||
<style type="text/css">
|
||
.select2-container .select2-selection--single {
|
||
height: 34px;
|
||
line-height: 34px;
|
||
}
|
||
|
||
</style>
|
||
<script type="text/javascript">
|
||
var selectEM = function (companyId) {
|
||
$.post(ext.contextPath + '/work/mpoint/showEquipmentCardForMpointSelect.do', {
|
||
companyId: companyId,
|
||
equipmentId: $("#equipmentid").val()
|
||
}, function (data) {
|
||
$("#emSubDiv").html(data);
|
||
openModal('emSubModal');
|
||
});
|
||
};
|
||
//初始化转发类型选择框
|
||
var refreshBizTypeSelect = function () {
|
||
var select = $("#biztype1").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
if (${mPoint.biztype == Flag_BizType_Hand}) {
|
||
select.val('${mPoint.biztype}').trigger("change");
|
||
} else {
|
||
select.val('${Flag_BizType_Auto}').trigger("change");
|
||
}
|
||
|
||
select.on("change", function (e) {
|
||
if ($("#biztype1").val() == '${Flag_BizType_Auto}') {
|
||
$("#biztype2").val('');
|
||
} else {
|
||
$("#biztype2").val($("#biztype1").val());
|
||
}
|
||
});
|
||
};
|
||
//初始化测量点类型选择框
|
||
var refreshTypeSelect = function () {
|
||
var select = $("#sourceType").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.sourceType}').trigger("change");
|
||
|
||
};
|
||
//初始化启用状态选择框
|
||
var refreshActiveSelect = function () {
|
||
var select = $("#active").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.active}').trigger("change");
|
||
|
||
};
|
||
//初始化信号类型选择框
|
||
var refreshSignaltypeSelect = function () {
|
||
var select = $("#signaltype").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.signaltype}').trigger("change");
|
||
|
||
};
|
||
|
||
//初始化信号源选择框
|
||
var refreshValuetypeSelect = function () {
|
||
var select = $("#valuetype").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.valuetype}').trigger("change");
|
||
|
||
};
|
||
|
||
//初始化数值取反选择框
|
||
var refreshDirecttype = function () {
|
||
var select = $("#directtype").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.directtype}').trigger("change");
|
||
|
||
};
|
||
|
||
//初始化报警状态选择框
|
||
var refreshtriggeralarm = function () {
|
||
var select = $("#triggeralarm").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.triggeralarm}').trigger("change");
|
||
|
||
};
|
||
|
||
//初始化信号源选择框
|
||
var refreshvaluetype = function () {
|
||
var select = $("#valuetype").select2({
|
||
data: null,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: false,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
});
|
||
select.val('${mPoint.valuetype}').trigger("change");
|
||
|
||
};
|
||
|
||
function getProcessSection() {
|
||
//选择工艺段
|
||
$.post(ext.contextPath + "/user/processSection/getProcessSection4Select.do", {companyId: unitId}, function (data) {
|
||
var selelct_ = $("#processsectioncode").select2({
|
||
data: data,
|
||
cache: false,
|
||
placeholder: '请选择',//默认文字提示
|
||
allowClear: true,//允许清空
|
||
escapeMarkup: function (markup) {
|
||
return markup;
|
||
}, // 自定义格式化防止xss注入
|
||
language: "zh-CN",
|
||
minimumInputLength: 0,
|
||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||
formatResult: function formatRepo(repo) {
|
||
return repo.text;
|
||
}, // 函数用来渲染结果
|
||
formatSelection: function formatRepoSelection(repo) {
|
||
return repo.text;
|
||
} // 函数用于呈现当前的选择
|
||
}).val(data).trigger("change");
|
||
selelct_.val('${mPoint.processsectioncode }').trigger("change");
|
||
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'})
|
||
// selelct_.on("change", function (e) {
|
||
// $("#table").bootstrapTable('refresh');
|
||
// });
|
||
|
||
}, 'json');
|
||
}
|
||
|
||
function update() {
|
||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||
$.post(ext.contextPath + "/work/mpoint/update.do", $("#subForm").serialize(), function (data) {
|
||
if (data.code == 1) {
|
||
closeModal('subModal')
|
||
$("#table").bootstrapTable('refresh');
|
||
|
||
} else if (data.code == 0) {
|
||
showAlert('d', '保存失败');
|
||
} else {
|
||
showAlert('d', data.msg);
|
||
}
|
||
}, 'json');
|
||
}
|
||
}
|
||
|
||
$("#subForm").bootstrapValidator({
|
||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||
fields: {
|
||
id: {
|
||
validators: {
|
||
notEmpty: {
|
||
message: 'ID不能为空'
|
||
}
|
||
}
|
||
},
|
||
mpointid: {
|
||
validators: {
|
||
notEmpty: {
|
||
message: '测量点id不能为空'
|
||
}
|
||
}
|
||
},
|
||
mpointcode: {
|
||
validators: {
|
||
notEmpty: {
|
||
message: '测量点code不能为空'
|
||
}
|
||
}
|
||
},
|
||
parmname: {
|
||
validators: {
|
||
notEmpty: {
|
||
message: '测量点名称不能为空'
|
||
}
|
||
}
|
||
},
|
||
active: {
|
||
validators: {
|
||
notEmpty: {
|
||
message: '启用状态不能为空'
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
});
|
||
|
||
$(function () {
|
||
refreshDirecttype();
|
||
refreshActiveSelect();
|
||
refreshSignaltypeSelect();
|
||
refreshTypeSelect();
|
||
refreshvaluetype();
|
||
refreshtriggeralarm();
|
||
// refreshValuetypeSelect();
|
||
// refreshBizTypeSelect();
|
||
|
||
getProcessSection();
|
||
})
|
||
|
||
/**
|
||
* 验证是否输入的为汉字
|
||
* @param str
|
||
* @returns {string}
|
||
*/
|
||
function check(str, name) {
|
||
var temp = ""
|
||
for (var i = 0; i < str.length; i++) {
|
||
if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 255) {
|
||
temp += str.charAt(i)
|
||
} else {
|
||
alert(name + '无法输入汉字');
|
||
return temp
|
||
}
|
||
}
|
||
return temp
|
||
}
|
||
|
||
</script>
|
||
<div class="modal fade" id="subModal">
|
||
<div class="modal-dialog modal-lg">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||
<span aria-hidden="true">×</span></button>
|
||
<h4 class="modal-title">编辑测量点</h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<!-- 新增界面formid强制为subForm -->
|
||
<form class="form-horizontal" id="subForm">
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">*ID</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="id" name="id" value="${mPoint.id}" readonly
|
||
onkeyup="this.value=check(this.value,'ID')">
|
||
</div>
|
||
<label class="col-sm-2 control-label">*隶属</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="bizname" name="bizname" value="${company.name}"
|
||
readonly>
|
||
<input class="form-control" type="hidden" id="bizid" name="bizid" value="${mPoint.bizid}"
|
||
readonly>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">*mpointid</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="mpointid" name="mpointid"
|
||
value="${mPoint.mpointid}" autocomplete="off"
|
||
onkeyup="this.value=check(this.value,'mpointid')">
|
||
</div>
|
||
<label class="col-sm-2 control-label">*mpointcode</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="mpointcode" name="mpointcode"
|
||
value="${mPoint.mpointcode}" readonly autocomplete="off"
|
||
onkeyup="this.value=check(this.value,'mpointcode')">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">*名称</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="parmname" name="parmname"
|
||
value="${mPoint.parmname}">
|
||
</div>
|
||
<label class="col-sm-2 control-label">简称</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="disname" name="disname"
|
||
value="${mPoint.disname}">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">所属工艺段</label>
|
||
<div class="col-sm-4">
|
||
<select class="form-control select2" id="processsectioncode" name="processsectioncode"
|
||
style="width: 270px;"></select>
|
||
</div>
|
||
<label class="col-sm-2 control-label">含义</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="valuemeaning" name="valuemeaning"
|
||
value="${mPoint.valuemeaning}">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">*信号类型</label>
|
||
<div class="col-sm-4">
|
||
<select id="signaltype" name="signaltype" class="form-control select2"
|
||
style="width: 270px;">
|
||
<option value="AI">AI</option>
|
||
<option value="DI">DI</option>
|
||
</select>
|
||
</div>
|
||
<label class="col-sm-2 control-label">信号标签</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="signaltag" name="signaltag"
|
||
value="${mPoint.signaltag}">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">报警上限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="alarmmax" name="alarmmax"
|
||
value="<fmt:formatNumber type="number" value="${mPoint.alarmmax}" groupingUsed="false" maxFractionDigits="2"/>">
|
||
</div>
|
||
<label class="col-sm-2 control-label">报警下限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="alarmmin" name="alarmmin"
|
||
value="<fmt:formatNumber type="number" value="${mPoint.alarmmin}" groupingUsed="false" maxFractionDigits="2"/>">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">报警超上限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="halarmmax" name="halarmmax"
|
||
value="<fmt:formatNumber type="number" value="${mPoint.halarmmax}" groupingUsed="false" maxFractionDigits="2"/>">
|
||
</div>
|
||
<label class="col-sm-2 control-label">报警超下限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="lalarmmin" name="lalarmmin"
|
||
value="<fmt:formatNumber type="number" value="${mPoint.lalarmmin}" groupingUsed="false" maxFractionDigits="2"/>">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">量程上限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="forcemax" name="forcemax"
|
||
value="${mPoint.forcemax}">
|
||
</div>
|
||
<label class="col-sm-2 control-label">量程下限</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="forcemin" name="forcemin"
|
||
value="${mPoint.forcemin}">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">精度</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="numtail" name="numtail"
|
||
value="${mPoint.numtail}" placeholder="1/2/3/4">
|
||
</div>
|
||
<label class="col-sm-2 control-label">倍率</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="rate" name="rate"
|
||
value="<fmt:formatNumber type="number" value="${mPoint.rate}" groupingUsed="false" maxFractionDigits="10"/>">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">采集类型</label>
|
||
<div class="col-sm-4">
|
||
<select id="sourceType" name="sourceType" class="form-control select2"
|
||
style="width: 270px;">
|
||
<option value="${Flag_Type_Data}">自控采集点</option>
|
||
<option value="${Flag_Type_Hand}">手动录入点</option>
|
||
<option value="${Flag_Type_KPI}">KPI计算点</option>
|
||
<option value="${Flag_Type_Model}">模型预测点</option>
|
||
</select>
|
||
</div>
|
||
<label class="col-sm-2 control-label">信号源</label>
|
||
<div class="col-sm-4">
|
||
<select id="valuetype" name="valuetype" class="form-control select2" style="width: 270px;">
|
||
<option value="sql">数据库</option>
|
||
<option value="Modbus">Modbus</option>
|
||
<option value="OPC">OPC</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">单位</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="unit" name="unit" value="${mPoint.unit}">
|
||
</div>
|
||
<label class="col-sm-2 control-label">关联设备</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" id="equipmentname" name="equipmentname"
|
||
value="${equipmentCard.equipmentname}" onclick="selectEM('${company.id}')"
|
||
placeholder="单击选择" readonly/>
|
||
<input class="form-control" id="equipmentid" name="equipmentid" type="hidden"
|
||
value="${mPoint.equipmentid}"/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">报警状态</label>
|
||
<div class="col-sm-4">
|
||
<select id="triggeralarm" name="triggeralarm" class="form-control select2"
|
||
style="width: 270px;">
|
||
<option value="${Active_True}">开启</option>
|
||
<option value="${Active_False}">关闭</option>
|
||
</select>
|
||
</div>
|
||
<label class="col-sm-2 control-label">*启用状态</label>
|
||
<div class="col-sm-4">
|
||
<select id="active" name="active" class="form-control select2" style="width: 270px;">
|
||
<option value="${Flag_Enable}">启用</option>
|
||
<option value="${Flag_Disable}">禁用</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">网关编号</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="biztype" name="biztype"
|
||
value="${mPoint.biztype}">
|
||
</div>
|
||
<label class="col-sm-2 control-label">数值取反</label>
|
||
<div class="col-sm-4">
|
||
<select id="directtype" name="directtype" class="form-control select2"
|
||
style="width: 270px;">
|
||
<option value="1">是</option>
|
||
<option value="0">否</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label class="col-sm-2 control-label">点位解释</label>
|
||
<div class="col-sm-4">
|
||
<input class="form-control" type="text" id="explain" name="explain"
|
||
value="${mPointExpand.explain}">
|
||
<input type="hidden" id="expandId" name="expandId" value="${mPointExpand.id}" readonly>
|
||
</div>
|
||
</div>
|
||
|
||
</form>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
||
<button type="button" class="btn btn-primary" onclick="update()" id="btn_save">保存</button>
|
||
</div>
|
||
</div>
|
||
<!-- /.modal-content -->
|
||
</div>
|
||
<!-- /.modal-dialog -->
|
||
</div> |