This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/webapp/WEB-INF/views/specific/specificServiceHostCfgForm.jsp

473 lines
19 KiB
Plaintext
Raw Normal View History

2018-03-17 17:09:19 +08:00
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<link rel="stylesheet" type="text/css"
href="${ctxStatic}/pages/css/dictInfo.css" />
<script type="text/javascript" src="${ctxStatic}/pages/scripts/dict.js"></script>
<title></title>
<script type="text/javascript">
function sjfdsj(){
$("label[for='specServiceId']").hide();
}
$(document).ready(function() {
$("[data-toogle='tooltip']").tooltip();
$("select[name='ipType']").on("change",function(){
var type=$(this).val();
if(4==type){
$("input[name='srcIpMask']").attr("placeholder","任意ip掩码请填 0.0.0.0");
$("input[name='dstIpMask']").attr("placeholder","任意ip掩码请填 0.0.0.0");
//$("input[name='srcIp']").attr("placeholder","任意ip请填 0.0.0.0");
//$("input[name='dstIp']").attr("placeholder","任意ip请填 0.0.0.0");
$("input[name='srcIpMask']").attr("title","任意掩码请填 0.0.0.0");
$("input[name='dstIpMask']").attr("title","任意掩码请填 0.0.0.0");
//$("input[name='srcIp']").attr("title","任意ip请填 0.0.0.0");
//$("input[name='dstIp']").attr("title","任意ip请填 0.0.0.0");
}
if(6==type){
$("input[name='srcIpMask']").attr("placeholder","任意ip掩码请填 ::");
$("input[name='dstIpMask']").attr("placeholder","任意ip掩码请填 ::");
//$("input[name='srcIp']").attr("placeholder","任意ip请填 0.0.0.0");
//$("input[name='dstIp']").attr("placeholder","任意ip请填 0.0.0.0");
$("input[name='srcIpMask']").attr("title","任意ip掩码请填 ::");
$("input[name='dstIpMask']").attr("title","任意ip掩码请填 ::");
//$("input[name='srcIp']").attr("title","任意ip请填 0.0.0.0");
//$("input[name='dstIp']").attr("title","任意ip请填 0.0.0.0");
}
});
//specServiceId校验
jQuery.validator.addMethod("specServiceIdSelected",function(value, element) {
var selectedValue=$(".filter-option").text();
if(selectedValue=="--请选择协议名称--"){
return false;
}else{
return true;
}
}, "请选择协议名称");
2018-03-17 17:09:19 +08:00
//ip地址校验
jQuery.validator.addMethod("ip",function(value, element) {
if(value.length==0||value.trim().length==0){return true;}
var typeInt=$("select[name='ipType']").val();
if(typeInt==4){
return this.optional(element)||(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));
}else if(typeInt==6){
return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/.test(value);
}}, "请填写正确的IP地址");
//ip地址掩码校验
jQuery.validator.addMethod("ipMask",function(value, element) {
if(value.length==0||value.trim().length==0){return true;}
obj=value;
var typeInt=$("select[name='ipType']").val();
if(typeInt==4){
if(obj=="255.255.255.255"){
return true;
}else{
var exp=/^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/;
var reg = obj.match(exp);
if(reg==null){return false;}else{return true}
}
}else if(typeInt==6){
if(obj=="FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"||obj==0||obj=="::"){
return true;
}else{return (obj > 0) && ((obj & (obj - 1)) == 0)};
}
}, "请填写正确的IP地址掩码");
//掩码校验超过两位不得以0开头
jQuery.validator.addMethod("notStartZero",function(value, element) {
if(value.length>1){
var str = value.substr(0,1);
if(str == '0'){
return false;
}
}
return true;
}, "请填写正确的数值");
2018-03-17 17:09:19 +08:00
$("#name").focus();
$("#inputForm")
.validate(
{
rules : {
specServiceId:{
specServiceIdSelected:true
},
protocol:{
required:true
},
ipType:{
required:true
2018-03-17 17:09:19 +08:00
},
srcIp:{
2018-03-17 17:09:19 +08:00
ip:true
},
dstIp:{
2018-03-17 17:09:19 +08:00
ip:true
},
srcIpMask:{
ipMask:true
2018-03-17 17:09:19 +08:00
},
dstIpMask:{
ipMask:true
2018-03-17 17:09:19 +08:00
},
srcPort:{
2018-03-17 17:09:19 +08:00
required:true,
digits:true,
notStartZero:true,
2018-03-17 17:09:19 +08:00
max: 65535,
min: 0
},
dstPort:{
2018-03-17 17:09:19 +08:00
required:true,
digits:true,
notStartZero:true,
2018-03-17 17:09:19 +08:00
max: 65535,
min: 0
},
srcPortMask:{
2018-03-17 17:09:19 +08:00
digits:true,
notStartZero:true,
2018-03-17 17:09:19 +08:00
max: 65535,
min: 0
},
dstPortMask:{
2018-03-17 17:09:19 +08:00
digits:true,
notStartZero:true,
2018-03-17 17:09:19 +08:00
max: 65535,
min: 0
}
},
messages : {
specServiceId:{
specServiceIdSelected:'<spring:message code="required"/>'
},
protocol:{
required:'<spring:message code="required"/>'
},
ipType:{
required:'<spring:message code="required"/>'
2018-03-17 17:09:19 +08:00
},
srcIp:{
2018-03-17 17:09:19 +08:00
ip:'请填写正确的ip'
},
dstIp:{
2018-03-17 17:09:19 +08:00
ip:'请填写正确的ip'
},
srcIpMask:{
ipMask:'请填写正确的ip掩码'
2018-03-17 17:09:19 +08:00
},
dstIpMask:{
ipMask:'请填写正确的ip掩码'
2018-03-17 17:09:19 +08:00
},
srcPort:{
2018-03-17 17:09:19 +08:00
required:'<spring:message code="required"/>',
digits:'请填写整数',
notStartZero:'请填写正确的数值',
2018-03-17 17:09:19 +08:00
max: '数值不得大于65535',
min: '数值不得小于0'
},
dstPort:{
2018-03-17 17:09:19 +08:00
required:'<spring:message code="required"/>',
digits:'请填写整数',
notStartZero:'请填写正确的数值',
2018-03-17 17:09:19 +08:00
max: '数值不得大于65535',
min: '数值不得小于0'
},
srcPortMask:{
2018-03-17 17:09:19 +08:00
digits:'请填写整数',
notStartZero:'请填写正确的数值',
2018-03-17 17:09:19 +08:00
max: '数值不得大于65535',
min: '数值不得小于0'
},
dstPortMask:{
2018-03-17 17:09:19 +08:00
digits:'请填写整数',
notStartZero:'请填写正确的数值',
2018-03-17 17:09:19 +08:00
max: '数值不得大于65535',
min: '数值不得小于0'
}
},
submitHandler : function(form) {
if (!validateItem()) {
return false;
}
loading('正在提交,请稍等...');
form.submit();
},
errorContainer : "#messageBox",
errorPlacement : function(error, element) {
$("#messageBox").text("输入有误,请先更正。");
if (element.is(":checkbox")
|| element.is(":radio")
|| element.parent().is(
".input-append")) {
error.appendTo(element.parent()
.parent());
} else {
error.insertAfter(element);
}
}
});
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
<button type="button" class="btn btn-default"
onclick="history.go(-1)">
<spring:message code="back" />
</button>
</div>
<h3 class="page-title">
<spring:message code="agreement_ip_configuration" />
2018-03-17 17:09:19 +08:00
</h3>
<div class="row">
<div class="col-md-12">
<div class="portlet box blue">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-gift"></i>
<shiro:hasPermission name="sys:menu:edit">${not empty specificServiceHostCfg.hostId?'修改':'添加'}</shiro:hasPermission>
<shiro:lacksPermission name="sys:menu:edit">
<spring:message code="show" />
</shiro:lacksPermission>
</div>
<div class="tools"></div>
</div>
<div class="portlet-body form">
<div class="form-body">
<!-- BEGIN FORM-->
<form:form id="inputForm" modelAttribute="specificServiceHostCfg" action="${ctx}/specific/specificServiceHostCfg/saveOrUpdate" method="post" class="form-horizontal" >
<form:hidden path="hostId" class="form-control" />
<sys:message content="${message}" />
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>协议名称:</label>
<c:set var="spec_service_id">--请选择协议名称--</c:set>
<form:select path="specServiceId" class="selectpicker select2 col-md-6" title="${spec_service_id}" data-live-search="true" data-live-search-placeholder="search" onchange="sjfdsj()">
<c:forEach items="${listSpecService}" var="specService" >
<form:option value="${specService.specServiceId}">${specService.specServiceName}</form:option>
</c:forEach>
</form:select>
<!-- <label class="col-md-3 control-label dfdf" > </label>
<div class="col-md-6 dfdf">
<label class="error">不能为空!</label>
</div> -->
2018-03-17 17:09:19 +08:00
</div>
2018-03-17 17:09:19 +08:00
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">方向:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:select path="direction" class="select2 form-control" >
<form:option value="">-请选择方向-</form:option>
2018-03-17 17:09:19 +08:00
<c:forEach items="${fns:getDictList('SPEC_DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>协议:</label>
<div class="col-md-6">
<form:select path="protocol" class="select2 form-control" >
<form:option value="">-请选择协议-</form:option>
2018-03-17 17:09:19 +08:00
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>ip类型:</label>
<div class="col-md-6">
<form:select path="ipType" class="select2 form-control" >
<form:option value="">-请选择ip类型-</form:option>
<c:forEach items="${fns:getDictList('SPEC_IP_TYPE')}" var="dict">
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
</c:forEach>
</form:select>
</div>
<div class="col-md-6" style="display:none;">
<input name="isAudit" value="1"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">源IP地址:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="srcIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填 0.0.0.0" placeholder="任意ip请填 0.0.0.0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">目的IP地址:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="dstIp" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip请填 0.0.0.0" placeholder="任意ip请填 0.0.0.0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">源地址掩码:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="srcIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" title="任意ip掩码请填 0.0.0.0" data-placement="top" placeholder="任意ip掩码请填 0.0.0.0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">目的地址掩码:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="dstIpMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意ip掩码请填 0.0.0.0" placeholder="任意ip掩码请填 0.0.0.0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>源端口:</label>
<div class="col-md-6">
<form:input path="srcPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>目的端口:</label>
<div class="col-md-6">
<form:input path="dstPort" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意端口请填0" placeholder="任意端口请填0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">源端口掩码:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="srcPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0" placeholder="任意掩码请填0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label">目的端口掩码:</label>
2018-03-17 17:09:19 +08:00
<div class="col-md-6">
<form:input path="dstPortMask" htmlEscape="false" maxlength="50" class="form-control" data-toggle="tooltip" data-placement="top" title="任意掩码请填0" placeholder="任意掩码请填0"/>
2018-03-17 17:09:19 +08:00
</div>
</div>
</div>
</div>
<%-- <div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>创建人员:</label>
<div class="col-md-6">
<form:input path="creator.id" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>配置时间:</label>
<div class="col-md-6">
<form:input path="createTime" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>修改人员:</label>
<div class="col-md-6">
<form:input path="editor.id" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>修改时间:</label>
<div class="col-md-6">
<form:input path="editTime" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>审核人员:</label>
<div class="col-md-6">
<form:input path="auditor.id" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font>审核时间:</label>
<div class="col-md-6">
<form:input path="auditTime" htmlEscape="false" maxlength="50" class="form-control" />
</div>
</div>
</div>
</div> --%>
<div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<shiro:hasPermission name="specific:serviceIp:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit" /></button></shiro:hasPermission>
2018-03-17 17:09:19 +08:00
<button type="button" class="btn btn-circle grey-salsa btn-outline" onclick="history.go(-1)"> <spring:message code="cancel" /></button>
</div>
</div>
</div>
</form:form>
<!-- END FORM-->
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>