Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/work/mPointEdit.jsp
2026-01-16 14:13:44 +08:00

528 lines
24 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@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">&times;</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>