diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index fb6d70b7b..49954879f 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -368,14 +368,14 @@ $(function(){ regionCode=$("input[name='action']").attr("regionCode"); } if(regionCode){ - $("[id='cfgRegionCode']").each(function(){ + $("[id^='cfgRegionCode']").each(function(){ if($(this).attr("id")==("cfgRegionCode"+regionCode)){ $(this).attr("name","cfgRegionCode"); }else{ $(this).removeAttr("name"); } }); - $("[id='cfgType']").each(function(){ + $("[id^='cfgType']").each(function(){ if($(this).attr("id")==("cfgType"+regionCode)){ $(this).attr("name","cfgType"); }else{ @@ -389,155 +389,150 @@ $(function(){ 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){ + 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"); + } } - 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") + if(ipType){ + 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; } - 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(''); - } - }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"); + if(!has){ + $(this).attr("disabled",true); } }); - }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"); + if(ipPattern){ + 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); + } + }); + } + if(portPattern){ + 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); + } + }); + } + if(direction){ + 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); + } + }); + } + + if(protocol){ + 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){ + if(serviceType.indexOf("ipaddr")>-1){ + if($(this).val()==32){ + $("select[name='protocol'] option").each(function(){ + if($(this).attr("value")==1){ + $(this).removeAttr("disabled"); + } + }); + } + + } + 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"); } - }else{ - $(".ratelimit").addClass("hidden"); - } - if($(this).val()==0x20||$(this).val()==0x60){ - $("input[name='isAreaEffective']").each(function(){ - if($(this).val()==0){ - $(this).click(); - } - }) + 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(){ @@ -1369,40 +1364,47 @@ var initCommIpVal=function(){ 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(''); - $("[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(''); - $("[name='protocol']").selectpicker("render"); - $("[name='protocol']").selectpicker("refresh"); + } + if(serviceType){ + if(serviceType.indexOf("ipaddr")>-1&&$("input[name='action']:checked").val()==32){ + $("select[name='protocol'] option").each(function(){ + if($(this).attr("value")==1){ + $(this).removeAttr("disabled"); + } + }); } - } - if(serviceType.indexOf("ipmulitiplex")>-1){ - $(".ipmulitiplex").removeClass("hidden"); - $("input[name='isAreaEffective']").each(function(){ - if($(this).val()==0){ - $(this).click(); + if(serviceType&&serviceType.indexOf("ipaddr")>-1&&$("input[name='action']").val()==32){ + $("select[name='protocol'] option").each(function(){ + if($(this).attr("value")==1){ + $(this).removeAttr("disabled"); + } + }); + } + 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"); } - }) - $(".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"); @@ -1420,99 +1422,111 @@ var initCommIpVal=function(){ 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){ + 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"); + } } - 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"); + if(ipType){ + 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); + } + }); } - 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") + if(ipPattern){ + 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; } - 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") + if(!has){ + $(this).attr("disabled",true); + } + }); + } + if(portPattern){ + 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; } - 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") + if(!has){ + $(this).attr("disabled",true); + } + }); + } + if(direction){ + 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; } - 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") + if(!has){ + $(this).attr("disabled",true); + } + }); + } + if(protocol){ + 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; } - 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); } - } - if(!has){ - $(this).attr("disabled",true); - } - }); + }); + } return regionCode; } \ No newline at end of file