ip部分页面修改为根据公共属性判断
This commit is contained in:
@@ -56,11 +56,11 @@ public class IpController extends CommonController{
|
|||||||
model.addAttribute("dropAction",Constants.DROP_ACTION);
|
model.addAttribute("dropAction",Constants.DROP_ACTION);
|
||||||
model.addAttribute("urlPrefix","/ntc/iplist");
|
model.addAttribute("urlPrefix","/ntc/iplist");
|
||||||
model.addAttribute("requiresPermissionPrefix","iplist");
|
model.addAttribute("requiresPermissionPrefix","iplist");
|
||||||
if(specialFunctionId!=null && "ipsec".equals(specialFunctionId)) {
|
// if(specialFunctionId!=null && "ipsec".equals(specialFunctionId)) {
|
||||||
return "/cfg/ipsec/ipForm";
|
// return "/cfg/ipsec/ipForm";
|
||||||
}else if(specialFunctionId!=null && "ipaddr".equals(specialFunctionId)) {
|
// }else if(specialFunctionId!=null && "ipaddr".equals(specialFunctionId)) {
|
||||||
return "/cfg/ipaddr/ipForm";
|
// return "/cfg/ipaddr/ipForm";
|
||||||
}
|
// }
|
||||||
return "/cfg/common/ipForm";
|
return "/cfg/common/ipForm";
|
||||||
}
|
}
|
||||||
@RequestMapping(value = {"saveOrUpdate"})
|
@RequestMapping(value = {"saveOrUpdate"})
|
||||||
|
|||||||
14
src/main/resources/sql/update_function_region_dict_data.sql
Normal file
14
src/main/resources/sql/update_function_region_dict_data.sql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#ip地址
|
||||||
|
UPDATE function_service_dict SET region_code=1 WHERE function_id=5 AND ACTION IN(16,1);
|
||||||
|
UPDATE function_service_dict SET region_code=2 WHERE function_id=5 AND ACTION IN(32,96);
|
||||||
|
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=27;
|
||||||
|
UPDATE function_region_dict SET config_service_type='ipaddr',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17,1' WHERE dict_id=35;
|
||||||
|
#ip限流
|
||||||
|
UPDATE function_service_dict SET region_code=1 WHERE function_id=302 AND ACTION IN(64);
|
||||||
|
UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=67;
|
||||||
|
#IP复用策略
|
||||||
|
UPDATE function_service_dict SET region_code=1 WHERE function_id=300 AND ACTION IN(96);
|
||||||
|
UPDATE function_region_dict SET config_service_type='ipmulitiplex',config_ip_port_show='1' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=68;
|
||||||
|
#IP拦截
|
||||||
|
UPDATE function_service_dict SET region_code=1 WHERE function_id=200 AND ACTION IN(1,128,64,80);
|
||||||
|
UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=53;
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
console.log("调用须知:调用本页面函数在common.js里,并且需要配置字典MAAT_SERVICE中的项")
|
//console.log("调用须知:调用本页面函数在common.js里,并且需要配置字典MAAT_SERVICE中的项")
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<div class="modal fade" id="import_modal" tabindex="-1" role="dialog" aria-labelledby="mo" aria-hidden="true">
|
<div class="modal fade" id="import_modal" tabindex="-1" role="dialog" aria-labelledby="mo" aria-hidden="true">
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ $(function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<div class="row">
|
<div class="row areaInfo">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="whether_area_block"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="whether_area_block"/></label>
|
||||||
|
|||||||
@@ -23,22 +23,6 @@
|
|||||||
<div for="ipType"></div>
|
<div for="ipType"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<c:if test="${specialProtocol!=null and specialProtocol eq 'ipsec'}">
|
|
||||||
<div class="col-md-6 ipsec">
|
|
||||||
<div class="form-group ">
|
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="protocol"/></label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select name="protocol" class="selectpicker show-tick form-control required">
|
|
||||||
<c:forEach items="${fns:getDictList('IPSEC_PROTOCOL')}" var="protocolC">
|
|
||||||
<option value="${protocolC.itemCode}" <c:if test="${_cfg.protocol==protocolC.itemCode || (_cfg.protocol==null && protocolC.itemCode==0)}">selected</c:if>><spring:message code="${protocolC.itemValue}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
<input type="hidden" name="protocolId" value="0">
|
|
||||||
</div>
|
|
||||||
<div for="protocol"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</c:if>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@@ -130,37 +114,20 @@
|
|||||||
<div class="row protocol">
|
<div class="row protocol">
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
<c:choose>
|
<div class="col-md-6">
|
||||||
<c:when test="${specialProtocol!=null and specialProtocol eq 'tunnel'}">
|
<div class="form-group ">
|
||||||
<c:forEach items="${fns:getDictList('TUNNEL_PROTOCOL')}" var="protocolC">
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="protocol"/></label>
|
||||||
<c:if test="${protocolC.itemValue eq 'default'}">
|
<div class="col-md-6">
|
||||||
<input type="hidden" name="protocol" value="${protocolC.itemCode}">
|
<select name="protocol" class="selectpicker show-tick form-control required">
|
||||||
<c:forEach items="${serviceList}" var="service">
|
<c:forEach items="${fns:getDictList('PROTOCOL')}" var="protocolC">
|
||||||
<c:if test="${_cfg.functionId eq service.functionId}">
|
<option value="${protocolC.itemCode}" <c:if test="${_cfg.protocol==protocolC.itemCode || (_cfg.protocol==null && protocolC.itemCode==0)}">selected</c:if>><spring:message code="${protocolC.itemValue}"/></option>
|
||||||
<input type="hidden" name="protocolId" value="${service.protocolId }">
|
</c:forEach>
|
||||||
</c:if>
|
</select>
|
||||||
</c:forEach>
|
<input type="hidden" name="protocolId" value="0">
|
||||||
</c:if>
|
</div>
|
||||||
</c:forEach>
|
<div for="protocol"></div>
|
||||||
</c:when>
|
</div>
|
||||||
<c:when test="${specialProtocol!=null and specialProtocol eq 'ipsec'}"></c:when>
|
</div>
|
||||||
<c:otherwise>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group ">
|
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="protocol"/></label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select name="protocol" class="selectpicker show-tick form-control required">
|
|
||||||
<c:forEach items="${fns:getDictList('PROTOCOL')}" var="protocolC">
|
|
||||||
<option value="${protocolC.itemCode}" <c:if test="${_cfg.protocol==protocolC.itemCode || (_cfg.protocol==null && protocolC.itemCode==0)}">selected</c:if>><spring:message code="${protocolC.itemValue}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
<input type="hidden" name="protocolId" value="0">
|
|
||||||
</div>
|
|
||||||
<div for="protocol"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="direction"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="direction"/></label>
|
||||||
|
|||||||
@@ -5,57 +5,29 @@
|
|||||||
<title><spring:message code="${cfgName}"></spring:message></title>
|
<title><spring:message code="${cfgName}"></spring:message></title>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
if($("input[name='action']:checked").val()==0x20||$("input[name='action']:checked").val()==0x60){
|
|
||||||
$("#cfgRegionCode").val($("#cfgRegionCodeCallback").val());
|
|
||||||
$("#cfgType").val($("#cfgTypeCallback").val());
|
|
||||||
}else{
|
|
||||||
$("#cfgRegionCode").val($("#cfgRegionCodeMaat").val());
|
|
||||||
$("#cfgType").val($("#cfgTypeMaat").val());
|
|
||||||
}
|
|
||||||
$("#cancel").on("click",function(){
|
|
||||||
window.history.back();
|
|
||||||
});
|
|
||||||
$(".action").on("change", function() {
|
|
||||||
$("#serviceId").val($(this).attr("serviceId"));
|
|
||||||
$("#protocolId").val($(this).attr("protocolId"));
|
|
||||||
if($(this).val()==0x20||$(this).val()==0x60){
|
|
||||||
$("#cfgRegionCode").val($("#cfgRegionCodeCallback").val());
|
|
||||||
$("#cfgType").val($("#cfgTypeCallback").val());
|
|
||||||
$("input[name='isAreaEffective']").each(function(){
|
|
||||||
if($(this).val()==0){
|
|
||||||
$(this).click();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}else{
|
|
||||||
$("#cfgRegionCode").val($("#cfgRegionCodeMaat").val());
|
|
||||||
$("#cfgType").val($("#cfgTypeMaat").val());
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
if('${fn:length(serviceList)}'>1){
|
if('${fn:length(serviceList)}'>1){
|
||||||
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
||||||
$("#protocolId").val($(".action:checked").attr("protocolId"));
|
$("#protocolId").val($(".action:checked").attr("protocolId"));
|
||||||
}
|
}
|
||||||
if($("select[name='userRegion1']")){
|
initCommIpVal();
|
||||||
$("select[name='userRegion1']").on("change",function(){
|
|
||||||
var code = $(this).val();
|
|
||||||
if(code.indexOf("30")==0){//以30开头的应答码需要输入URL地址
|
|
||||||
$("input[name='userRegion2']").addClass("url");
|
|
||||||
}else{
|
|
||||||
$("input[name='userRegion2']").removeClass("url");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
$("#ipCfgFrom").validate({
|
$("#ipCfgFrom").validate({
|
||||||
errorPlacement: function(error,element){
|
errorPlacement: function(error,element){
|
||||||
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
|
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
|
||||||
},
|
},
|
||||||
submitHandler: function(form){
|
submitHandler: function(form){
|
||||||
if($("#dnsStrategyId")&&$("#dnsStrategyId").val()){
|
|
||||||
$("#cfgRegionCode").val($("#cfgRegionCodeMaat").val());
|
|
||||||
$("#cfgType").val($("#cfgTypeMaat").val());
|
|
||||||
}
|
|
||||||
loading('<spring:message code="onloading"/>');
|
loading('<spring:message code="onloading"/>');
|
||||||
|
//禁用隐藏域的表单
|
||||||
|
var serviceType=$("input[name='cfgRegionCode']").attr("serviceType");
|
||||||
|
var action=$("input[name='action']").val();
|
||||||
|
if(serviceType.indexOf("ipmulitiplex")==-1){
|
||||||
|
$("[name='dnsStrategyId'").removeAttr("name");
|
||||||
|
$("[name='irType'").removeAttr("name");
|
||||||
|
}
|
||||||
|
if(serviceType.indexOf("ratelimit")==-1){
|
||||||
|
$("[name='ratelimit'").removeAttr("name");
|
||||||
|
}else if(64!=action){
|
||||||
|
$("[name='ratelimit'").removeAttr("name");
|
||||||
|
}
|
||||||
form.submit();
|
form.submit();
|
||||||
},
|
},
|
||||||
errorContainer: "#messageBox"
|
errorContainer: "#messageBox"
|
||||||
@@ -86,33 +58,32 @@ $(function(){
|
|||||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||||
<input type="hidden" id="cfgType" name="cfgType" value="${_cfg.cfgType}">
|
|
||||||
<input type="hidden" id="cfgRegionCode" name="cfgRegionCode" value="${_cfg.cfgRegionCode}">
|
|
||||||
<c:if test="${fn:length(serviceList)==1}">
|
<c:if test="${fn:length(serviceList)==1}">
|
||||||
<c:forEach items="${serviceList}" var="service">
|
<c:forEach items="${serviceList}" var="service">
|
||||||
<input type="hidden" name="action" value="${service.action }">
|
<input type="hidden" name="action" serviceId="${service.serviceId }" protocolId="${service.protocolId }" regionCode="${service.regionCode}" value="${service.action }">
|
||||||
<input type="hidden" id="serviceId" name="serviceId" value="${service.serviceId}">
|
<input type="hidden" id="protocolId" name="protocolId" value="${service.protocolId}">
|
||||||
<input type="hidden" id="protocolId" name="protocolId" value="${service.protocolId}">
|
<input type="hidden" id="serviceId" name="serviceId" value="${service.serviceId}">
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${fn:length(serviceList)>1}">
|
<c:if test="${fn:length(serviceList)>1}">
|
||||||
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
<input type="hidden" id="protocolId" name="protocolId" value="${_cfg.protocolId}">
|
||||||
<input type="hidden" id="protocolId" name="protocolId" value="${_cfg.protocolId}">
|
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
||||||
</c:if>
|
</c:if>
|
||||||
<!-- 配置域类型 -->
|
<!-- 配置域类型 -->
|
||||||
<c:forEach items="${regionList}" var="region">
|
<c:forEach items="${regionList}" var="region">
|
||||||
<c:if test="${_cfg.functionId eq region.functionId}">
|
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
|
||||||
<c:if test="${region.isMaat==1}"><!-- is maat -->
|
<input type="hidden" id="cfgType${region.configRegionCode}" value="${region.configRegionValue}">
|
||||||
<input type="hidden" id="cfgTypeMaat" value="${region.configRegionValue}">
|
<input type="hidden" id="cfgRegionCode${region.configRegionCode}" isMaat="${region.isMaat}"
|
||||||
<input type="hidden" id="cfgRegionCodeMaat" value="${region.configRegionCode}">
|
serviceType="${region.configServiceType}"
|
||||||
</c:if>
|
ipPortShow="${region.configIpPortShow}"
|
||||||
<c:if test="${region.isMaat==2}">
|
ipType="${region.configIpType}"
|
||||||
<input type="hidden" id="cfgTypeCallback" value="${region.configRegionValue}">
|
ipPattern="${region.configIpPattern}"
|
||||||
<input type="hidden" id="cfgRegionCodeCallback" value="${region.configRegionCode}">
|
portPattern="${region.configPortPattern}"
|
||||||
</c:if>
|
direction="${region.configDirection}"
|
||||||
</c:if>
|
protocol="${region.configProtocol}"
|
||||||
</c:forEach>
|
value="${region.configRegionCode}">
|
||||||
<div class="form-body">
|
</c:forEach>
|
||||||
|
<div class="form-body">
|
||||||
<!-- desc and action -->
|
<!-- desc and action -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@@ -135,6 +106,7 @@ $(function(){
|
|||||||
<input type="radio" name="action"
|
<input type="radio" name="action"
|
||||||
serviceId="${service.serviceId }"
|
serviceId="${service.serviceId }"
|
||||||
protocolId="${service.protocolId }"
|
protocolId="${service.protocolId }"
|
||||||
|
regionCode="${service.regionCode }"
|
||||||
value="${service.action }" class="required action"
|
value="${service.action }" class="required action"
|
||||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||||
@@ -151,18 +123,14 @@ $(function(){
|
|||||||
</div>
|
</div>
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
<!-- desc and action -->
|
<!-- desc and action -->
|
||||||
<c:forEach items="${fns:getDictList('SPECIAL_FUNCTION_ID')}" var="sfi">
|
<c:forEach items="${fns:getDictList('SPECIAL_FUNCTION_ID')}" var="sfi">
|
||||||
<c:if test="${sfi.itemCode==_cfg.functionId}">
|
<c:if test="${sfi.itemCode==_cfg.functionId}">
|
||||||
<c:set var="specialProtocol" value="${sfi.itemValue}"/>
|
<c:set var="specialProtocol" value="${sfi.itemValue}"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${specialProtocol ne 'ipmulitiplex'}">
|
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
|
||||||
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
|
<div class="row ipmulitiplex hidden">
|
||||||
</c:if>
|
|
||||||
<c:if test="${specialProtocol ne null and specialProtocol eq 'ipmulitiplex'}">
|
|
||||||
<%@include file="/WEB-INF/include/form/complexIpInfo.jsp" %>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group"/></label>
|
||||||
@@ -192,57 +160,19 @@ $(function(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
<div class="row ratelimit hidden">
|
||||||
<c:if test="${specialProtocol ne null and specialProtocol eq 'ipratelimit'}">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ratelimit"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ratelimit"/></label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<input class="form-control required number" range="[0,100]" type="text" name="ratelimit">
|
<input class="form-control required number" range="[0,100]" type="text" name="ratelimit" value="${_cfg.ratelimit}">
|
||||||
</div>
|
</div>
|
||||||
<div for="ratelimit"></div>
|
<div for="ratelimit"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
|
||||||
<c:if test="${specialProtocol!=null and specialProtocol eq 'pxyIpControl'}">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group ">
|
|
||||||
<label class="control-label col-md-3"><font color="red">*</font>
|
|
||||||
<spring:message code="REDIRECT_RESPONSE_CODE" /></label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<select name="userRegion1"
|
|
||||||
class="selectpicker select2 form-control required">
|
|
||||||
<c:forEach items="${fns:getDictList('REDIRECT_RESPONSE_CODE')}" var="responseCode">
|
|
||||||
<option value="${responseCode.itemValue}" <c:if test="${_cfg.userRegion1==responseCode.itemValue}">selected</c:if>><spring:message code="${responseCode.itemCode}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div for="userRegion1"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="control-label col-md-3"><spring:message
|
|
||||||
code="redirect_content" /></label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<input class="form-control" type="text" name="userRegion2"
|
|
||||||
value="${_cfg.userRegion2}">
|
|
||||||
</div>
|
|
||||||
<div for="userRegion2"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</c:if>
|
|
||||||
<c:if test="${specialProtocol ne 'ipmulitiplex'}">
|
|
||||||
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
|
|
||||||
</c:if>
|
|
||||||
<c:if test="${specialProtocol eq 'ipmulitiplex'}">
|
|
||||||
<input type="hidden" name="isAreaEffective" value="0" >
|
|
||||||
</c:if>
|
|
||||||
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
|
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
|
|||||||
@@ -362,7 +362,180 @@ $(function(){
|
|||||||
$(".action").on("change", function() {
|
$(".action").on("change", function() {
|
||||||
$("#serviceId").val($(this).attr("serviceId"));
|
$("#serviceId").val($(this).attr("serviceId"));
|
||||||
$("#protocolId").val($(this).attr("protocolId"));
|
$("#protocolId").val($(this).attr("protocolId"));
|
||||||
});
|
|
||||||
|
var regionCode=$(this).attr("regionCode");
|
||||||
|
if(!regionCode){
|
||||||
|
regionCode=$("input[name='action']").attr("regionCode");
|
||||||
|
}
|
||||||
|
$("[id='cfgRegionCode']").each(function(){
|
||||||
|
if($(this).attr("id")==("cfgRegionCode"+regionCode)){
|
||||||
|
$(this).attr("name","cfgRegionCode");
|
||||||
|
}else{
|
||||||
|
$(this).removeAttr("name");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("[id='cfgType']").each(function(){
|
||||||
|
if($(this).attr("id")==("cfgType"+regionCode)){
|
||||||
|
$(this).attr("name","cfgType");
|
||||||
|
}else{
|
||||||
|
$(this).removeAttr("name");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var ipPortShow=$("input[name='cfgRegionCode']").attr("ipPortShow"),
|
||||||
|
ipType=$("input[name='cfgRegionCode']").attr("ipType"),
|
||||||
|
ipPattern=$("input[name='cfgRegionCode']").attr("ipPattern"),
|
||||||
|
portPattern=$("input[name='cfgRegionCode']").attr("portPattern"),
|
||||||
|
direction=$("input[name='cfgRegionCode']").attr("direction"),
|
||||||
|
protocol=$("input[name='cfgRegionCode']").attr("protocol");
|
||||||
|
//ip,端口处理
|
||||||
|
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
|
||||||
|
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden");
|
||||||
|
$("input[name='srcPort']").parents(".form-group").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden");
|
||||||
|
$("input[name='srcPort']").parents(".form-group").addClass("hidden");
|
||||||
|
}
|
||||||
|
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
|
||||||
|
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden");
|
||||||
|
$("input[name='destPort']").parents(".form-group").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden");
|
||||||
|
$("input[name='destPort']").parents(".form-group").addClass("hidden");
|
||||||
|
}
|
||||||
|
var arr=ipType.split(',');
|
||||||
|
$("select[name='ipType'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=ipPattern.split(',');
|
||||||
|
$("select[name='ipPattern'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=portPattern.split(',');
|
||||||
|
$("select[name='portPattern'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=direction.split(',');
|
||||||
|
$("select[name='direction'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=protocol.split(',');
|
||||||
|
$("select[name='protocol'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//处理自定义字段
|
||||||
|
var serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
|
||||||
|
/*if(serviceType.indexOf("ipaddr")>-1){
|
||||||
|
if($(this).val()==32){
|
||||||
|
if($("[name='protocol']").find("option[value='1']").length==0){
|
||||||
|
$("[name='protocol']").append('<option class="icmp" value="1" <c:if test="${_cfg.protocol==1}">selected</c:if>><spring:message code="ICMP"/></option>');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if($("[name='protocol'] option[value='1']")){
|
||||||
|
if($("[name='protocol'] option[value='1']").is(":selected")){
|
||||||
|
$("[name='protocol'] option[value='1']").removeAttr("selected");
|
||||||
|
$("[name='protocol']").val(0);
|
||||||
|
}
|
||||||
|
$("[name='protocol'] option[value='1']").remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
$("[name='protocol']").selectpicker("render");
|
||||||
|
$("[name='protocol']").selectpicker("refresh");
|
||||||
|
|
||||||
|
}*/
|
||||||
|
if(serviceType.indexOf("ipaddr")>-1){
|
||||||
|
if($(this).val()==32){
|
||||||
|
$("select[name='protocol'] option").each(function(){
|
||||||
|
if($(this).attr("value")==32){
|
||||||
|
$(this).removeAttr("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(serviceType.indexOf("ipmulitiplex")>-1){
|
||||||
|
$(".ipmulitiplex").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$(".ipmulitiplex").addClass("hidden");
|
||||||
|
}
|
||||||
|
if(serviceType.indexOf("ratelimit")>-1){
|
||||||
|
if($(this).val()==64){
|
||||||
|
$(".ratelimit").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$(".ratelimit").addClass("hidden");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(".ratelimit").addClass("hidden");
|
||||||
|
}
|
||||||
|
if($(this).val()==0x20||$(this).val()==0x60){
|
||||||
|
$("input[name='isAreaEffective']").each(function(){
|
||||||
|
if($(this).val()==0){
|
||||||
|
$(this).click();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
//选择hex cfgkeywords需校验十六进制
|
//选择hex cfgkeywords需校验十六进制
|
||||||
$("select[name$='isHexbin']").each(function(){
|
$("select[name$='isHexbin']").each(function(){
|
||||||
$(this).on("change",function(){
|
$(this).on("change",function(){
|
||||||
@@ -1187,4 +1360,156 @@ var validateInvisibleCharTag=function(){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
var initCommIpVal=function(){
|
||||||
|
var regionCode,serviceType;
|
||||||
|
if($("input[name='action']:checked").length>0){
|
||||||
|
regionCode=$("input[name='action']:checked").attr("regionCode");
|
||||||
|
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
|
||||||
|
if(serviceType.indexOf("ipaddr")>-1&&$("input[name='action']:checked").val()==32){
|
||||||
|
$("[name='protocol']").append('<option class="icmp" value="1" <c:if test="${_cfg.protocol==1}">selected</c:if>><spring:message code="ICMP"/></option>');
|
||||||
|
$("[name='protocol']").selectpicker("render");
|
||||||
|
$("[name='protocol']").selectpicker("refresh");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
regionCode=$("input[name='action']").attr("regionCode");
|
||||||
|
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType");
|
||||||
|
if(serviceType.indexOf("ipaddr")>-1&&$("input[name='action']").val()==32){
|
||||||
|
$("[name='protocol']").append('<option class="icmp" value="1" <c:if test="${_cfg.protocol==1}">selected</c:if>><spring:message code="ICMP"/></option>');
|
||||||
|
$("[name='protocol']").selectpicker("render");
|
||||||
|
$("[name='protocol']").selectpicker("refresh");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(serviceType.indexOf("ipmulitiplex")>-1){
|
||||||
|
$(".ipmulitiplex").removeClass("hidden");
|
||||||
|
$("input[name='isAreaEffective']").each(function(){
|
||||||
|
if($(this).val()==0){
|
||||||
|
$(this).click();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$(".areaInfo").addClass("hidden");
|
||||||
|
}else{
|
||||||
|
$(".areaInfo").removeClass("hidden");
|
||||||
|
$(".ipmulitiplex").addClass("hidden");
|
||||||
|
}
|
||||||
|
if(serviceType.indexOf("ratelimit")>-1){
|
||||||
|
if($("input[name='action']").val()==64||$("input[name='action']:checked").val()==64){
|
||||||
|
$(".ratelimit").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$(".ratelimit").addClass("hidden");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(".ratelimit").addClass("hidden");
|
||||||
|
}
|
||||||
|
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
|
||||||
|
$("#cfgType"+regionCode).attr("name","cfgType");
|
||||||
|
$("div[class^='region']").each(function(){
|
||||||
|
if(!$(this).hasClass("region"+regionCode)){
|
||||||
|
$(this).addClass("hidden");
|
||||||
|
$(this).find("input").removeAttr("name");
|
||||||
|
$(this).find("select").removeAttr("name");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
var ipPortShow=$("input[name='cfgRegionCode']").attr("ipPortShow"),
|
||||||
|
ipType=$("input[name='cfgRegionCode']").attr("ipType"),
|
||||||
|
ipPattern=$("input[name='cfgRegionCode']").attr("ipPattern"),
|
||||||
|
portPattern=$("input[name='cfgRegionCode']").attr("portPattern"),
|
||||||
|
direction=$("input[name='cfgRegionCode']").attr("direction"),
|
||||||
|
protocol=$("input[name='cfgRegionCode']").attr("protocol");
|
||||||
|
//ip,端口处理
|
||||||
|
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
|
||||||
|
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden");
|
||||||
|
$("input[name='srcPort']").parents(".form-group").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden");
|
||||||
|
$("input[name='srcPort']").parents(".form-group").addClass("hidden");
|
||||||
|
}
|
||||||
|
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
|
||||||
|
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden");
|
||||||
|
$("input[name='destPort']").parents(".form-group").removeClass("hidden");
|
||||||
|
}else{
|
||||||
|
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden");
|
||||||
|
$("input[name='destPort']").parents(".form-group").addClass("hidden");
|
||||||
|
}
|
||||||
|
var arr=ipType.split(',');
|
||||||
|
$("select[name='ipType'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=ipPattern.split(',');
|
||||||
|
$("select[name='ipPattern'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=portPattern.split(',');
|
||||||
|
$("select[name='portPattern'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=direction.split(',');
|
||||||
|
$("select[name='direction'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
arr=protocol.split(',');
|
||||||
|
$("select[name='protocol'] option").each(function(){
|
||||||
|
var has=false;
|
||||||
|
for(var type in arr){
|
||||||
|
if($(this).val()==arr[type]){
|
||||||
|
has=true;
|
||||||
|
if($(this).attr("disabled")){
|
||||||
|
$(this).removeAttr("disabled")
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!has){
|
||||||
|
$(this).attr("disabled",true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return regionCode;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user