ip部分页面修改为根据公共属性判断
This commit is contained in:
@@ -56,11 +56,11 @@ public class IpController extends CommonController{
|
||||
model.addAttribute("dropAction",Constants.DROP_ACTION);
|
||||
model.addAttribute("urlPrefix","/ntc/iplist");
|
||||
model.addAttribute("requiresPermissionPrefix","iplist");
|
||||
if(specialFunctionId!=null && "ipsec".equals(specialFunctionId)) {
|
||||
return "/cfg/ipsec/ipForm";
|
||||
}else if(specialFunctionId!=null && "ipaddr".equals(specialFunctionId)) {
|
||||
return "/cfg/ipaddr/ipForm";
|
||||
}
|
||||
// if(specialFunctionId!=null && "ipsec".equals(specialFunctionId)) {
|
||||
// return "/cfg/ipsec/ipForm";
|
||||
// }else if(specialFunctionId!=null && "ipaddr".equals(specialFunctionId)) {
|
||||
// return "/cfg/ipaddr/ipForm";
|
||||
// }
|
||||
return "/cfg/common/ipForm";
|
||||
}
|
||||
@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"%>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
console.log("调用须知:调用本页面函数在common.js里,并且需要配置字典MAAT_SERVICE中的项")
|
||||
//console.log("调用须知:调用本页面函数在common.js里,并且需要配置字典MAAT_SERVICE中的项")
|
||||
});
|
||||
</script>
|
||||
<div class="modal fade" id="import_modal" tabindex="-1" role="dialog" aria-labelledby="mo" aria-hidden="true">
|
||||
|
||||
@@ -6,7 +6,7 @@ $(function(){
|
||||
});
|
||||
|
||||
</script>
|
||||
<div class="row">
|
||||
<div class="row areaInfo">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<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>
|
||||
</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 class="row">
|
||||
<div class="col-md-6">
|
||||
@@ -130,37 +114,20 @@
|
||||
<div class="row protocol">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${specialProtocol!=null and specialProtocol eq 'tunnel'}">
|
||||
<c:forEach items="${fns:getDictList('TUNNEL_PROTOCOL')}" var="protocolC">
|
||||
<c:if test="${protocolC.itemValue eq 'default'}">
|
||||
<input type="hidden" name="protocol" value="${protocolC.itemCode}">
|
||||
<c:forEach items="${serviceList}" var="service">
|
||||
<c:if test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="hidden" name="protocolId" value="${service.protocolId }">
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:when test="${specialProtocol!=null and specialProtocol eq 'ipsec'}"></c:when>
|
||||
<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="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>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<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>
|
||||
<script type="text/javascript">
|
||||
$(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){
|
||||
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
||||
$("#protocolId").val($(".action:checked").attr("protocolId"));
|
||||
}
|
||||
if($("select[name='userRegion1']")){
|
||||
$("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");
|
||||
}
|
||||
});
|
||||
}
|
||||
initCommIpVal();
|
||||
$("#ipCfgFrom").validate({
|
||||
errorPlacement: function(error,element){
|
||||
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
|
||||
},
|
||||
submitHandler: function(form){
|
||||
if($("#dnsStrategyId")&&$("#dnsStrategyId").val()){
|
||||
$("#cfgRegionCode").val($("#cfgRegionCodeMaat").val());
|
||||
$("#cfgType").val($("#cfgTypeMaat").val());
|
||||
}
|
||||
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();
|
||||
},
|
||||
errorContainer: "#messageBox"
|
||||
@@ -86,33 +58,32 @@ $(function(){
|
||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<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:forEach items="${serviceList}" var="service">
|
||||
<input type="hidden" name="action" value="${service.action }">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${service.serviceId}">
|
||||
<input type="hidden" id="protocolId" name="protocolId" value="${service.protocolId}">
|
||||
</c:forEach>
|
||||
<c:forEach items="${serviceList}" var="service">
|
||||
<input type="hidden" name="action" serviceId="${service.serviceId }" protocolId="${service.protocolId }" regionCode="${service.regionCode}" value="${service.action }">
|
||||
<input type="hidden" id="protocolId" name="protocolId" value="${service.protocolId}">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${service.serviceId}">
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<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:forEach items="${regionList}" var="region">
|
||||
<c:if test="${_cfg.functionId eq region.functionId}">
|
||||
<c:if test="${region.isMaat==1}"><!-- is maat -->
|
||||
<input type="hidden" id="cfgTypeMaat" value="${region.configRegionValue}">
|
||||
<input type="hidden" id="cfgRegionCodeMaat" value="${region.configRegionCode}">
|
||||
</c:if>
|
||||
<c:if test="${region.isMaat==2}">
|
||||
<input type="hidden" id="cfgTypeCallback" value="${region.configRegionValue}">
|
||||
<input type="hidden" id="cfgRegionCodeCallback" value="${region.configRegionCode}">
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<div class="form-body">
|
||||
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
|
||||
<input type="hidden" id="cfgType${region.configRegionCode}" value="${region.configRegionValue}">
|
||||
<input type="hidden" id="cfgRegionCode${region.configRegionCode}" isMaat="${region.isMaat}"
|
||||
serviceType="${region.configServiceType}"
|
||||
ipPortShow="${region.configIpPortShow}"
|
||||
ipType="${region.configIpType}"
|
||||
ipPattern="${region.configIpPattern}"
|
||||
portPattern="${region.configPortPattern}"
|
||||
direction="${region.configDirection}"
|
||||
protocol="${region.configProtocol}"
|
||||
value="${region.configRegionCode}">
|
||||
</c:forEach>
|
||||
<div class="form-body">
|
||||
<!-- desc and action -->
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@@ -135,6 +106,7 @@ $(function(){
|
||||
<input type="radio" name="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode }"
|
||||
value="${service.action }" class="required action"
|
||||
<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">
|
||||
@@ -151,18 +123,14 @@ $(function(){
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<!-- desc and action -->
|
||||
<c:forEach items="${fns:getDictList('SPECIAL_FUNCTION_ID')}" var="sfi">
|
||||
<c:if test="${sfi.itemCode==_cfg.functionId}">
|
||||
<c:set var="specialProtocol" value="${sfi.itemValue}"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${specialProtocol ne 'ipmulitiplex'}">
|
||||
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
|
||||
</c:if>
|
||||
<c:if test="${specialProtocol ne null and specialProtocol eq 'ipmulitiplex'}">
|
||||
<%@include file="/WEB-INF/include/form/complexIpInfo.jsp" %>
|
||||
<div class="row">
|
||||
<!-- desc and action -->
|
||||
<c:forEach items="${fns:getDictList('SPECIAL_FUNCTION_ID')}" var="sfi">
|
||||
<c:if test="${sfi.itemCode==_cfg.functionId}">
|
||||
<c:set var="specialProtocol" value="${sfi.itemValue}"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
|
||||
<div class="row ipmulitiplex hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group"/></label>
|
||||
@@ -192,57 +160,19 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${specialProtocol ne null and specialProtocol eq 'ipratelimit'}">
|
||||
<div class="row">
|
||||
<div class="row ratelimit hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ratelimit"/></label>
|
||||
<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 for="ratelimit"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<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/areaInfo.jsp" %>
|
||||
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
|
||||
@@ -362,7 +362,180 @@ $(function(){
|
||||
$(".action").on("change", function() {
|
||||
$("#serviceId").val($(this).attr("serviceId"));
|
||||
$("#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需校验十六进制
|
||||
$("select[name$='isHexbin']").each(function(){
|
||||
$(this).on("change",function(){
|
||||
@@ -1187,4 +1360,156 @@ var validateInvisibleCharTag=function(){
|
||||
return false;
|
||||
}
|
||||
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