(1)修改function_service_dict region_code字段为varchar,支持多个code

(2)http,ssl,邮件IP调整
This commit is contained in:
wangxin
2018-08-21 02:25:03 +08:00
parent 23f2910e7c
commit 557be23566
14 changed files with 169 additions and 105 deletions

View File

@@ -16,12 +16,12 @@ public class FunctionServiceDict extends BaseCfg<FunctionServiceDict> {
private String serviceName; private String serviceName;
private String serviceDesc; private String serviceDesc;
private String actionCode; private String actionCode;
private Integer regionCode; private String regionCode;
public Integer getRegionCode() { public String getRegionCode() {
return regionCode; return regionCode;
} }
public void setRegionCode(Integer regionCode) { public void setRegionCode(String regionCode) {
this.regionCode = regionCode; this.regionCode = regionCode;
} }
public Integer getDictId() { public Integer getDictId() {

View File

@@ -11,7 +11,7 @@
<result column="service_name" property="serviceName" jdbcType="VARCHAR" /> <result column="service_name" property="serviceName" jdbcType="VARCHAR" />
<result column="service_desc" property="serviceDesc" jdbcType="VARCHAR" /> <result column="service_desc" property="serviceDesc" jdbcType="VARCHAR" />
<result column="is_valid" property="isValid" jdbcType="INTEGER" /> <result column="is_valid" property="isValid" jdbcType="INTEGER" />
<result column="region_code" property="regionCode" jdbcType="INTEGER" /> <result column="region_code" property="regionCode" jdbcType="VARCHAR" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >

View File

@@ -3,5 +3,5 @@ ALTER TABLE function_region_dict ADD config_ip_type VARCHAR(20) NULL COMMENT 'ip
ALTER TABLE function_region_dict ADD config_ip_pattern VARCHAR(10) NULL COMMENT 'ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔'; ALTER TABLE function_region_dict ADD config_ip_pattern VARCHAR(10) NULL COMMENT 'ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔';
ALTER TABLE function_region_dict ADD config_port_pattern VARCHAR(10) NULL COMMENT '端口的格式1:port;2:port_mask;使用逗号分隔'; ALTER TABLE function_region_dict ADD config_port_pattern VARCHAR(10) NULL COMMENT '端口的格式1:port;2:port_mask;使用逗号分隔';
ALTER TABLE function_region_dict ADD config_direction VARCHAR(10) NULL COMMENT 'IP方向0,双向;1,单向.使用逗号分隔'; ALTER TABLE function_region_dict ADD config_direction VARCHAR(10) NULL COMMENT 'IP方向0,双向;1,单向.使用逗号分隔';
ALTER TABLE function_service_dict ADD region_code INT(11) NULL COMMENT 'function_region_dict 表中的config_region_code字段值'; ALTER TABLE function_service_dict ADD region_code VARCHAR(20) NULL COMMENT 'function_region_dict 表中的config_region_code字段值';
ALTER TABLE function_region_dict ADD config_protocol VARCHAR(20) NULL COMMENT '协议 0:任意;6:TCP;17:UDP;1:ICMP;50:ESP;51:AH'; ALTER TABLE function_region_dict ADD config_protocol VARCHAR(20) NULL COMMENT '协议 0:任意;6:TCP;17:UDP;1:ICMP;50:ESP;51:AH';

View File

@@ -11,7 +11,7 @@ UPDATE function_service_dict SET region_code=1 WHERE function_id=300 AND ACTION
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; 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拦截 #IP拦截
UPDATE function_service_dict SET region_code=1 WHERE function_id=200 AND ACTION IN(1,128,64,80); 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; 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',config_protocol='0' WHERE dict_id=53;
#音视频IP #音视频IP
UPDATE function_service_dict SET region_code=2 WHERE function_id=20 AND ACTION IN(1,16); UPDATE function_service_dict SET region_code=2 WHERE function_id=20 AND ACTION IN(1,16);
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=17; 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=17;
@@ -24,3 +24,13 @@ UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',
#IP白名单 #IP白名单
UPDATE function_service_dict SET region_code=1 WHERE function_id=3 AND ACTION IN(128); UPDATE function_service_dict SET region_code=1 WHERE function_id=3 AND ACTION IN(128);
UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=7; UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=7;
#http ip
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=8 AND ACTION IN(16,1);
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=14;
#ssl ip
UPDATE function_service_dict SET region_code='1,2,3,4' WHERE function_id=34 AND ACTION IN(16,1);
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=23;
# mail ip
UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=35 AND ACTION IN(16,1);
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=33;

View File

@@ -62,6 +62,7 @@ $(function(){
portPattern="${region.configPortPattern}" portPattern="${region.configPortPattern}"
direction="${region.configDirection}" direction="${region.configDirection}"
protocol="${region.configProtocol}" protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}"> value="${region.configRegionCode}">
</c:if> </c:if>
</c:forEach> </c:forEach>

View File

@@ -61,6 +61,7 @@ $(function(){
portPattern="${region.configPortPattern}" portPattern="${region.configPortPattern}"
direction="${region.configDirection}" direction="${region.configDirection}"
protocol="${region.configProtocol}" protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}"> value="${region.configRegionCode}">
</c:if> </c:if>
</c:forEach> </c:forEach>

View File

@@ -61,6 +61,7 @@ $(function(){
portPattern="${region.configPortPattern}" portPattern="${region.configPortPattern}"
direction="${region.configDirection}" direction="${region.configDirection}"
protocol="${region.configProtocol}" protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}"> value="${region.configRegionCode}">
</c:if> </c:if>
</c:forEach> </c:forEach>

View File

@@ -82,6 +82,7 @@ $(function(){
portPattern="${region.configPortPattern}" portPattern="${region.configPortPattern}"
direction="${region.configDirection}" direction="${region.configDirection}"
protocol="${region.configProtocol}" protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}"> value="${region.configRegionCode}">
</c:forEach> </c:forEach>
<div class="form-body"> <div class="form-body">

View File

@@ -4,7 +4,6 @@
<head> <head>
<title></title> <title></title>
<script type="text/javascript"> <script type="text/javascript">
</script> </script>
</head> </head>
<%-- <c:forEach items="${regionList}" var="regionDistrict"> <%-- <c:forEach items="${regionList}" var="regionDistrict">
@@ -12,7 +11,17 @@
test="${ipPort.functionId eq regionDistrict.functionId and regionDistrict.regionType eq 1}"> --%> test="${ipPort.functionId eq regionDistrict.functionId and regionDistrict.regionType eq 1}"> --%>
<!-- regionDistrict.regionType==1表示IP类配置 --> <!-- regionDistrict.regionType==1表示IP类配置 -->
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }"> <input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
<input type="hidden" name="${cfgName}.cfgRegionCode" value="${region.configRegionCode }"> <input type="hidden" name="${cfgName}.cfgRegionCode"
isMaat="${region.isMaat}"
serviceType="${region.configServiceType}"
ipPortShow="${region.configIpPortShow}"
ipType="${region.configIpType}"
ipPattern="${region.configIpPattern}"
portPattern="${region.configPortPattern}"
direction="${region.configDirection}"
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode }">
<%-- </c:if> <%-- </c:if>
</c:forEach> --%> </c:forEach> --%>
<input type="hidden" name="${cfgName}.protocolId" id="protocolId" value=""> <input type="hidden" name="${cfgName}.protocolId" id="protocolId" value="">

View File

@@ -13,13 +13,14 @@
$(document) $(document)
.ready( .ready(
function() { function() {
$("#cancel").on("click", function() { initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back(); window.history.back();
}); });
$(".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"));
}); }); */
$("#fileInfo").on('click',function(){ $("#fileInfo").on('click',function(){
$("#file").trigger("click"); $("#file").trigger("click");
}); });
@@ -180,6 +181,7 @@
<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">

View File

@@ -13,13 +13,14 @@
$(document) $(document)
.ready( .ready(
function() { function() {
$("#cancel").on("click", function() { initCommIpVal();
window.history.back(); //$("#cancel").on("click", function() {
}); // window.history.back();
$(".action").on("change", function() { //});
$("#serviceId").val($(this).attr("serviceId")); //$(".action").on("change", function() {
$("#protocolId").val($(this).attr("protocolId")); // $("#serviceId").val($(this).attr("serviceId"));
}); // $("#protocolId").val($(this).attr("protocolId"));
//});
$("#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($("#cfgId").val()!=""){ if($("#cfgId").val()!=""){
@@ -241,6 +242,7 @@
<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">

View File

@@ -13,13 +13,14 @@
$(document) $(document)
.ready( .ready(
function() { function() {
$("#cancel").on("click", function() { initCommIpVal();
/* $("#cancel").on("click", function() {
window.history.back(); window.history.back();
}); });
$(".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"));
}); }); */
$("#serviceId").val($(".action:checked").attr("serviceId")); $("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId")); $("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate( $("#cfgFrom").validate(
@@ -174,6 +175,7 @@
<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">

View File

@@ -69,6 +69,7 @@ $(function(){
portPattern="${region.configPortPattern}" portPattern="${region.configPortPattern}"
direction="${region.configDirection}" direction="${region.configDirection}"
protocol="${region.configProtocol}" protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}"> value="${region.configRegionCode}">
</c:if> </c:if>
</c:forEach> </c:forEach>

View File

@@ -362,52 +362,72 @@ $(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 actionCode=$(this).val();
var regionCode=$(this).attr("regionCode"); var regionCode=$(this).attr("regionCode");
if(!regionCode){ if(!regionCode){
regionCode=$("input[name='action']").attr("regionCode"); regionCode=$("input[name='action']").attr("regionCode");
} }
if(regionCode){ if(regionCode){
$("[id^='cfgRegionCode']").each(function(){ if(regionCode.indexOf(",")==-1){
if($(this).attr("id")==("cfgRegionCode"+regionCode)){ $("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
$(this).attr("name","cfgRegionCode"); $("#cfgType"+regionCode).attr("name","cfgType");
}else{ $("[id^='cfgRegionCode']").each(function(){
$(this).removeAttr("name"); 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");
}
});
}else{
var _region='';
var regionArr=regionCode.split(',');
$("input[name$='cfgRegionCode'][regionType='1']").each(function(){
for(var re in regionArr){
if($(this).val()==regionArr[re]){
serviceType=$(this).attr("serviceType");
_region=regionArr[re];
break;
}
}
});
if(_region!=''){
regionCode=_region;
} }
}); }
$("[id^='cfgType']").each(function(){ var ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
if($(this).attr("id")==("cfgType"+regionCode)){ ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
$(this).attr("name","cfgType"); ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
}else{ portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
$(this).removeAttr("name"); direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
} protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
}); regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
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端口处理 //ip端口处理
if(ipPortShow){ if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口 if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden"); $("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='srcPort']").parents(".form-group").removeClass("hidden"); $("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
}else{ }else{
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden"); $("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='srcPort']").parents(".form-group").addClass("hidden"); $("input[name$='srcPort']").parents(".form-group").addClass("hidden");
} }
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口 if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden"); $("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='destPort']").parents(".form-group").removeClass("hidden"); $("input[name$='destPort']").parents(".form-group").removeClass("hidden");
}else{ }else{
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden"); $("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='destPort']").parents(".form-group").addClass("hidden"); $("input[name$='destPort']").parents(".form-group").addClass("hidden");
} }
} }
if(ipType){ if(ipType){
var arr=ipType.split(','); var arr=ipType.split(',');
$("select[name='ipType'] option").each(function(){ $("select[name$='ipType'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -422,10 +442,11 @@ $(function(){
$(this).attr("disabled",true); $(this).attr("disabled",true);
} }
}); });
$("select[name$='ipType']").selectpicker("refresh");
} }
if(ipPattern){ if(ipPattern){
arr=ipPattern.split(','); arr=ipPattern.split(',');
$("select[name='ipPattern'] option").each(function(){ $("select[name$='ipPattern'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -440,10 +461,11 @@ $(function(){
$(this).attr("disabled",true); $(this).attr("disabled",true);
} }
}); });
$("select[name$='ipPattern']").selectpicker("refresh");
} }
if(portPattern){ if(portPattern){
arr=portPattern.split(','); arr=portPattern.split(',');
$("select[name='portPattern'] option").each(function(){ $("select[name$='portPattern'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -458,10 +480,11 @@ $(function(){
$(this).attr("disabled",true); $(this).attr("disabled",true);
} }
}); });
$("select[name$='portPattern']").selectpicker("refresh");
} }
if(direction){ if(direction){
arr=direction.split(','); arr=direction.split(',');
$("select[name='direction'] option").each(function(){ $("select[name$='direction'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -476,11 +499,12 @@ $(function(){
$(this).attr("disabled",true); $(this).attr("disabled",true);
} }
}); });
$("select[name$='direction']").selectpicker("refresh");
} }
if(protocol){ if(protocol){
arr=protocol.split(','); arr=protocol.split(',');
$("select[name='protocol'] option").each(function(){ $("select[name$='protocol'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -495,21 +519,19 @@ $(function(){
$(this).attr("disabled",true); $(this).attr("disabled",true);
} }
}); });
$("select[name$='protocol']").selectpicker("refresh");
} }
//处理自定义字段 //处理自定义字段
var serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType"); var serviceType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("serviceType");
if(serviceType){ if(serviceType){
if(serviceType.indexOf("ipaddr")>-1){ if(serviceType.indexOf("ipaddr")>-1){
if($(this).val()==32){ if($(this).val()==32){
$("select[name='protocol'] option").each(function(){ $("select[name$='protocol'] option[value='1']").removeAttr("disabled")
if($(this).attr("value")==1){ }else{
$(this).removeAttr("disabled"); $("select[name$='protocol'] option[value='1']").attr("disabled",true);
}
});
$("select[name='protocol']").selectpicker("refresh");
} }
$("select[name$='protocol']").selectpicker("refresh");
} }
if(serviceType.indexOf("ipmulitiplex")>-1){ if(serviceType.indexOf("ipmulitiplex")>-1){
$(".ipmulitiplex").removeClass("hidden"); $(".ipmulitiplex").removeClass("hidden");
@@ -526,7 +548,7 @@ $(function(){
$(".ratelimit").addClass("hidden"); $(".ratelimit").addClass("hidden");
} }
if($(this).val()==0x20||$(this).val()==0x60){ if($(this).val()==0x20||$(this).val()==0x60){
$("input[name='isAreaEffective']").each(function(){ $("input[name$='isAreaEffective']").each(function(){
if($(this).val()==0){ if($(this).val()==0){
$(this).click(); $(this).click();
} }
@@ -1362,35 +1384,55 @@ var validateInvisibleCharTag=function(){
return true; return true;
} }
var initCommIpVal=function(){ var initCommIpVal=function(){
var regionCode,serviceType; var regionCode,serviceType,ipPortShow,ipType,
if($("input[name='action']:checked").length>0){ ipPattern,portPattern,direction,protocol,regionType;
regionCode=$("input[name='action']:checked").attr("regionCode"); if($("input[name$='action']:checked").length>0){
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType"); regionCode=$("input[name$='action']:checked").attr("regionCode");
}else{ }else{
regionCode=$("input[name='action']").attr("regionCode"); regionCode=$("input[name$='action']").attr("regionCode");
serviceType=$("#cfgRegionCode"+regionCode).attr("serviceType"); }
if(regionCode){
if(regionCode.indexOf(",")==-1){
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode");
$("#cfgType"+regionCode).attr("name","cfgType");
serviceType=$("input[name$='cfgRegionCode'][regionType='1'][value='"+regionCode+"']").attr("serviceType");
}else{
var _region='';
var regionArr=regionCode.split(',');
$("input[name$='cfgRegionCode'][regionType='1']").each(function(){
for(var re in regionArr){
if($(this).val()==regionArr[re]){
serviceType=$(this).attr("serviceType");
_region=regionArr[re];
break;
}
}
});
if(_region!=''){
regionCode=_region;
}
}
} }
if(serviceType){ if(serviceType){
if(serviceType.indexOf("ipaddr")>-1&&$("input[name='action']:checked").val()==32){ if(serviceType.indexOf("ipaddr")>-1&&$("input[name$='action']:checked").val()==32){
$("select[name='protocol'] option").each(function(){ $("select[name$='protocol'] option").each(function(){
if($(this).attr("value")==1){ if($(this).attr("value")==1){
$(this).removeAttr("disabled"); $(this).removeAttr("disabled");
} }
}); });
$("select[name='protocol']").selectpicker("refresh"); $("select[name$='protocol']").selectpicker("refresh");
} }
if(serviceType&&serviceType.indexOf("ipaddr")>-1&&$("input[name='action']").val()==32){ if(serviceType&&serviceType.indexOf("ipaddr")>-1&&$("input[name$='action']").val()==32){
$("select[name='protocol'] option").each(function(){ $("select[name$='protocol'] option").each(function(){
if($(this).attr("value")==1){ if($(this).attr("value")==1){
$(this).removeAttr("disabled"); $(this).removeAttr("disabled");
} }
}); });
$("select[name='protocol']").selectpicker("refresh"); $("select[name$='protocol']").selectpicker("refresh");
} }
if(serviceType.indexOf("ipmulitiplex")>-1){ if(serviceType.indexOf("ipmulitiplex")>-1){
$(".ipmulitiplex").removeClass("hidden"); $(".ipmulitiplex").removeClass("hidden");
$("input[name='isAreaEffective']").each(function(){ $("input[name$='isAreaEffective']").each(function(){
if($(this).val()==0){ if($(this).val()==0){
$(this).click(); $(this).click();
} }
@@ -1401,7 +1443,7 @@ var initCommIpVal=function(){
$(".ipmulitiplex").addClass("hidden"); $(".ipmulitiplex").addClass("hidden");
} }
if(serviceType.indexOf("ratelimit")>-1){ if(serviceType.indexOf("ratelimit")>-1){
if($("input[name='action']").val()==64||$("input[name='action']:checked").val()==64){ if($("input[name$='action']").val()==64||$("input[name$='action']:checked").val()==64){
$(".ratelimit").removeClass("hidden"); $(".ratelimit").removeClass("hidden");
}else{ }else{
$(".ratelimit").addClass("hidden"); $(".ratelimit").addClass("hidden");
@@ -1410,41 +1452,33 @@ var initCommIpVal=function(){
$(".ratelimit").addClass("hidden"); $(".ratelimit").addClass("hidden");
} }
} }
$("#cfgRegionCode"+regionCode).attr("name","cfgRegionCode"); ipPortShow=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPortShow"),
$("#cfgType"+regionCode).attr("name","cfgType"); ipType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipType"),
$("div[class^='region']").each(function(){ ipPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("ipPattern"),
if(!$(this).hasClass("region"+regionCode)){ portPattern=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("portPattern"),
$(this).addClass("hidden"); direction=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("direction"),
$(this).find("input").removeAttr("name"); protocol=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("protocol"),
$(this).find("select").removeAttr("name"); regionType=$("input[name$='cfgRegionCode'][value='"+regionCode+"']").attr("regionType");
}
})
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端口处理 //ip端口处理
if(ipPortShow){ if(ipPortShow){
if(ipPortShow.indexOf('1')>-1){//展示源IP,端口 if(ipPortShow.indexOf('1')>-1){//展示源IP,端口
$("input[name='srcIpAddress']").parents(".form-group").removeClass("hidden"); $("input[name$='srcIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='srcPort']").parents(".form-group").removeClass("hidden"); $("input[name$='srcPort']").parents(".form-group").removeClass("hidden");
}else{ }else{
$("input[name='srcIpAddress']").parents(".form-group").addClass("hidden"); $("input[name$='srcIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='srcPort']").parents(".form-group").addClass("hidden"); $("input[name$='srcPort']").parents(".form-group").addClass("hidden");
} }
if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口 if(ipPortShow.indexOf('2')>-1){//展示目的IP,端口
$("input[name='destIpAddress']").parents(".form-group").removeClass("hidden"); $("input[name$='destIpAddress']").parents(".form-group").removeClass("hidden");
$("input[name='destPort']").parents(".form-group").removeClass("hidden"); $("input[name$='destPort']").parents(".form-group").removeClass("hidden");
}else{ }else{
$("input[name='destIpAddress']").parents(".form-group").addClass("hidden"); $("input[name$='destIpAddress']").parents(".form-group").addClass("hidden");
$("input[name='destPort']").parents(".form-group").addClass("hidden"); $("input[name$='destPort']").parents(".form-group").addClass("hidden");
} }
} }
if(ipType){ if(ipType){
var arr=ipType.split(','); var arr=ipType.split(',');
$("select[name='ipType'] option").each(function(){ $("select[name$='ipType'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -1462,7 +1496,7 @@ var initCommIpVal=function(){
} }
if(ipPattern){ if(ipPattern){
arr=ipPattern.split(','); arr=ipPattern.split(',');
$("select[name='ipPattern'] option").each(function(){ $("select[name$='ipPattern'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -1480,7 +1514,7 @@ var initCommIpVal=function(){
} }
if(portPattern){ if(portPattern){
arr=portPattern.split(','); arr=portPattern.split(',');
$("select[name='portPattern'] option").each(function(){ $("select[name$='portPattern'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -1498,7 +1532,7 @@ var initCommIpVal=function(){
} }
if(direction){ if(direction){
arr=direction.split(','); arr=direction.split(',');
$("select[name='direction'] option").each(function(){ $("select[name$='direction'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){
@@ -1516,7 +1550,7 @@ var initCommIpVal=function(){
} }
if(protocol){ if(protocol){
arr=protocol.split(','); arr=protocol.split(',');
$("select[name='protocol'] option").each(function(){ $("select[name$='protocol'] option").each(function(){
var has=false; var has=false;
for(var type in arr){ for(var type in arr){
if($(this).val()==arr[type]){ if($(this).val()==arr[type]){