develop

Conflicts:
	src/main/resources/messages/message_en.properties
	src/main/resources/messages/message_ru.properties
	src/main/resources/messages/message_zh_CN.properties
	excel导入提示信息补全,单个字典数据不需要导入
	去掉是否表达式的导入,根据关键词单个和多个区分
This commit is contained in:
duandongmei
2018-10-23 14:14:08 +08:00
84 changed files with 908 additions and 1441 deletions

View File

@@ -31,6 +31,7 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
*/
private static final long serialVersionUID = -5679998383250783571L;
private static final String tableName="app_policy_cfg";
private String indexTable="app_policy_cfg";
@Expose
@ExcelField(title="cfg_id",sort=0)
private Integer compileId;
@@ -269,4 +270,12 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
this.userRegion5 = userRegion5;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -9,6 +9,7 @@ public class AvFileSampleCfg extends BaseCfg<AvFileSampleCfg> {
*
*/
private static final long serialVersionUID = -2356472662189941874L;
private String indexTable="av_file_sample_cfg";
@Expose
@SerializedName("srcFile")
@ExcelField(title="src_file",sort=2)
@@ -94,5 +95,11 @@ public class AvFileSampleCfg extends BaseCfg<AvFileSampleCfg> {
public void setResultPath(String resultPath) {
this.resultPath = resultPath;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -139,6 +139,10 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
* 来函id
*/
protected Integer requestId;
/**
* 取消审核来函id
*/
protected Integer cancelRequestId;
/**
* 来函
*/
@@ -884,5 +888,11 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
public void setUserRegion5(String userRegion5) {
this.userRegion5 = userRegion5;
}
public Integer getCancelRequestId() {
return cancelRequestId;
}
public void setCancelRequestId(Integer cancelRequestId) {
this.cancelRequestId = cancelRequestId;
}
}

View File

@@ -37,6 +37,7 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
super();
// TODO Auto-generated constructor stub
}
private String indexTable="ip_port_cfg";
/**
* ip类型
*/
@@ -307,5 +308,11 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
public void setNtcSubscribeIdCfg(NtcSubscribeIdCfg ntcsSubscribeIdCfg) {
this.ntcSubscribeIdCfg = ntcsSubscribeIdCfg;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -28,6 +28,7 @@ public class CfgIndexInfo extends BaseCfg<CfgIndexInfo> {
*/
private static final long serialVersionUID = 2796500715438264119L;
private static final String tableName="cfg_index_info";
private String indexTable="cfg_index_info";
private List<AvVoipAccountCfg> voipAccounts;//Add表单使用
private List<AsnIpCfg> asnIpCfgs;//Add表单使用
private List<AvVoipIpCfg> voipIps; //Add表单使用
@@ -308,4 +309,11 @@ public class CfgIndexInfo extends BaseCfg<CfgIndexInfo> {
public static String getTablename() {
return tableName;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -22,6 +22,7 @@ public class DdosIpCfg extends BaseIpCfg {
*
*/
private static final long serialVersionUID = -5446903784736960824L;
private String indexTable="ddos_ip_cfg";
@ExcelField(title="antiddos_protocol",sort=41)
private String antiddosProtocol;//目前支持TCP_SYN, DNS, NTP
@ExcelField(title="bps_threadshold",sort=42)
@@ -47,6 +48,12 @@ public class DdosIpCfg extends BaseIpCfg {
public void setPpsThreadshold(Long ppsThreadshold) {
this.ppsThreadshold = ppsThreadshold;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -26,6 +26,7 @@ public class DnsIpCfg extends BaseIpCfg {
*
*/
private static final long serialVersionUID = 8149437730819674317L;
private String indexTable="dns_ip_cfg";
private String dnsStrategyName;
private Integer dnsStrategyId;
@@ -41,5 +42,11 @@ public class DnsIpCfg extends BaseIpCfg {
public void setDnsStrategyName(String dnsStrategyName) {
this.dnsStrategyName = dnsStrategyName;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -12,6 +12,7 @@ public class DnsResStrategy extends BaseCfg<DnsResStrategy> {
*
*/
private static final long serialVersionUID = -2720862431960415564L;
private String indexTable="dns_res_strategy";
private Integer resGroup1Id;
private Integer resGroup1Num;
private Integer resGroup2Id;
@@ -114,4 +115,11 @@ public class DnsResStrategy extends BaseCfg<DnsResStrategy> {
public void setGroup1Name(String group1Name) {
this.group1Name = group1Name;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -28,6 +28,7 @@ public class FileDigestCfg extends BaseCfg<FileDigestCfg> {
*/
private static final long serialVersionUID = 2796500715438264119L;
private static final String tableName="file_digest_cfg";
private String indexTable="file_digest_cfg";
@ExcelField(title="raw_len",sort=3)
private Long rawLen;
@ExcelField(title="digest",sort=2)
@@ -82,5 +83,11 @@ public class FileDigestCfg extends BaseCfg<FileDigestCfg> {
public void setNtcSubscribeIdCfgList(List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList) {
this.ntcSubscribeIdCfgList = ntcSubscribeIdCfgList;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -17,6 +17,7 @@ public class IpMultiplexPoolCfg extends BaseCfg<IpMultiplexPoolCfg> {
*
*/
private static final long serialVersionUID = -5902468971425910528L;
private String indexTable="ip_multiplex_pool_cfg";
@Expose
@SerializedName("cfgId")
private Integer compileId;
@@ -102,5 +103,11 @@ public class IpMultiplexPoolCfg extends BaseCfg<IpMultiplexPoolCfg> {
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -17,6 +17,7 @@ package com.nis.domain.configuration;
*/
public class IpPortCfg extends BaseIpCfg {
private static final String tableName="ip_port_cfg";
private String indexTable="ip_port_cfg";
/**
* @Fields serialVersionUID:TODO用一句话描述这个变量表示什么
*
@@ -53,6 +54,12 @@ public class IpPortCfg extends BaseIpCfg {
public static String getTablename() {
return tableName;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -13,7 +13,7 @@ public class PxyObjKeyring extends BaseCfg<PxyObjKeyring> {
*
*/
private static final long serialVersionUID = -2720862431960415564L;
private String indexTable="pxy_obj_keyring";
private String keyringType;
private String privateKeyFile;
private String publicKeyFile;
@@ -84,6 +84,12 @@ public class PxyObjKeyring extends BaseCfg<PxyObjKeyring> {
public void setSubject(String subject) {
this.subject = subject;
}
public String getIndexTable() {
return indexTable;
}
public void setIndexTable(String indexTable) {
this.indexTable = indexTable;
}
}

View File

@@ -18,7 +18,6 @@ public class ComplexStringAllTemplate {
private String district;
private String cfgKeywords;
private Integer exprType ;
private Integer matchMethod ;
private Integer isHex;
private Integer isCaseInsenstive;
@@ -44,13 +43,6 @@ public class ComplexStringAllTemplate {
public void setCfgKeywords(String cfgKeywords) {
this.cfgKeywords = cfgKeywords;
}
@ExcelField(title="expression_type",dictType="EXPRESSION_TYPE",sort=13)
public Integer getExprType() {
return exprType;
}
public void setExprType(Integer exprType) {
this.exprType = exprType;
}
@ExcelField(title="match_method",dictType="MATCH_METHOD",sort=14)
public Integer getMatchMethod() {
return matchMethod;

View File

@@ -17,7 +17,6 @@ public class StringAllTemplate {
private String cfgDesc;
private String cfgKeywords;
private Integer exprType ;
private Integer matchMethod ;
private Integer isHex;
private Integer isCaseInsenstive;
@@ -36,13 +35,6 @@ public class StringAllTemplate {
public void setCfgKeywords(String cfgKeywords) {
this.cfgKeywords = cfgKeywords;
}
@ExcelField(title="expression_type",dictType="EXPRESSION_TYPE",sort=12)
public Integer getExprType() {
return exprType;
}
public void setExprType(Integer exprType) {
this.exprType = exprType;
}
@ExcelField(title="match_method",dictType="MATCH_METHOD",sort=13)
public Integer getMatchMethod() {
return matchMethod;

View File

@@ -22,7 +22,7 @@ public final class Constants {
* iP默认值
*/
public static String IPV4_DEFAULT_IP_VALUE=Configurations.getStringProperty("ipv4_default_ip_value", "0.0.0.0");
public static String IPV6_DEFAULT_IP_VALUE=Configurations.getStringProperty("ipv4_default_ip_value", "::");
public static String IPV6_DEFAULT_IP_VALUE=Configurations.getStringProperty("ipv6_default_ip_value", "::");
public static String IPV4_DEFAULT_IP_SUBNET_VALUE=Configurations.getStringProperty("ipv4_default_ip_subnet_value", "0.0.0.0/32");
public static String IPV6_DEFAULT_IP_SUBNET_VALUE=Configurations.getStringProperty("ipv6_default_ip_subnet_value", "::/128");
public static String IPV4_DEFAULT_IP_RANGE_VALUE=Configurations.getStringProperty("ipv4_default_ip_range_value", "0.0.0.0-0.0.0.0");

View File

@@ -174,10 +174,10 @@ public class ExportExcel {
if(interceptReplaceZone !=null && interceptReplaceZone.size()>0){
for (SysDataDictionaryItem sysDataDictionaryItem : interceptReplaceZone) {
if(StringUtil.isEmpty(msgProp.getProperty(sysDataDictionaryItem.getItemValue()))){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+sysDataDictionaryItem.getItemValue()+"\n";
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+sysDataDictionaryItem.getItemValue()+"\n";
index++;
}else{
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+":"+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n";
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+"\n";
index++;
}
}
@@ -203,7 +203,7 @@ public class ExportExcel {
commentStr="";
}else{
for (DnsResStrategy dnsResStrategy : resStrategys) {
commentStr=commentStr+dnsResStrategy.getCfgId()+":"+dnsResStrategy.getCfgDesc()+"\n";
commentStr=commentStr+dnsResStrategy.getCfgId()+""+dnsResStrategy.getCfgDesc()+"\n";
index++;
}
}
@@ -239,11 +239,11 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv4_range")+""+"\n";
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv4_range_tip")+""+"\n";
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv4_subnet")+""+"\n";
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv4_subnet_tip")+""+"\n";
index++;
}
}
@@ -253,11 +253,11 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv6_range")+""+"\n";
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv6_range_tip")+""+"\n";
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv6_subnet")+""+"\n";
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv6_subnet_tip")+""+"\n\n";
index++;
}
}
@@ -269,13 +269,10 @@ public class ExportExcel {
headerStr="";
commentStr="";
}else{
commentStr=msgProp.getProperty("example")+":\n"+commentStr;
index++;
/**TODO
规则:
index++;
commentStr=msgProp.getProperty("example")+":\n"+commentStr;
commentStr=msgProp.getProperty("example_tip")+":\n"+commentStr;
index++;
1、源ip和目的ip不能相等
index++;
@@ -288,6 +285,37 @@ public class ExportExcel {
5、IPv6 Mask 掩码范围2-128
index++;
*/
commentStr=msgProp.getProperty("example_tip")+":\n"+commentStr;
index++;
index++;
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
//1、源IP和目的IP不能相同
commentStr=commentStr+""+String.format(msgProp.getProperty("are_the_same")
, msgProp.getProperty("clientip")
,msgProp.getProperty("serverip"))+"\n";
index++;
index++;
//2、源IP和目的IP IP类型和IP格式必须一致
commentStr=commentStr+""+String.format(msgProp.getProperty("the_same_ip_type_pattern"))+"\n";
index++;
index++;
//3、IP Range 开始IP和结束IP必须在同一网段
commentStr=commentStr+""+msgProp.getProperty("ip_range")+","+msgProp.getProperty("ip_range_bit_field")+"\n";
index++;
index++;
//4、IP Range 开始IP必须小于结束IP
commentStr=commentStr+""+msgProp.getProperty("ip_range")+","+msgProp.getProperty("ip_range_smaller")+"\n";
index++;
index++;
//5、IPv4 Mask 掩码范围16-32
commentStr=commentStr+""+msgProp.getProperty("ipv4_subnet_tip")+","+msgProp.getProperty("ipv4_mask_range_tip")+"\n";
index++;
index++;
//6、IPv6 Mask 掩码范围2-128
commentStr=commentStr+""+msgProp.getProperty("ipv6_subnet_tip")+","+msgProp.getProperty("ipv6_mask_range_tip")+"\n";
index++;
index++;
}
}
@@ -300,11 +328,11 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv4_range")+""+"\n";
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv4_range_tip")+""+"\n";
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv4_mask")+""+"\n";
commentStr=commentStr+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv4_subnet_tip")+""+"\n";
index++;
}
}
@@ -314,11 +342,11 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv6_range")+""+"\n";
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+""+msgProp.getProperty("ipv6_range_tip")+""+"\n";
index++;
}
if((","+region.getConfigIpPattern()+",").indexOf(",1,") > -1){
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv6_subnet")+""+"\n";
commentStr=commentStr+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+""+msgProp.getProperty("ipv6_subnet_tip")+""+"\n\n";
index++;
}
}
@@ -330,22 +358,37 @@ public class ExportExcel {
headerStr="";
commentStr="";
}else{
commentStr=msgProp.getProperty("example")+":\n"+commentStr;
commentStr=msgProp.getProperty("example_tip")+":\n"+commentStr;
index++;
/**TODO
规则:
index++;
1、源ip和目的ip不能相等
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
2、源ip和目的ip格式必须一致
//1、源IP和目的IP不能相同
commentStr=commentStr+""+String.format(msgProp.getProperty("are_the_same")
, msgProp.getProperty("clientip")
,msgProp.getProperty("serverip"))+"\n";
index++;
3、IPv4 Range 必须是C段IP
index++;
4、IPv4 Mask 掩码范围16-32
//2、源IP和目的IP IP类型和IP格式必须一致
commentStr=commentStr+""+String.format(msgProp.getProperty("the_same_ip_type_pattern"))+"\n";
index++;
index++;
//3、IP Range 开始IP和结束IP必须在同一网段
commentStr=commentStr+""+msgProp.getProperty("ip_range")+","+msgProp.getProperty("ip_range_bit_field")+"\n";
index++;
index++;
//4、IP Range 开始IP必须小于结束IP
commentStr=commentStr+""+msgProp.getProperty("ip_range")+","+msgProp.getProperty("ip_range_smaller")+"\n";
index++;
index++;
//5、IPv4 Mask 掩码范围16-32
commentStr=commentStr+""+msgProp.getProperty("ipv4_subnet_tip")+","+msgProp.getProperty("ipv4_mask_range_tip")+"\n";
index++;
index++;
//6、IPv6 Mask 掩码范围2-128
commentStr=commentStr+""+msgProp.getProperty("ipv6_subnet_tip")+","+msgProp.getProperty("ipv6_mask_range_tip")+"\n";
index++;
5、IPv6 Mask 掩码范围2-128
index++;
*/
}
}
if("client_port".equals(headerStr)){
@@ -356,7 +399,7 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.PORT_MASK_DEFAULT+"Port/"+msgProp.getProperty("port_subnet")+""+"\n";
commentStr=commentStr+Constants.PORT_MASK_DEFAULT+"Port/"+msgProp.getProperty("port_mask")+""+"\n\n";
index++;
}
}else{
@@ -367,20 +410,23 @@ public class ExportExcel {
headerStr="";
commentStr="";
}else{
commentStr=msgProp.getProperty("example")+":\n"+commentStr;
commentStr=msgProp.getProperty("example_tip")+":\n"+commentStr;
index++;
/**TODO
规则:
index++;
1、源端口和目的端口格式必须一致
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
2、端口范围0-65535
//1、源端口、目的端口格式必须一致
commentStr=commentStr+""+msgProp.getProperty("the_same_port_pattern")+"\n";
index++;
3、端口掩码范围0-65535
index++;
4、非TCP、UDP、ALL协议端口必须为0
//2、端口和端口掩码范围0-65535
commentStr=commentStr+""+msgProp.getProperty("port_mask_comment_tip")+"\n";
index++;
index++;
//2、端口和端口掩码范围0-65535
commentStr=commentStr+""+msgProp.getProperty("protocol_and_port")+"\n";
index++;
index++;
*/
}
}
if("server_port".equals(headerStr)){
@@ -391,25 +437,32 @@ public class ExportExcel {
index++;
}
if((","+region.getConfigPortPattern()+",").indexOf(",2,") > -1){
commentStr=commentStr+Constants.PORT_MASK_DEFAULT+"Port/"+msgProp.getProperty("port_subnet")+""+"\n";
commentStr=commentStr+Constants.PORT_MASK_DEFAULT+"Port/"+msgProp.getProperty("port_mask")+""+"\n\n";
index++;
}
}else{
headerStr="";
commentStr="";
}
/**TODO
规则:
index++;
1、源端口和目的端口格式必须一致
index++;
2、端口范围0-65535
index++;
3、端口掩码范围0-65535
index++;
4、非TCP、UDP、ALL协议端口必须为0
index++;
*/
if(StringUtil.isEmpty(commentStr)){
headerStr="";
commentStr="";
}else{
commentStr=msgProp.getProperty("example_tip")+":\n"+commentStr;
index++;
index++;
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
commentStr=commentStr+""+msgProp.getProperty("the_same_port_pattern")+"\n";
index++;
index++;
commentStr=commentStr+""+msgProp.getProperty("port_mask_comment_tip")+"\n";
index++;
index++;
commentStr=commentStr+""+msgProp.getProperty("protocol_and_port")+"\n";
index++;
index++;
}
}
}
//导入的Protocol
@@ -418,15 +471,20 @@ public class ExportExcel {
commentStr="";
//ip block tcp
if(service.getAction().equals(16) ){
List<SysDataDictionaryItem> protocol=DictUtils.getDictList("PROTOCOL");
/**
*block 只有TCP不需要导入
* */
headerStr="";
commentStr="";
/*List<SysDataDictionaryItem> protocol=DictUtils.getDictList("PROTOCOL");
if(protocol !=null && protocol.size()>0){
for (SysDataDictionaryItem sysDataDictionaryItem : protocol) {
if(sysDataDictionaryItem.getItemCode().equals(6)){
if(sysDataDictionaryItem.getItemCode().equals("6")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+sysDataDictionaryItem.getItemValue()+""+"\n";
index++;
}
}
}
}*/
}else{
commentStr="";
List<SysDataDictionaryItem> protocol=DictUtils.getDictList("PROTOCOL");
@@ -468,7 +526,8 @@ public class ExportExcel {
}
}
}
if(StringUtil.isEmpty(commentStr)){
if(StringUtil.isEmpty(commentStr)
||(region.getConfigProtocol().split(",").length==1)){
headerStr="";
commentStr="";
}else{
@@ -479,7 +538,8 @@ public class ExportExcel {
//Direction
if("direction".equals(headerStr)){
if(StringUtil.isEmpty(region.getConfigDirection())){
if(StringUtil.isEmpty(region.getConfigDirection())
||(region.getConfigDirection().split(",").length==1)){
headerStr="";
commentStr="";
}else{
@@ -515,12 +575,16 @@ public class ExportExcel {
}else if(region.getRegionType().equals(2) || region.getRegionType().equals(3)){
if(region.getRegionType().equals(3)){
if("district".equals(headerStr)){
if(StringUtil.isEmpty(region.getConfigDistrict())){
if(StringUtil.isEmpty(region.getConfigDistrict())
||(region.getConfigDistrict().split(",").length==1)){
headerStr="";
commentStr="";
}else{
commentStr=region.getConfigDistrict();
index++;
for (String districtStr : region.getConfigDistrict().split(",")) {
commentStr=commentStr+districtStr+"\n";
index++;
}
}
if(StringUtil.isEmpty(commentStr)){
headerStr="";
@@ -532,8 +596,39 @@ public class ExportExcel {
}
}
//expr type
if("key_word".equals(headerStr)){
if(!StringUtil.isEmpty(region.getConfigMultiKeywords())){
if(region.getConfigMultiKeywords().equals(1)){//多关键字输入TODO
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
//允许输入多关键字,多个关键字用换行表示
commentStr=commentStr+""+msgProp.getProperty("multi_keywords_tip")+"\n";
index++;
index++;
//单个关键字不允许输入不可见字符
commentStr=commentStr+""+msgProp.getProperty("visible_keyword_tip")+"\n";
index++;
index++;
}else{
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
index++;
index++;
//只允许输入单个关键字
commentStr=commentStr+""+msgProp.getProperty("single_keyword_tip")+"\n";
index++;
index++;
//单个关键字不允许输入不可见字符
commentStr=commentStr+""+msgProp.getProperty("visible_keyword_tip")+"\n";
index++;
}
}
}
//expr type
if("expression_type".equals(headerStr)){
if(StringUtil.isEmpty(region.getConfigExprType())){
if(StringUtil.isEmpty(region.getConfigExprType())
||(region.getConfigExprType().split(",").length==1)){
headerStr="";
commentStr="";
}else{
@@ -562,7 +657,8 @@ public class ExportExcel {
}
//match method
if("match_method".equals(headerStr)){
if(StringUtil.isEmpty(region.getConfigMatchMethod())){
if(StringUtil.isEmpty(region.getConfigMatchMethod())
||(region.getConfigMatchMethod().split(",").length==1)){
headerStr="";
commentStr="";
}else{
@@ -591,6 +687,7 @@ public class ExportExcel {
}
//ishex
if("is_hex".equals(headerStr)){
List<String> list=new ArrayList<String>();
if(StringUtil.isEmpty(region.getConfigHex())){
headerStr="";
commentStr="";
@@ -602,14 +699,22 @@ public class ExportExcel {
for (SysDataDictionaryItem sysDataDictionaryItem : isHex) {
if(sysDataDictionaryItem.getItemCode().equals("1")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
list.add(sysDataDictionaryItem.getItemCode());
index++;
}
if(region.getConfigHex().split(",").length>1){
if(sysDataDictionaryItem.getItemCode().equals("0")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
list.add(sysDataDictionaryItem.getItemCode());
index++;
}
}
}
}
if(!((","+region.getConfigHex()+",").indexOf(",1,") >-1)){
}else{
for (SysDataDictionaryItem sysDataDictionaryItem : isHex) {
if(sysDataDictionaryItem.getItemCode().equals("0")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
list.add(sysDataDictionaryItem.getItemCode());
index++;
}
}
@@ -617,7 +722,7 @@ public class ExportExcel {
}
}
if(StringUtil.isEmpty(commentStr)){
if(StringUtil.isEmpty(commentStr) || (!StringUtil.isEmpty(list) && list.size()==1)){
headerStr="";
commentStr="";
}else{
@@ -626,6 +731,7 @@ public class ExportExcel {
}
}
if("is_case_insenstive".equals(headerStr)){
List<String> list=new ArrayList<String>();
if(StringUtil.isEmpty(region.getConfigHex())){
headerStr="";
commentStr="";
@@ -633,17 +739,22 @@ public class ExportExcel {
commentStr="";
List<SysDataDictionaryItem> isCaseSenstive=DictUtils.getDictList("CASE_INSENSTIVE");
if(isCaseSenstive !=null && isCaseSenstive.size()>0){
if(((","+region.getConfigHex()+",").indexOf(",2,") >-1)){
if(((","+region.getConfigHex()+",").indexOf(",0,") >-1)){
for (SysDataDictionaryItem sysDataDictionaryItem : isCaseSenstive) {
if(sysDataDictionaryItem.getItemCode().equals("1")){
if(sysDataDictionaryItem.getItemCode().equals("0")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
index++;
}
if(region.getConfigHex().split(",").length>1){
if(sysDataDictionaryItem.getItemCode().equals("1")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
index++;
}
}
}
}
if(!((","+region.getConfigHex()+",").indexOf(",2,") >-1)){
}else{
for (SysDataDictionaryItem sysDataDictionaryItem : isCaseSenstive) {
if(sysDataDictionaryItem.getItemCode().equals("0")){
if(sysDataDictionaryItem.getItemCode().equals("1")){
commentStr=commentStr+sysDataDictionaryItem.getItemCode()+""+msgProp.getProperty(sysDataDictionaryItem.getItemValue())+""+"\n";
index++;
}
@@ -652,7 +763,7 @@ public class ExportExcel {
}
}
if(StringUtil.isEmpty(commentStr)){
if(StringUtil.isEmpty(commentStr) || (!StringUtil.isEmpty(list) && list.size()==1)){
headerStr="";
commentStr="";
}else{

View File

@@ -1097,8 +1097,16 @@ public class BaseController {
if(serviceDict.getFunctionId().intValue()==5&&serviceDict.getAction().intValue()==64) {
String userRegion1=baseIpCfg.getUserRegion1();
try {
Double ratelimt= Double.parseDouble(userRegion1);
if(ratelimt>0.009||ratelimt<0.001) {
// Double ratelimt= Double.parseDouble(userRegion1);
List<SysDataDictionaryItem> ratelimtList=DictUtils.getDictList("RATE_LIMIT");
boolean has=false;
for(SysDataDictionaryItem ratelimit:ratelimtList) {
if(ratelimit.getItemCode().equals(userRegion1)) {
has=true;
break;
}
}
if(!has) {
errInfo.append(prop.getProperty("ratelimit")+"."+String.format(prop.getProperty("must_between"),0.001,0.009)+";");
}
} catch (Exception e) {
@@ -1142,7 +1150,7 @@ public class BaseController {
}
if (regionDict.getRegionType().equals(1)) {
// 校验必填的IP端口
for (String code : configIpPortShow.split(",")) {
/*for (String code : configIpPortShow.split(",")) {
if ("1".equals(code)) {// 源IP
if (StringUtil.isEmpty(baseIpCfg.getSrcIpAddress())) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
@@ -1164,48 +1172,58 @@ public class BaseController {
prop.getProperty("server_port", "Server Port")) + ";");
}
}
}
}*/
boolean srcIpEmpty = false;
boolean destIpEmpty = false;
boolean srcPortEmpty = false;
boolean destPortEmpty = false;
if (StringUtil.isEmpty(baseIpCfg.getSrcIpAddress())) {
srcIpEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestIpAddress())) {
if (srcIpEmpty) {// 全部为空,填值
if (canIPv4 && canIPFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
} else if (canIPv4 && canIPSubnetFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPSubnetFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
} else if (canIPv4 && canIPRangeFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPRangeFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
}
} else {
// 目的IP为空
destIpEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getSrcPort())) {
srcPortEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestPort())) {
destPortEmpty = true;
}
if(srcIpEmpty&&destIpEmpty) {
if(configIpPortShow.indexOf("1")>-1&&configIpPortShow.indexOf("3")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("1")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("3")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("server_ip", "Server IP")) + ";");
}
}else if (destIpEmpty) {// 目的IP为空
if(configIpPortShow.indexOf("3")>-1&&configIpPortShow.indexOf("1")==-1) {//目的IP必填
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("server_ip", "Server IP")) + ";");
}else if(configIpPortShow.indexOf("1")>-1){
/*if(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_VALUE+"'")+";");
}*/
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
if (matchType.startsWith("IPV6")) {
@@ -1215,8 +1233,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1224,8 +1242,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1233,7 +1251,7 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().equals(Constants.IPV6_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("client_ip")
+ String.format("can_not_be", Constants.IPV6_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(6);
@@ -1245,8 +1263,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1254,8 +1272,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1263,14 +1281,37 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().equals(Constants.IPV4_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("client_ip")
+ String.format("can_not_be", Constants.IPV4_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(4);
}
}
} else {
if (srcIpEmpty) {// 源IP为空
} else if (srcIpEmpty) {// 源IP为空
if(configIpPortShow.indexOf("1")>-1&&configIpPortShow.indexOf("3")==-1) {//源IP必填
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("3")>-1){
/*if(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_VALUE+"'")+";");
}*/
String matchType = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (matchType.startsWith("IPV6")) {
@@ -1280,8 +1321,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1289,8 +1330,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1298,7 +1339,7 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getDestIpAddress().equals(Constants.IPV6_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("server_ip")
+ String.format("can_not_be", Constants.IPV6_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(6);
@@ -1312,8 +1353,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1321,8 +1362,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1330,65 +1371,61 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getDestIpAddress().equals(Constants.IPV4_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("server_ip")
+ String.format("can_not_be", Constants.IPV4_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(4);
}
}
} else {//全不为空
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
String matchType1 = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (StringUtils.isNotBlank(matchType)&&StringUtils.isNotBlank(matchType1)&&
!matchType.equals(matchType1)) {
errInfo.append(prop.get("the_same_ip_type_pattern") + ";");
}
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
if (matchType.startsWith("IPV6")) {
baseIpCfg.setIpType(6);
} else {
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
String matchType1 = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (StringUtils.isNotBlank(matchType)&&StringUtils.isNotBlank(matchType1)&&
!matchType.equals(matchType1)) {
errInfo.append(prop.get("the_same_ip_type_pattern") + ";");
baseIpCfg.setIpType(4);
}
if (matchType.endsWith("RANGE")) {
if (matchType.startsWith("IPV4")) {
this.validIPv4Range("client_ip", errInfo, baseIpCfg.getSrcIpAddress());
this.validIPv4Range("server_ip", errInfo, baseIpCfg.getDestIpAddress());
}
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
if (matchType.startsWith("IPV6")) {
baseIpCfg.setIpType(6);
} else {
baseIpCfg.setIpType(4);
}
if (matchType.endsWith("RANGE")) {
if (matchType.startsWith("IPV4")) {
this.validIPv4Range("client_ip", errInfo, baseIpCfg.getSrcIpAddress());
this.validIPv4Range("server_ip", errInfo, baseIpCfg.getDestIpAddress());
}
if (baseIpCfg.getSrcIpAddress().split("-")[0]
.equals(baseIpCfg.getDestIpAddress().split("-")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("-")[0],
baseIpCfg.getDestIpAddress().split("-")[0]) + ";");
}
baseIpCfg.setIpPattern(2);
} else if (matchType.endsWith("SUBNET")) {
if (baseIpCfg.getSrcIpAddress().split("/")[0]
.equals(baseIpCfg.getDestIpAddress().split("/")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("/")[0],
baseIpCfg.getDestIpAddress().split("/")[0]) + ";");
}
baseIpCfg.setIpPattern(1);
} else {
if (baseIpCfg.getSrcIpAddress().equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
prop.getProperty("client_ip"), prop.getProperty("server_ip")) + ";");
}
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().split("-")[0]
.equals(baseIpCfg.getDestIpAddress().split("-")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("-")[0],
baseIpCfg.getDestIpAddress().split("-")[0]) + ";");
}
baseIpCfg.setIpPattern(2);
} else if (matchType.endsWith("SUBNET")) {
if (baseIpCfg.getSrcIpAddress().split("/")[0]
.equals(baseIpCfg.getDestIpAddress().split("/")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("/")[0],
baseIpCfg.getDestIpAddress().split("/")[0]) + ";");
}
baseIpCfg.setIpPattern(1);
} else {
if (baseIpCfg.getSrcIpAddress().equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
prop.getProperty("client_ip"), prop.getProperty("server_ip")) + ";");
}
baseIpCfg.setIpPattern(3);
}
}
// TODO 判断源IP和目的IP的值
// TODO 判断源IP和目的IP格式
if (StringUtil.isEmpty(baseIpCfg.getSrcPort())) {
srcPortEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestPort())) {
if (destPortEmpty) {
if (srcPortEmpty) {
baseIpCfg.setSrcPort("0");
baseIpCfg.setDestPort("0");

View File

@@ -3,6 +3,8 @@ package com.nis.web.controller.basics;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -15,7 +17,9 @@ import org.apache.zookeeper.ZooDefs.Ids;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -24,6 +28,8 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.configuration.RequestInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigDictUtils;
import com.nis.util.Configurations;
import com.nis.util.StringUtil;
@@ -46,6 +52,63 @@ public class ServiceDictInfoController extends BaseController {
}
@RequestMapping(value="requestSelectInfo")
public String requestSelectInfo(Model model){
List<RequestInfo> requestInfos=requestInfoService.getValidRequestInfo();
model.addAttribute("requestInfos", requestInfos);
return "/basics/requestSelectInfo";
}
@ResponseBody
@RequestMapping(value="requestCancleInfoAjax", method = RequestMethod.POST)
public String requestCancleInfoAjax(Integer cancelRequestId,String ids,String indexTable){
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
for(String id :idArray){
try {
serviceDictInfoService.auditCancleRequestInfo(cancelRequestId,indexTable,id);
} catch (Exception e) {
e.printStackTrace();
logger.error("审核添加取消来函信息失败",e);
return "false";
}
}
}
return "true";
}
/**
*
* 根据id获取取消审核时的来函号信息
* @param ids
* @param indexTable
* @return
*/
@ResponseBody
@RequestMapping(value="requestCancleInfoNumber")
public Map requestCancleInfoNumber(String ids,String indexTable){
List list = new ArrayList();
String requestTitle="";
Map map=new HashMap();
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
// for(String id :idArray){
try {
Integer cancelRequestId= serviceDictInfoService.requestCancleInfoNumber(indexTable.trim(),Long.parseLong(ids));
if(cancelRequestId!=null) {
requestTitle = requestInfoService.getRequestTitleById(cancelRequestId.longValue());
if(StringUtils.isBlank(requestTitle)) {
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
logger.error("查询取消审核来函信息失败",e);
return map;
}
// }
}
map.put("requestTitle", requestTitle);
return map;
}
/**
* 查询业务辅助表-业务字典信息列表(无条件分页查询)

View File

@@ -144,6 +144,8 @@ public class IpMultiplexController extends CommonController {
@RequestMapping(value = {"/saveOrUpdateSnat"})
public String saveOrUpdateSnat(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
// 设置生效区域信息
groupAreaService.setAreaEffective(cfg);
this._saveOrUpdateIp(cfgName,model, cfg);
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId();
}
@@ -191,6 +193,8 @@ public class IpMultiplexController extends CommonController {
@RequestMapping(value = {"/saveOrUpdateDnat"})
public String saveOrUpdateDnat(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
// 设置生效区域信息
groupAreaService.setAreaCodeByGroupId(cfg);
this._saveOrUpdateIp(cfgName,model, cfg);
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+cfg.getFunctionId();
}

View File

@@ -76,6 +76,9 @@ public interface ServiceDictInfoDao extends CrudDao<ServiceDictInfo> {
List<ServiceDictInfo> findItemDict(@Param("itemType")int itemType,@Param("isValid")int isValid,@Param("isLeaf")Integer isLeaf);
List<ServiceDictInfo> findAllItemDictByItemType(@Param("itemType")int itemType,@Param("isLeaf")Integer isLeaf);
void auditCancleRequestInfo(@Param("cancelRequestId")Integer cancelRequestId, @Param("indexTable")String indexTable,@Param("id") String id);
Integer requestCancleInfoNumber(@Param("indexTable")String indexTable,@Param("id")Long id);

View File

@@ -307,8 +307,11 @@
LEFT JOIN service_dict_info p ON p.service_dict_id = s.parent_id
</sql>
<update id="auditCancleRequestInfo">
UPDATE ${indexTable} SET cancel_request_id = #{cancelRequestId} WHERE cfg_id = #{id}
</update>
<select id="requestCancleInfoNumber" resultType="Integer">
select cancel_request_id cancelRequestId from ${indexTable} where cfg_id = #{id}
</select>
</mapper>

View File

@@ -17,6 +17,6 @@ public interface IpMultiplexPoolCfgDao extends CrudDao<IpMultiplexPoolCfg> {
IpMultiplexPoolCfg getCfgInfo(IpMultiplexPoolCfg cfg);
String getIspByGroupId(Integer groupId);
List<IpMultiplexPoolCfg> getIspByGroupId(Integer groupId);
}

View File

@@ -328,13 +328,13 @@
</trim>
</select>
<select id="getIspByGroupId" resultType="java.lang.String">
<select id="getIspByGroupId" resultMap="IpMultiplexPoolCfgMap">
SELECT
area_effective_ids
<include refid="IpMultiplexPoolCfgColumns"/>
FROM
ip_multiplex_pool_cfg
ip_multiplex_pool_cfg r
WHERE
policy_group = #{groupId} AND is_valid != -1
r.POLICY_GROUP = #{groupId} AND r.IS_VALID != -1
</select>
</mapper>

View File

@@ -25,5 +25,7 @@ public interface RequestInfoDao extends CrudDao {
void delete(@Param("id") Long id);
String getRequestTitleById(@Param("id")Long id);
}

View File

@@ -217,4 +217,8 @@
<include refid="Base_Column_List" />
from request_info
</select>
<select id="getRequestTitleById" resultType="string">
select request_title requestTitle from request_info where id=#{id}
</select>
</mapper>

View File

@@ -302,6 +302,23 @@ public class ServiceDictInfoService extends BaseService{
}
/**
*
* 取消审核的时候增加取消来函
* @param cancelRequestId
* @param indexTable
* @param id
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void auditCancleRequestInfo(Integer cancelRequestId, String indexTable, String id) {
serviceDictInfoDao.auditCancleRequestInfo(cancelRequestId, indexTable, id);
}
public Integer requestCancleInfoNumber(String indexTable, Long id) {
Integer cancleRequestId = serviceDictInfoDao.requestCancleInfoNumber( indexTable, id);
return cancleRequestId;
}

View File

@@ -85,21 +85,49 @@ public class GroupAreaService extends BaseService{
return policyGroups;
}
// SNAT策略 组织生效区域信息
public void setAreaCodeByGroupId(IpPortCfg cfg){
Integer areaCode = groupAreaDao.getAreaCodeByGroupId(cfg.getDnsStrategyId());
cfg.setAreaEffectiveIds(areaCode+"");
}
// snat策略 设置生效区域信息
public void setAreaEffective(IpPortCfg cfg) {
String areaEffectiveIds = "";
if(cfg.getDnsStrategyId() != 0){// 已选择分组
// 1.获取该分组的省份信息
Integer areaCode = groupAreaDao.getAreaCodeByGroupId(cfg.getDnsStrategyId());
// 1.设置省份信息
this.setAreaCodeByGroupId(cfg);
areaEffectiveIds = cfg.getAreaEffectiveIds();
// 2.获取该分组下的IP复用地址池配置的ISP
IpMultiplexPoolCfgService poolCfgService = SpringContextHolder.getBean(IpMultiplexPoolCfgService.class);
String ispInfo = poolCfgService.getIspByGroupId(cfg.getDnsStrategyId());
if(ispInfo.indexOf(":") != -1){
ispInfo = ispInfo.substring(ispInfo.indexOf(":"));
List<IpMultiplexPoolCfg> cfgsList = poolCfgService.getIspByGroupId(cfg.getDnsStrategyId());
String newAreaEffectiveIds = "";
List<String> ispList = new ArrayList<>();
if(cfgsList.size() != 0){
for (IpMultiplexPoolCfg poolCfg : cfgsList) {
String areaIsp = poolCfg.getAreaEffectiveIds();
if(areaIsp.contains(":")){
areaIsp = areaIsp.substring(areaIsp.indexOf(":")+1);
}
ispList.add(areaIsp);
}
}
areaEffectiveIds = areaCode + ispInfo;
// 3.组织格式
if(ispList.size() != 0){
for (int i = 0; i < ispList.size(); i++) {
if(i < ispList.size()-1){
newAreaEffectiveIds += cfg.getAreaEffectiveIds()+":"+ispList.get(i)+",";
}else{
newAreaEffectiveIds += cfg.getAreaEffectiveIds()+":"+ispList.get(i);
}
}
areaEffectiveIds = newAreaEffectiveIds;
}
}else{
areaEffectiveIds = cfg.getAreaEffectiveIds();
}
cfg.setAreaEffectiveIds(areaEffectiveIds);
}
// IP复用地址池 设置省份信息

View File

@@ -181,7 +181,7 @@ public class IpMultiplexPoolCfgService extends BaseService{
* @param groupId
* @return
*/
public String getIspByGroupId(Integer groupId){
public List<IpMultiplexPoolCfg> getIspByGroupId(Integer groupId){
return ipMultiplexStrategyDao.getIspByGroupId(groupId);
};
}

View File

@@ -118,4 +118,9 @@ public class RequestInfoService extends BaseService{
public List<TaskInfo> showTask(TaskInfo taskInfo) {
return taskInfoDao.findList(taskInfo);
}
public String getRequestTitleById(Long id) {
return requestInfoDao.getRequestTitleById(id);
}
}

View File

@@ -1281,3 +1281,5 @@ visible_keyword_tip=Single keyword is not allowed to enter \n invisible characte
single_keyword_tip=Only single key input is allowed.
ipv4_mask_range_tip=IP mask must between 16 and 32
ipv6_mask_range_tip=IP Mask must between 2 and 128
letter_cancel_info=Cancel Letter Info
import_tip_excel=Please choose a valid Excel file with which it's subfix is .xls or .xlsx to import.

View File

@@ -1301,3 +1301,5 @@ visible_keyword_tip=Single keyword is not allowed to enter \n invisible characte
single_keyword_tip=Only single key input is allowed.
ipv4_mask_range_tip=IP mask must between 16 and 32
ipv6_mask_range_tip=IP Mask must between 2 and 128
letter_cancel_info=Cancel Letter Info
import_tip_excel=Please choose a valid Excel file with which it's subfix is .xls or .xlsx to import.

View File

@@ -1276,3 +1276,5 @@ visible_keyword_tip=Single keyword is not allowed to enter \n invisible characte
single_keyword_tip=Only single key input is allowed.
ipv4_mask_range_tip=IP mask must between 16 and 32
ipv6_mask_range_tip=IP Mask must between 2 and 128
letter_cancel_info=\u53D6\u6D88\u5BA1\u6838\u6765\u51FD
import_tip_excel=\u8BF7\u9009\u62E9\u6587\u4EF6\u7ED3\u5C3E\u4E3A.xls\u6216\u8005.xlsx\u7684\u6709\u6548Excel\u6587\u4EF6\u5BFC\u5165

View File

@@ -0,0 +1,11 @@
#取消审核时增加来函信息 数据库增加字段
ALTER TABLE dns_ip_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE dns_res_strategy ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE ip_port_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE ddos_ip_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE av_file_sample_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE cfg_index_info ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE app_policy_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE pxy_obj_keyring ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE file_digest_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';
ALTER TABLE ip_multiplex_pool_cfg ADD cancel_request_id int(11) DEFAULT NULL COMMENT '取消审核来函';

View File

@@ -4,7 +4,7 @@
<div class="modal fade" id="import_modal" tabindex="-1" role="dialog" aria-labelledby="mo" aria-hidden="true">
<form id="importForm1" action="${ctx}/ntc/iplist/import?importPath=${importPath}" method="post" enctype="multipart/form-data" class="form-horizontal"
onsubmit="loading('<spring:message code='loading'/>');">
<input type="hidden" id="importTip" value="<spring:message code='import_tip_excel'/>">
<div class="modal-dialog" role="document" style="width:700px;">
<div class="modal-content">
<div class="modal-header">

View File

@@ -199,7 +199,105 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}
top.$.jBox.confirm("<spring:message code='confirm_message'/>","<spring:message code='info'/>",function(v,h,f){
if((url.indexOf("?isAudit=3") > 1)){
// 审核中区分是否有添加取消来函
var reobj=JSON.parse(JSON.stringify("${page.list[0]}"));
var indexTableNameArr=reobj.match(/indexTable=(\w*),/);
var requestNameArr=reobj.match(/requestName=(\w*),/);
// 有来函业务的取消审核
if(reobj!=null&&reobj.indexOf("requestName")!=-1&&requestNameArr!=null&&requestNameArr.length>1&&indexTableNameArr!=null&&indexTableNameArr.length>1){
var indexTableName =indexTableNameArr[1];
var requestName =requestNameArr[1];
if(requestName.indexOf("null")==-1&&typeof(indexTableName)!="undefined"&&indexTableName!=null&&indexTableName!=''&&indexTableName.indexOf("null")==-1){
$.jBox.open("iframe:${ctx}/basics/serviceDictInfo/requestSelectInfo", "取消审核通过", 400, 500, { buttons: { '确定': 1, '取消': 0 },
submit: function (v, h, f) {
if (v == 0) {
return true; // close the window
} else {
h.find('.errorBlock').hide('fast', function () { $(this).remove(); });
var cancelRequestId = h.find("iframe")[0].contentWindow.requestIsAudit.value;
if (!cancelRequestId) {
$('<div class="errorBlock" style="display: none;font-size:18px;color:red;text-align:center;margin-top:10px">请选择来函信息!</div>').prependTo(h).show('fast');
return false;
}
if(url.indexOf("?")>0){
$.ajax({
type:'post',
url:'${ctx}/basics/serviceDictInfo/requestCancleInfoAjax',
data:{"cancelRequestId":cancelRequestId,"ids":ids,"indexTable":indexTableName},
async:false,
success:function(data,textStatus){//处理返回结果
window.location = url+"&ids="+ids+"&compileIds="+compileIds;
}
});
}else{
window.location = url+"?ids="+ids+"&compileIds="+compileIds;
}
if(url.indexOf("?isAudit") > 1){
loading('<spring:message code="onloading"/>');
}else if(url.indexOf("export") > 1){
closeTip();
}
}
return true;
},
loaded:function(h){
$(".jbox-content,top.document").css("overflow-y","hidden")
$(".jbox-content,top.document.children").css("clear","both")
$(".jbox-content,top.document.children").css("z-index","999999")
$(".jbox-content,top.document.children").css("overflow;","auto")
$(".jbox-content,top.document").css("width","90%")
}
});
}else{
// 防止有来函无表名的取消审核操作
top.$.jBox.confirm("<spring:message code='confirm_message'/>","<spring:message code='info'/>",function(v,h,f){
if(v=="ok"){
if(url.indexOf("?")>0){
window.location = url+"&ids="+ids+"&compileIds="+compileIds;
}else{
window.location = url+"?ids="+ids+"&compileIds="+compileIds;
}
if(url.indexOf("?isAudit") > 1){
loading('<spring:message code="onloading"/>');
}else if(url.indexOf("export") > 1){
closeTip();
}
//$("#searchForm").submit();
}
},{buttonsFocus:1});
top.$('.jbox-body .jbox-icon').css('top','55px');
}
}else{
// 无来函选项的取消审核操作
top.$.jBox.confirm("<spring:message code='confirm_message'/>","<spring:message code='info'/>",function(v,h,f){
if(v=="ok"){
if(url.indexOf("?")>0){
window.location = url+"&ids="+ids+"&compileIds="+compileIds;
}else{
window.location = url+"?ids="+ids+"&compileIds="+compileIds;
}
if(url.indexOf("?isAudit") > 1){
loading('<spring:message code="onloading"/>');
}else if(url.indexOf("export") > 1){
closeTip();
}
//$("#searchForm").submit();
}
},{buttonsFocus:1});
top.$('.jbox-body .jbox-icon').css('top','55px');
}
//除取消审核之外的业务
}else{
top.$.jBox.confirm("<spring:message code='confirm_message'/>","<spring:message code='info'/>",function(v,h,f){
if(v=="ok"){
if(url.indexOf("?")>0){
@@ -216,7 +314,7 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
}
},{buttonsFocus:1});
top.$('.jbox-body .jbox-icon').css('top','55px');
}
}
//验证选择的配置,是否可删除或者审核未通过或者审核通过,只有未审核的配置可删除或审核未通过或审核通过
function validateAllNoAudit(checkboxes){

View File

@@ -0,0 +1,32 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<script type="text/javascript">
function changesel(){
if($("#requestIsAudit").val()!=''&&$("#requestIsAudit").val()!=null){
$(".errorBlock").hide()
}
}
</script>
<div class="row"
style="scrolling:auto;z-index:999;position:relative;height: 25px; font-size: 18px; text-align: center; margin-top: 30px; margin-left: 20px; line-height: 30px;">
<div class="col-md-8">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font> 来函 </label>
<div class="col-md-6">
<select id="requestIsAudit" name="requestId" onchange="changesel()"
class="selectpicker field required form-control" data-live-search="true"
data-live-search-placeholder="search">
<option value=""><spring:message code="select" /></option>
<c:forEach items="${requestInfos}" var="requestInfo">
<option value="${requestInfo.id}"><spring:message
code="${requestInfo.requestTitle}"></spring:message></option>
</c:forEach>
</select>
</div>
</div>
</div>
</div>
<!--/row-->

View File

@@ -483,7 +483,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -425,7 +425,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${cfg.creatorName }</td>

View File

@@ -496,8 +496,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>
<td>${cfg.creatorName }</td>

View File

@@ -463,7 +463,9 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}">
<span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -402,8 +402,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>
<td>${cfg.creatorName }</td>

View File

@@ -497,7 +497,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -415,8 +415,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>
<td>

View File

@@ -412,8 +412,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>
<td>${cfg.creatorName }</td>

View File

@@ -1,335 +0,0 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<style type="text/css">
.boxSolid {
border: 1px solid #eeeeee
}
</style>
<script type="text/javascript">
$(document)
.ready(
function() {
$(".glyphicon-plus").first().click();
/* $("#cancel").on("click", function() {
window.history.back();
});*/
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
var action=$("input[name='action']:checked").val();
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
$("#cfgFrom").validate(
{ errorPlacement : function(error, element) {
if($(element).parents().hasClass("tagsinput")){
$(element).parents(".col-md-6").next("div").append(error);
}else{
$(element).parents(".form-group").find(
"div[for='"
+ element.attr("name")
+ "']").append(error);
}
},
submitHandler : function(form) {
var flag = true;
var subscribeId=0;
//瀛樺湪闅愯棌鐨剆ubscribeId锛屼笉绠楄繘鍩熼厤缃<E58EA4>
if($(".boxSolid.hidden").hasClass("subscribeId")){
subscribeId=1;
}
//浠〃鎵<E38083>鏈変笟鍔¢兘闅愯棌浜嗭紝鎻愮ず蹇呴』澧炲姞涓<E5A79E>绉嶄笟鍔℃暟鎹<E69A9F>
if(($(".boxSolid").length - 1) == ($(".boxSolid.hidden").length - subscribeId)){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}
//浠〃鎵<E38083>鏈夊尯鍩熼兘闅愯棌浜嗭紝鎻愮ず蹇呴』澧炲姞涓尯鍩熶俊鎭<E4BF8A>
if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){
if($("#areaIsp").hasClass("hidden")) $("#areaIp").find(".glyphicon-plus").click();
if($("#areaIp").hasClass("hidden")) $("#areaIsp").find(".glyphicon-plus").click();
top.$.jBox.tip("<spring:message code='one_more_area'/>", "<spring:message code='info'/>");
return;
}
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
if($(this).val()==''){
$(this).parents(".form-group").find(
"div[for='"
+ $(this).attr("name")
+ "']").html("<label id=\"cfgKeywordsError\" class=\"error\">"+$("#keywordError").text()+"</label>");
flag = false;
}
})
//keywords闈炵┖鏍¢獙瀹屾垚鏍¢獙浜岃繘鍒跺瓧绗︿覆
$(".boxSolid:visible").find("select[name$='isHexbin']").each(function(){
var isHexbin=$(this).val();
if(isHexbin == 1){ //鍗佸叚杩涘埗
var keywords=$("input[name$='"+$(this).attr("name").replace("isHexbin","cfgKeywords")+"']").val();
keywords=keywords.replace("***and***","")
if(keywords != ''){
if(!(/^([0-9|a-f|A-F]*)$/.test(keywords))){
$(this).parents(".boxSolid").find(
"div[for='"
+ $(this).attr("name").replace("isHexbin","cfgKeywords")
+ "']").html("<label id=\"cfgKeywordsError\" class=\"error\">"+$.validator.messages.hexCheck+"</label>");
flag = false;
}
}
}
});
var flag1=validateInvisibleCharTag();
if(flag){
flag=flag1;
}
if(flag){
//灏哾isable灞炴<E7819E>х殑鍏冪礌鍒犻櫎
$(".disabled").each(function(){
$(this).remove();
});
$("input[name$='exprType']").attr("disabled",false);
loading('onloading...');
form.submit();
}else{
return;
}
},
errorContainer : "#messageBox",
});
//涓氬姟鍐呭澧炲姞
/* $("span[title='add']").on("click", function() {
$(".ipPort0").removeClass("hidden");
}); */
});
//涓氬姟绐楀彛鎵撳紑
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass(
"disabled");
/* $("."+contentClassName+"0").find("input,select").each(function(){
$(this).removeAttr("disabled");
}); */
$(obj).addClass("hidden");
}
//涓氬姟绐楀彛鍏抽棴
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
/* $("."+contentClassName).find("input,select").each(function(){
$(this).attr("disabled","true");
}); */
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span>
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<div class="page-content">
<h3 class="page-title">
<spring:message code="${_cfg.menuNameCode }"></spring:message>
</h3>
<div class="row">
<div class="col-md-12">
<div class="portlet box blue">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-gift"></i>
<c:if test="${empty _cfg.cfgId}">
<spring:message code="add"></spring:message>
</c:if>
<c:if test="${not empty _cfg.cfgId}">
<spring:message code="edit"></spring:message>
</c:if>
</div>
</div>
<div class="portlet-body form">
<!-- BEGIN FORM-->
<form id="cfgFrom" action="${ctx}/ntc/av/saveVoip"
method="post" class="form-horizontal">
<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="serviceId" name="serviceId"
value="${_cfg.serviceId}">
<div class="form-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message
code="config_describe" /></label>
<div class="col-md-6">
<input class="form-control" type="text" name="cfgDesc"
value="${_cfg.cfgDesc}">
</div>
</div>
</div>
<!-- 鍔ㄤ綔 -->
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="action" /></label>
<div class="col-md-6">
<c:forEach items="${serviceList}" var="service"
varStatus="satus">
<label class="radio-inline"> <c:if test="${_cfg.functionId eq service.functionId}">
<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">
<c:if test="${dict.itemCode eq service.action }">
<spring:message code="${dict.itemValue }"/>
</c:if>
</c:forEach>
</c:if>
</label>
</c:forEach>
</div>
<div for="action"></div>
</div>
</div>
</div>
<!-- dolog begin-->
<div class="row doLog">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<c:choose>
<c:when test="${dict.itemCode eq _cfg.doLog}">
<label class="radio-inline">
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:when>
<c:otherwise>
<label class="radio-inline">
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
</label>
</c:otherwise>
</c:choose>
</c:forEach>
</div>
</div>
</div>
<!-- dolog end-->
<c:set var="ipCfgIndex" value="0"></c:set>
<c:set var="strCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 1 }">
<!--ip info-->
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
<small> <span
class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="voipIps[${ipCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.voipIps)>0 and ipCfgIndex<fn:length(_cfg.voipIps) }">
<c:forEach items="${_cfg.voipIps}" var="ipPort">
<c:if test="${region.configRegionValue eq ipPort.cfgType }">
<div class="row boxSolid ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/ipCfgForm.jsp"%>
</div>
<c:set var="ipCfgIndex" value="${ipCfgIndex+1}"></c:set>
</c:if>
</c:forEach>
</c:when>
<c:otherwise>
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/ipCfgForm.jsp"%>
</div>
<c:set var="ipCfgIndex" value="${ipCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
<!--/ip info-->
</c:if>
<c:if test="${region.regionType eq 2 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
<small> <span
class="glyphicon glyphicon-plus ${tabName}Add"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${strCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
<div class="row boxSolid subscribeId ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="isBreak" value="true" ></c:set>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
</c:when>
</c:choose>
</c:forEach>
<c:if test="${!isBreak}">
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid subscribeId ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<br>
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
<br>
<%@include file="/WEB-INF/include/form/basicInfo.jsp"%>
<div class="form-actions">
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-offset-3 col-md-8">
<button id="save" type="submit" class="btn green">
<spring:message code="submit" />
</button>
<button id="cancel" type="button" class="btn default">
<spring:message code="cancel" />
</button>
</div>
</div>
</div>
<div class="col-md-6"></div>
</div>
</div>
</div>
</form>
<!-- END FORM-->
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -463,8 +463,9 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${indexCfg.isAudit eq '3'}">
<span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>
<td>${indexCfg.creatorName }</td>

View File

@@ -1,801 +0,0 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
<link href="${pageContext.request.contextPath}/static/global/plugins/treeTable/themes/vsStyle/treeTable.min.css" rel="stylesheet" type="text/css" />
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
<c:choose>
<c:when test="${cookie.Language.value eq 'zh_CN'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'en'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:when>
<c:when test="${cookie.Language.value eq 'ru_RU'}">
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-ru_RU.min.js"></script>
</c:when>
<c:otherwise>
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
</c:otherwise>
</c:choose>
<script>
$(document).ready(function() {
//鎼滅储妗嗘彁绀鸿鍒濆鍖<EE9D90>
if("${cfg.cfgDesc}"){
$("#intype").val("${cfg.cfgDesc}");
}else if("${cfg.voipIp.srcIpAddress}"){
$("#intype").val("${cfg.voipIp.srcIpAddress}");
}else if("${cfg.compileId}"){
$("#intype").val("${cfg.compileId}");
}else if("${cfg.voipIp.srcPort}"){
$("#intype").val("${cfg.voipIp.srcPort}");
}else if("${cfg.ntcSubscribeIdCfg.cfgKeywords}"){
$("#intype").val("${cfg.ntcSubscribeIdCfg.cfgKeywords}");
}else{
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
}
$("#seltype").change(function(){
$("#intype").attr("placeholder","<spring:message code='input'/> "+$(this).find("option:selected").text());
});
//绛涢<E7BB9B>夊姛鑳藉垵濮嬪寲
filterActionInit();
$("#isAudit").change(function(){
page();
});
//reset
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$("#level").attr("value",'');
$("#searchForm")[0].reset();
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
});
//寮傛鑾峰彇voip鐩稿叧淇℃伅
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
var compileId=$(this).attr("compileId");
var cfgId=$(this).attr("cfgId");
var hasIp=false;
var hasSubscribe=false;
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
data:{"compileId":compileId,"cfgId":cfgId},
success:function(data){
var voipIpCfgTab="<tr class='child'>"+
"<td style='border-right: 1px solid #FFFFFF;'>"+
"<input type='checkbox' hidden='hidden'/>"+
"</td>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
if(data.subscribe.length >0){
hasSubscribe=true;
html+="<div id='subscribeTitle"+index+"' onclick='switchInfo(\"ip\","+index+")' class='col-md-1 tabInfo badge-info' >";
html+="<spring:message code='NTC_SUBSCRIBE_ID'/>";
html+="<i id='subscribeDown"+index+"' class='fa fa-angle-double-down '></i>";
html+="<i id='subscribeUp"+index+"' class='fa fa-angle-double-up ' style='display:none'></i>";
html+="</div>";
}
if(data.ip.length >0){
hasIp=true;
html+="<div id='ipTitle"+index+"' onclick='switchInfo(\"subscribe\","+index+")' class='col-md-1 tabInfo' >";
html+="<spring:message code='av_voip_ip_title'/>";
html+="<i id='ipDown"+index+"' class='fa fa-angle-double-down' style='display:none' ></i>";
html+="<i id='ipUp"+index+"' class='fa fa-angle-double-up '></i>";
html+="</div>";
}
html+="</div>";
//subscribe淇℃伅
if(data.subscribe.length > 0){
html+="<div id='subscribeInfo"+index+"' class='content content'>";
$.each(data.subscribe,function(index,item){
html+="<div class='row'>";
html+="<div class='col-md-8'>";
html+="<div class='form-group'>";
html+="<label class='keyword-disinline'><spring:message code='NTC_SUBSCRIBE_ID'/>锛<> ";
html+=item.cfgKeywords.replace(/\*\*\*and\*\*\*/g , " ");
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
if(item.isHexbin==0){
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_hex'/>锛<></label>";
html+="<label>"
html+="<spring:message code='not_hex'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_case_insenstive'/>锛<></label>";
html+="<label>"
html+="<spring:message code='case_insenstive'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
}
if(item.isHexbin==1){
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_hex'/>锛<></label>";
html+="<label>"
html+="<spring:message code='hex'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_case_insenstive'/>锛<></label>";
html+="<label>"
html+="<spring:message code='case_insenstive'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
}
if(item.isHexbin==2){
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_hex'/>锛<></label>";
html+="<label>"
html+="<spring:message code='not_hex'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='is_case_insenstive'/>锛<></label>";
html+="<label>"
html+="<spring:message code='case_senstive'/>"
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
}
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='expression_type'/>锛<></label>";
html+="<label>"
if(item.exprType==1){
html+="<spring:message code='and_expression'/>"
}
if(item.exprType==0){
html+="<spring:message code='null_expression'/>"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='match_method'/>锛<></label>";
html+="<label>"
if(item.matchMethod==0){
html+="<spring:message code='substring_match'/>"
}
if(item.matchMethod==1){
html+="<spring:message code='right_match'/>"
}
if(item.matchMethod==2){
html+="<spring:message code='left_match'/>"
}
if(item.matchMethod==3){
html+="<spring:message code='exactly_match'/>"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
/* if(index < (data.ip.length-1) && index != 0){
alert("涓嬩竴琛<E7ABB4>");
}
html+="<h5 class='page-header'></h5>";*/
})
html+="</div>";
}
//ip淇℃伅
if(data.ip.length >0){
html+="<div id='ipInfo"+index+"' class='content' style='display:none'>";
$.each(data.ip,function(index,item){
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='ip_type'/>锛<></label>";
html+="<label>"
if(item.ipType==4){
html+="<spring:message code='ipv4'/>";
}
if(item.ipType==6){
html+="<spring:message code='ipv6'/>";
}
if(item.ipType==46){
html+="<spring:message code='4over6'/>";
}
if(item.ipType==64){
html+="<spring:message code='6over4'/>";
}
if(item.ipType==10){
html+="<spring:message code='all'/>";
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='ip_pattern'/>锛<></label>";
html+="<label>"
if(item.ipPattern==1){
html+="<spring:message code='ip_subnet'/>"
}
if(item.ipPattern==2){
html+="<spring:message code='ip_range'/>"
}
if(item.ipPattern==3){
html+="IP"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='client_ip'/>锛<></label>";
html+="<label>"
html+=item.srcIpAddress;
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='port_pattern'/>锛<></label>";
html+="<label>"
if(item.portPattern==1){
html+="port"
}
if(item.portPattern==2){
html+="<spring:message code='port_mask'/>"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='client_port'/>锛<></label>";
html+="<label>"
html+=item.srcPort;
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='server_ip'/>锛<></label>";
html+="<label>"
html+=item.destIpAddress;
html+="</label>";
html+="</div>";
html+="</div>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='server_port'/>锛<></label>";
html+="<label>"
html+=item.destPort;
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
html+="<div class='row'>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='direction'/>锛<></label>";
html+="<label>"
if(item.direction==0){
html+="<spring:message code='twoway'/>"
}
if(item.direction==1){
html+="<spring:message code='oneway'/>"
}
if(item.direction==2){
html+="<spring:message code='egress'/>"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="<div class='col-md-4'>";
html+="<div class='form-group'>";
html+="<label><spring:message code='protocol'/>锛<></label>";
html+="<label>"
if(item.protocol==6){
html+="TCP"
}
if(item.protocol==17){
html+="UDP"
}
if(item.protocol==0){
html+="<spring:message code='arbitrary'/>"
}
html+="</label>";
html+="</div>";
html+="</div>";
html+="</div>";
/* if(index < (data.ip.length-1) && index != 0){
alert("涓嬩竴琛<E7ABB4>");
}
html+="<h5 class='page-header'></h5>";*/
})
html+="</div>";
}
voipIpCfgTab=voipIpCfgTab+html;
voipIpCfgTab+="</td>";
voipIpCfgTab+="</tr>";
$("#"+openId).parent().parent().after(voipIpCfgTab);
if(hasSubscribe && ! hasIp){
switchInfo("ip",index);
}
if(hasIp && ! hasSubscribe){
switchInfo("subscribe",index);
}
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
function switchInfo(flag,index){
//鍏抽棴ip淇℃伅
if("ip" ==flag){
$("#ipInfo"+index).hide();
$("#downIp"+index).hide();
$("#ipTitle"+index).removeClass("badge-info");
$("#subscribeInfo"+index).show();
$("#subscribeDown"+index).show();
$("#subscribeUp"+index).hide();
$("#ipUp"+index).show();
$("#ipDown"+index).hide();
$("#subscribeTitle"+index).addClass("badge-info");
}else{
//鍏抽棴subscribe淇℃伅
$("#subscribeInfo"+index).hide();
$("#downsubscribe"+index).hide();
$("#subscribeTitle"+index).removeClass("badge-info");
$("#ipInfo"+index).show();
$("#ipDown"+index).show();
$("#subscribeUp"+index).show();
$("#subscribeDown"+index).hide();
$("#ipUp"+index).hide();
$("#ipTitle"+index).addClass("badge-info");
}
}
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="avVoipIp:config">
<button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/ntc/av/voipForm?functionId=${cfg.functionId}'">
<i class="fa fa-plus"></i>
<spring:message code="add"></spring:message></button>
</shiro:hasPermission>
</div>
<h3 class="page-title">
<spring:message code="${cfg.menuNameCode }"></spring:message>
</h3>
<h5 class="page-header"></h5>
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/ntc/av/voipList?functionId=${cfg.functionId}" method="post" class="form-search">
<input id="functionId" name="functionId" type="hidden" value="${cfg.functionId}"/>
<input id="audit" name="audit" type="hidden" value="${audit}"/>
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}"
callback="page();" />
<!-- 绛涢<E7BB9B>夋寜閽睍寮<E79D8D>鐘舵<E99098><E888B5>-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${cfg.isFilterAction }"/>
<!-- 鎼滅储鍐呭涓庢搷浣滄寜閽爮 -->
<div class="col-md-12">
<div class="pull-left">
<c:set var="state"><spring:message code='state'/></c:set>
<form:select path="isAudit" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="all_states"/></form:option>
<form:option value="0"><spring:message code="created"></spring:message></form:option>
<form:option value="1"><spring:message code="approved"></spring:message></form:option>
<form:option value="2"><spring:message code="unapproved"></spring:message></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="cfgDesc"><spring:message code="config_describe"></spring:message></form:option>
<form:option value="compileId"><spring:message code="cfg_id"/></form:option>
<form:option value="voipIp.srcIpAddress"><spring:message code="client_ip"/></form:option>
<form:option value="voipIp.srcPort"><spring:message code="client_port"/></form:option>
<form:option value="action"><spring:message code="action"></spring:message></form:option>
<form:option value="ntcSubscribeIdCfg.cfgKeywords"><spring:message code="NTC_SUBSCRIBE_ID"/></form:option>
<form:option value="isValid"><spring:message code="is_valid"></spring:message></form:option>
</form:select>
</div>
<input id="intype" class="form-control input-medium" type="text" value="">
<div class="input-group-btn">
<form:select id="actionSelect" path="action" class="selectpicker select2 input-small" >
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${serviceList}" var="service">
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
</c:forEach>
</form:select>
<form:select path="isValid" class="selectpicker select2 input-small" >
<form:option value=""><spring:message code="select"/></form:option>
<form:option value="1"><spring:message code="yes"/></form:option>
<form:option value="0"><spring:message code="no"/></form:option>
</form:select>
</div>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<shiro:hasPermission name="avVoipIp:config">
<sys:delRow url="${ctx}/ntc/av/voipForm" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/ntc/av/updateAvVoipValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
</shiro:hasPermission>
<%-- <sys:delRow url="${ctx}/ntc/av/voipExport?functionId=${cfg.functionId }" id="contentTable" label="export" maxRow="${page.maxExportSize }"></sys:delRow> --%>
<shiro:hasPermission name="avVoipIp:confirm">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right">
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=1&isValid=1&functionId=${cfg.functionId }" id="contentTable" label="approved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=2&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="unapproved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=3&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="cancelPass"></sys:delRow></li>
</ul>
</div>
</shiro:hasPermission>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- /鎼滅储鍐呭涓庢搷浣滄寜閽爮 -->
<!-- 绛涢<E7BB9B>夋悳绱㈠唴瀹规爮榛樿闅愯棌-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label class="control-label"><spring:message code='letter'/></label>
<c:set var="select"><spring:message code='select'/></c:set>
<form:select path="requestId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${requestInfos}" var="requestInfo" >
<form:option value="${requestInfo.id}"><spring:message code="${requestInfo.requestTitle}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label class="control-label"><spring:message code='classification'/></label>
<form:select path="classify" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fls}" var="fl" >
<form:option value="${fl.serviceDictId}"><spring:message code="${fl.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label class="control-label"><spring:message code='attribute'/></label>
<c:set var="select"><spring:message code='select'/></c:set>
<form:select path="attribute" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${xzs}" var="xz" >
<form:option value="${xz.serviceDictId}"><spring:message code="${xz.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label class="control-label"><spring:message code='label'/></label>
<form:select path="lable" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${lables}" var="lable" >
<form:option value="${lable.serviceDictId}"><spring:message code="${lable.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="config_time"/>锛<></label>
<input name="search_create_time_start" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value='${cfg.search_create_time_start}' pattern='yyyy-MM-dd HH:mm:ss'/>" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>&nbsp;</label>
<input name="search_create_time_end" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_create_time_end}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="edit_time"/>锛<></label>
<input name="search_edit_time_start" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_edit_time_start}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>&nbsp;</label>
<input name="search_edit_time_end" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_edit_time_end}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="audit_time"/>锛<></label>
<input name="search_audit_time_start" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_audit_time_start}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>&nbsp;</label>
<input name="search_audit_time_end" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="<fmt:formatDate value="${cfg.search_audit_time_end}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
</div>
<!-- /绛涢<E7BB9B>夋悳绱㈠唴瀹规爮 缁撴潫-->
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}" />
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th class="sort-column r.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
<th class="sort-column r.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
<th class="sort-column r.action"><spring:message code="block_type"/></th>
<th><spring:message code="do_log"/></th>
<th><spring:message code="whether_area_block"/></th>
<th><spring:message code="letter"/></th>
<th><spring:message code="classification"/></th>
<th><spring:message code="attribute"/></th>
<th><spring:message code="label"/></th>
<th class="sort-column r.is_valid"><spring:message code="valid_identifier"/></th>
<th><spring:message code="is_audit"/></th>
<th><spring:message code="log_total"/></th>
<th><spring:message code="creator"/></th>
<th class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th><spring:message code="editor"/></th>
<th class="sort-column r.edit_time"><spring:message code="edit_time"/></th>
<th><spring:message code="auditor"/></th>
<th class="sort-column r.audit_time"><spring:message code="audit_time"/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list }" var="indexCfg" varStatus="status" step="1">
<tr>
<td>
<span id="open${status.index}" class="" compileId="${indexCfg.compileId}" cfgId="${indexCfg.cfgId}"> 鈻<> </span><span style="display: none" id="close${status.index}" > 鈻<> </span>
<input type="checkbox" class="i-checks child-checks" id="${indexCfg.cfgId}" compileId="${indexCfg.compileId}" value="${indexCfg.isAudit}">
</td>
<td>${indexCfg.compileId }</td>
<td>${indexCfg.cfgDesc }</td>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${dict.itemCode eq indexCfg.action }">
<spring:message code="${dict.itemValue }"/>
</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<c:if test="${dict.itemCode eq indexCfg.doLog }">
<spring:message code="${dict.itemValue }"/>
</c:if>
</c:forEach>
</td>
<td>
<c:if test="${indexCfg.isAreaEffective==0}"><spring:message code="all"/></c:if>
<c:if test="${indexCfg.isAreaEffective==1}">
<a href="javascript:viewAreaInfo('${ctx}','${indexCfg.areaEffectiveIds }','${indexCfg.compileId }')" >
<spring:message code="selective"/>
</a>
</c:if>
</td>
<td>${indexCfg.requestName }</td>
<td >
<c:set var="classify"></c:set>
<c:forEach items="${fn:split(indexCfg.classify,',')}" var="classifyId" varStatus="status">
<c:forEach items="${fls}" var="fl">
<c:if test="${classifyId eq fn:trim(fl.serviceDictId)}">
<c:if test="${status.index+1 eq 1}">
<c:set var="classify" value="${fl.itemValue}"></c:set>
</c:if>
<c:if test="${status.index+1 ne 1}">
<c:set var="classify" value="${classify},${fl.itemValue}"></c:set>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
<a href="javascript:;" data-original-title="${classify}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(classify,20)}
</a>
</td>
<td>
<c:set var="attribute"></c:set>
<c:forEach items="${fn:split(indexCfg.attribute,',')}" var="attributeId" varStatus="status">
<c:forEach items="${xzs}" var="xz">
<c:if test="${attributeId eq fn:trim(xz.serviceDictId)}">
<c:if test="${status.index+1 eq 1}">
<c:set var="attribute" value="${xz.itemValue}"></c:set>
</c:if>
<c:if test="${status.index+1 ne 1}">
<c:set var="attribute" value="${attribute},${xz.itemValue}"></c:set>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
<a href="javascript:;" data-original-title="${attribute}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(attribute,20)}
</a>
</td>
<td>
<c:set var="lableInfo"></c:set>
<c:forEach items="${fn:split(indexCfg.lable,',')}" var="lableId" varStatus="status">
<c:forEach items="${lables}" var="lable">
<c:if test="${lableId eq fn:trim(lable.serviceDictId)}">
<c:if test="${status.index+1 eq 1}">
<c:set var="lableInfo" value="${lable.itemValue}"></c:set>
</c:if>
<c:if test="${status.index+1 ne 1}">
<c:set var="lableInfo" value="${lableInfo},${lable.itemValue}"></c:set>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
<a href="javascript:;" data-original-title="${lableInfo}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(lableInfo,20)}
</a>
</td>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>
<c:choose>
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td>
<td>${indexCfg.creatorName }</td>
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${indexCfg.editorName }</td>
<td><fmt:formatDate value="${indexCfg.editTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${indexCfg.auditorName }</td>
<td><fmt:formatDate value="${indexCfg.auditTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page" >${page}</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -486,8 +486,9 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
</c:choose>
<c:when test="${cfg.isAudit eq '3'}">
<span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when></c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>
<td>${cfg.creatorName }</td>

View File

@@ -425,7 +425,7 @@
<c:if test="${cfg.isAudit eq auditC.itemCode and auditC.itemValue eq 'created'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:if>
<c:if test="${cfg.isAudit eq auditC.itemCode and auditC.itemValue eq 'approved'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:if>
<c:if test="${cfg.isAudit eq auditC.itemCode and auditC.itemValue eq 'unapproved'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:if>
<c:if test="${cfg.isAudit eq auditC.itemCode and auditC.itemValue eq 'cancel_approved'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:if>
<c:if test="${cfg.isAudit eq auditC.itemCode and auditC.itemValue eq 'cancel_approved'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:if>
</c:forEach>
</td>
<td>${cfg.creatorName }</td>

View File

@@ -389,7 +389,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${cfg.creatorName }</td>

View File

@@ -449,7 +449,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -418,7 +418,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td> --%>

View File

@@ -483,7 +483,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -459,7 +459,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td> --%>

View File

@@ -449,7 +449,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -437,7 +437,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -528,7 +528,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td> --%>

View File

@@ -349,7 +349,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${cfg.requestName }</td>

View File

@@ -417,7 +417,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${cfg.creatorName }</td>

View File

@@ -465,7 +465,9 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}">
<span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span>
</c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -460,7 +460,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -330,7 +330,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>

View File

@@ -349,7 +349,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>

View File

@@ -351,7 +351,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>

View File

@@ -20,7 +20,7 @@ $(function(){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
//loading('<spring:message code="onloading"/>');
loading('<spring:message code="onloading"/>');
form.submit();
},
errorContainer: "#messageBox"
@@ -51,7 +51,9 @@ $(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" name="isAreaEffective" value="0">
<input type="hidden" name="isAreaEffective" value="1">
<input type="hidden" name="areaType" value="1">
<c:if test="${fn:length(serviceList)==1}">
<c:forEach items="${serviceList}" var="service">
<input type="hidden" name="action" serviceId="${service.serviceId }" protocolId="${service.protocolId }" regionCode="${service.regionCode}" value="${service.action }">
@@ -167,7 +169,7 @@ $(function(){
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="server_ip"/></label>
<div class="col-md-6">
<input class="form-control required ipCheck" type="text" name="destIpAddress" value="${_cfg.destIpAddress}">
</div>
@@ -242,7 +244,7 @@ $(function(){
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="port"/></label>
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="server_port"/></label>
<div class="col-md-6">
<input class="form-control required portCheck" type="text" name="destPort" value="${_cfg.destPort}">
</div>

View File

@@ -274,8 +274,9 @@
<th class="sort-column a.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
<th class="sort-column a.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
<th class="sort-column a.action"><spring:message code="block_type"/></th>
<th><spring:message code="ip"/></th>
<th><spring:message code="port"/></th>
<th><spring:message code="group"/></th>
<th><spring:message code="server_ip"/></th>
<th><spring:message code="server_port"/></th>
<th><spring:message code="protocol"/></th>
<%-- <th><spring:message code="do_log"/></th> --%>
<%-- <th><spring:message code="whether_area_block"/></th> --%>
@@ -309,6 +310,12 @@
</c:if>
</c:forEach>
</td>
<td>
<a href="javascript:;" data-original-title="${indexCfg.groupName}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(indexCfg.groupName,20)}
</a>
</td>
<td>${indexCfg.destIpAddress }</td>
<td>${indexCfg.destPort }</td>
<td>
@@ -401,7 +408,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td> --%>

View File

@@ -11,16 +11,22 @@ $(function(){
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
}
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
if($("#dnsStrategyId").val() == 0){
$("#areaEffectiveIds").parents(".form-group").removeClass("hidden");
}
$("#dnsStrategyId").on("change",function(){
if($(this).val() != 0){
$("#areaEffectiveIds").parents(".form-group").addClass("hidden");
}else{
$("#areaEffectiveIds").parents(".form-group").removeClass("hidden");
}
});
$("#ipCfgFrom").validate({
errorPlacement: function(error,element){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
//loading('<spring:message code="onloading"/>');
loading('<spring:message code="onloading"/>');
form.submit();
},
errorContainer: "#messageBox"
@@ -51,7 +57,8 @@ $(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" name="isAreaEffective" value="0">
<input type="hidden" name="isAreaEffective" value="1">
<input type="hidden" name="areaType" value="1">
<c:if test="${fn:length(serviceList)==1}">
<c:forEach items="${serviceList}" var="service">
<input type="hidden" name="action" serviceId="${service.serviceId }" protocolId="${service.protocolId }" regionCode="${service.regionCode}" value="${service.action }">
@@ -92,10 +99,10 @@ $(function(){
</div>
<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>
<label class="control-label col-md-3"><spring:message code="group"/></label>
<div class="col-md-6">
<select id="dnsStrategyId" name="dnsStrategyId" class="selectpicker show-tick form-control required">
<option value="" <c:if test="${empty _cfg.dnsStrategyId }">selected</c:if>><spring:message code="select"/></option>
<select id="dnsStrategyId" name="dnsStrategyId" class="selectpicker show-tick form-control">
<option value="0" <c:if test="${empty _cfg.dnsStrategyId }">selected</c:if>><spring:message code="default_group"/></option>
<c:forEach items="${policyGroups }" var="policyGroup">
<option value="${policyGroup.groupId}" <c:if test="${_cfg.dnsStrategyId==policyGroup.groupId }">selected</c:if>><spring:message code="${policyGroup.groupName}"/></option>
</c:forEach>
@@ -158,7 +165,7 @@ $(function(){
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip"/></label>
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="client_ip"/></label>
<div class="col-md-6">
<input class="form-control required ipCheck" type="text" name="srcIpAddress" value="${_cfg.srcIpAddress}">
</div>
@@ -264,6 +271,22 @@ $(function(){
<spring:message code="show_more" />
</button>
</div> --%>
<div class="row">
<div class="col-md-6">
<div class="form-group hidden">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="area"/></label>
<div class="col-md-6">
<select id="areaEffectiveIds" name="areaEffectiveIds" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search" >
<option value="" ><spring:message code="select"/></option>
<c:forEach items="${areas}" var="area">
<option value="${area.itemCode}" <c:if test="${_cfg.areaEffectiveIds == area.itemCode }">selected</c:if> >${area.itemValue}</option>
</c:forEach>
</select>
</div>
<div for="areaEffectiveIds"></div>
</div>
</div>
</div>
<br>
</div>
<div class="row ipmulitiplex">

View File

@@ -274,7 +274,8 @@
<th class="sort-column a.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
<th class="sort-column a.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
<th class="sort-column a.action"><spring:message code="block_type"/></th>
<th><spring:message code="ip"/></th>
<th><spring:message code="group"/></th>
<th><spring:message code="client_ip"/></th>
<%-- <th><spring:message code="do_log"/></th> --%>
<%-- <th><spring:message code="whether_area_block"/></th> --%>
<th><spring:message code="letter"/></th>
@@ -307,6 +308,15 @@
</c:if>
</c:forEach>
</td>
<td>
<a href="javascript:;" data-original-title="${indexCfg.groupName}"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fns:abbr(indexCfg.groupName,20)}
<c:if test="${empty indexCfg.groupName }">
<spring:message code="default_group"/>
</c:if>
</a>
</td>
<td>${indexCfg.srcIpAddress }</td>
<%-- <td>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
@@ -392,7 +402,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td> --%>

View File

@@ -590,7 +590,7 @@
<c:when test="${bean.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${bean.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${bean.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${bean.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${bean.isAudit eq '3'}"><span indexTable="${bean.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${bean.creatorName }</td>

View File

@@ -444,7 +444,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -443,7 +443,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -707,7 +707,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<c:if test="${action ne 128}">

View File

@@ -340,7 +340,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -343,7 +343,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}" serviceId="${cfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -381,7 +381,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${indexCfg.creatorName }</td>

View File

@@ -381,7 +381,7 @@
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td>${cfg.creatorName }</td>

View File

@@ -465,7 +465,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -604,7 +604,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -441,7 +441,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>

View File

@@ -445,7 +445,7 @@
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose>
</td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td> --%>

View File

@@ -171,7 +171,7 @@
<tr>
<th><spring:message code="port"/></th>
<th><spring:message code="visits"/></th>
<th><spring:message code="percentage"/></th>
<th><spring:message code="trend"/></th>
</tr>
</thead>
<tbody id="tbodyDataPort">
@@ -572,27 +572,34 @@ function portActiveList(){
$("#tbodyDataPort").prepend(tr);
},
success:function (rs) {
$("#tbodyDataPort").html("");
var n=rs.length;
var total=0;
if(rs!=null&&rs.length>0&&rs[0].error!=null){
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
}else{
if(n>0){
$(rs).each(function(i, itemObj) {
total+=itemObj.sum;
});
$(rs).each(function(i, itemObj) {
var tr = "<tr class='frist rowData' >";
tr += "<td class='list_c1'>"+itemObj.port+"</td>";
tr += "<td class='list_c2'>"+itemObj.sum+"</td>";
tr += "<td class='list_c3'>"+((itemObj.sum/total)*100).toFixed(1)+" %</td></tr>";
$("#tbodyDataPort").prepend(tr);
})
rs.reverse();
$("#tbodyDataPort").html("");
var n=rs.length;
if(rs!=null&&rs.length>0&&rs[0].error!=null){
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
}else{
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
if(n>0){
$(rs).each(function(i, itemObj) {
var count= itemObj.sum;
var preCount = itemObj.preSum;
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
tr += "<td class='list_c2' style='color:#fff' title='"+itemObj.port+"'>"+itemObj.port+"</td>";
if(preCount<count){
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
}else if(preCount>count){
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
}else{
tr += "<td class='list_c3'>"+""+"</td></tr>";
}
n=n-1;
$("#tbodyDataPort").prepend(tr);
})
}else{
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
}
}
}
},
});
}
@@ -788,6 +795,7 @@ function websiteList() {
$("#tbodyData2").prepend(tr);
},
success:function (rs) {
rs.reverse();
$("#tbodyData2").html("");
var n=rs.length;
if(rs!=null&&rs.length>0&&rs[0].error!=null){
@@ -831,11 +839,11 @@ function webClick(websiteServiceId,obj){
dataType:"json",
cache:false,async:true,
success:function (rs) {
echart_6(rs.reverse());
echart_6(rs);
},
});
}
//点击http网站列表-显示域名图
//网站主题
function topicAndDomainList(){
$.ajax({
url: '${ctx}/dashboard/topicAndDomainList',

View File

@@ -338,7 +338,10 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
if(value==IPv4RangeDefault){
return true;
}
if(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224){//仅允许C段IP
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
@@ -459,7 +462,10 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
if(value==IPv4RangeDefault){
return true;
}
if(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224){//仅允许C段IP
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
@@ -627,7 +633,10 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
if(value==IPv4RangeDefault){
return true;
}
if(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224){//仅允许C段IP
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||
@@ -680,7 +689,10 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
if(value==IPv4RangeDefault){
return true;
}
if(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224){//仅允许C段IP
if((startPart0<128&&startPart1<128)||(startPart0>127&&startPart1>127&&startPart0<192&&startPart1<192)
||(startPart0>191&&startPart1>191&&startPart0<224&&startPart1<224)
||(startPart0>223&&startPart1>223&&startPart0<240&&startPart1<240)
||(startPart0>239&&startPart1>239&&startPart0<256&&startPart1<256)){//仅允许C段IP
if(ipToNumber(startIp)<=ipToNumber(endIp)){//比较IP大小
if((startIp.split(".")[0]!=endIp.split(".")[0])||
(startIp.split(".")[1]!=endIp.split(".")[1])||

View File

@@ -1,4 +1,33 @@
$(function(){
var leff =$("span[class~='le-ca-fo']").attr("data-original-title")
$("#contentTable").not(".logTb").find("tbody tr").each(function(i){
if($(this).find("input[type='checkbox']").attr("value")==3){
var ids = $(this).find("input").attr("id");
var resetLeff =$(this).find("span[class~='le-ca-fo']");
var indexTableName = $("#contentTable tbody tr td span[class~='le-ca-fo']").attr("indexTable");
var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.lastIndexOf("/nis")+4);
if(ids!=null&&indexTableName!=null){
$.ajax({
type:'post',
url:pathName+'/basics/serviceDictInfo/requestCancleInfoNumber',
data:{"ids":ids,"indexTable":indexTableName},
dataType:'json',
success:function(data){//处理返回结果
//根据表名跟cfgid获取 requestNumber
if(data.requestTitle!=null){
resetLeff.attr("data-original-title",leff+data.requestTitle)
}else{
resetLeff.attr("data-original-title",leff+"")
}
}
});
}
}
})
//增加描述新增时的文字长度限制
$("form input[name='cfgDesc']").attr("maxlength","128");
$("form input[name$='cfgKeywords']").attr("maxlength","1024");

View File

@@ -130,13 +130,13 @@ var importCfg=function(){
}
if(fileName==""){
$("span",$error).html("请选择xls或者xlsx格式文件进行导入...");
$("span",$error).html($("#importTip").val());
$error.removeClass("hide");
$error.addClass("show");
return false;
}else if(fileName.lastIndexOf("\.")==-1||fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xls' &&fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xlsx'){
$("span",$error).html("导入的文件后缀必须为xls或者xlsx...");
$("span",$error).html($("#importTip").val());
$error.removeClass("hide");
$error.addClass("show");
return false;