Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop

This commit is contained in:
duandongmei
2018-08-30 19:07:11 +08:00
22 changed files with 199 additions and 54 deletions

View File

@@ -31,6 +31,7 @@ public class TagController extends BaseController {
model.addAttribute("title", request.getParameter("title"));//根节点替换文本
model.addAttribute("enableAddBtn", request.getParameter("enableAddBtn"));//节点是否可编辑
model.addAttribute("userId", UserUtils.getUser().getId());//如果启用了addBtn,则使用userId判断是否是用户自己创建的用户自己创建的节点可删除
model.addAttribute("enableSearch", request.getParameter("enableSearch"));//是否允许搜索
return "/sys/tagTreeselect";
}

View File

@@ -60,7 +60,6 @@ public class NtcDestIpReportController extends BaseController {
}else if(bean.getReportType()==Constants.REPORT_TYPE_MONTH){
bean.setSearchBusinessType("4");
}
// 调用服务接口...
bean.setPageSize(-1);
@@ -70,6 +69,7 @@ public class NtcDestIpReportController extends BaseController {
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
List<String> titles=this.getDateTitiles(bean);
model.addAttribute("titles", titles);
@@ -91,7 +91,11 @@ public class NtcDestIpReportController extends BaseController {
trimStr=report.getDestCountry().trim()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
@@ -115,7 +119,8 @@ public class NtcDestIpReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// List<Long> line= new ArrayList<Long>();

View File

@@ -32,9 +32,7 @@ import net.sf.json.JsonConfig;
public class NtcEntranceReportController extends BaseController {
@RequestMapping("/ajaxNtcIspReport")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(bean.getFunctionId());
if(bean.getAction()!=null){
for(FunctionServiceDict service:serviceList){
if(service.getAction().intValue()==bean.getAction().intValue()){
@@ -91,8 +89,12 @@ public class NtcEntranceReportController extends BaseController {
trimStr=report.getEntranceId().intValue()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(Entry<String, Long> counrty:trimData.entrySet()){
String[] keyArr=counrty.getKey().split(Constants.REPORT_TRIM_CONNECTOR);
@@ -114,7 +116,8 @@ public class NtcEntranceReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// List<Long> line= new ArrayList<Long>();

View File

@@ -21,6 +21,7 @@ import com.nis.domain.report.NtcLwhhReport;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import net.sf.json.JSONArray;
@@ -89,8 +90,12 @@ public class NtcLwhhReportController extends BaseController {
trimStr=report.getLwhh().intValue()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(RequestInfo requestInfo:requestInfos){
List<Long> line= new ArrayList<Long>();
@@ -111,7 +116,8 @@ public class NtcLwhhReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// for(RequestInfo requestInfo:requestInfos){

View File

@@ -122,7 +122,8 @@ public class NtcPzReportController extends BaseController{
model.addAttribute("datas", getList(json));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
return "/report/pz";
}

View File

@@ -67,13 +67,16 @@ public class NtcServiceReportController extends BaseController {
}
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_SERVICE_REPORT);
try {
//bean.setSearchReportEndTime("2018-08-27 00:00:00");
String json=ConfigServiceUtil.getReport(url.toString(), bean);
List<NtcServiceReport> data=getList(json);
Map<Integer, Long> dataMap=new HashMap<>();
for(NtcServiceReport report:data){
if(dataMap.containsKey(report.getService())){
dataMap.put(report.getService(), dataMap.get(report.getService())+report.getSum().longValue());
}else{
dataMap.put(report.getService(),report.getSum().longValue());
}
}
for(Entry<Integer, Long> e:dataMap.entrySet()) {
Map<String, Object> _data=new HashMap<>();
_data.put("service", e.getKey());
@@ -82,7 +85,8 @@ public class NtcServiceReportController extends BaseController {
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// if(bean.getAction()!=null){
// data.put(bean.getAction().toString(), 66666666l);

View File

@@ -127,8 +127,12 @@ public class NtcSrcipDomesticReportController extends BaseController {
report.getSrcCity().trim()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(String key:trimData.keySet()){
List<Long> line= new ArrayList<Long>();
@@ -152,7 +156,8 @@ public class NtcSrcipDomesticReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// long total=0;

View File

@@ -90,8 +90,12 @@ public class NtcTagReportController extends BaseController {
trimStr=report.getTag().intValue()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(ServiceDictInfo label:labels){
List<Long> line= new ArrayList<Long>();
@@ -112,7 +116,8 @@ public class NtcTagReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// for(ServiceDictInfo label:labels){

View File

@@ -95,8 +95,12 @@ public class NtcXzReportController extends BaseController {
trimStr=report.getAttrType().intValue()+Constants.REPORT_TRIM_CONNECTOR+
report.getReportTime().substring(0,7);
}
if(trimData.containsKey(trimStr)){
trimData.put(trimStr, trimData.get(trimStr)+report.getSum().longValue());
}else{
trimData.put(trimStr, report.getSum().longValue());
}
}
HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
for(ServiceDictInfo xz:xzs){
List<Long> line= new ArrayList<Long>();
@@ -117,7 +121,8 @@ public class NtcXzReportController extends BaseController {
model.addAttribute("datas", showData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
logger.error("查询失败", e);
addMessageLog(model, null);
}
// HashMap<String,List<Long>> showData=new LinkedHashMap<>();//构造数据展示集合
// for(ServiceDictInfo xz:xzs){

View File

@@ -1,5 +1,7 @@
package com.nis.web.controller.specific;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -73,6 +75,9 @@ public class SpecificServiceCfgController extends BaseController {
searchType = "groupId";
searchContent = specificServiceCfg.getGroupId().toString();
}
if(specificServiceCfg.getCfgType()==null){
specificServiceCfg.setCfgType(1);
}
model.addAttribute("searchType", searchType);
model.addAttribute("searchContent", searchContent);
@@ -163,7 +168,7 @@ public class SpecificServiceCfgController extends BaseController {
e.printStackTrace();
addMessage(redirectAttributes, "save_failed");
}
return "redirect:" + adminPath + "/specific/specificServiceCfg/list";
return "redirect:" + adminPath + "/specific/specificServiceCfg/list?cfgType="+specificServiceCfg.getCfgType();
}
/**
@@ -218,6 +223,16 @@ public class SpecificServiceCfgController extends BaseController {
businessTypeList=DictUtils.getDictList("APP_BUSINESS_TYPE");
}
List<Map<String, Object>> businessList = Lists.newArrayList();
//对业务分类进行排序
Collections.sort(businessTypeList, new Comparator<SysDataDictionaryItem>() {
@Override
public int compare(SysDataDictionaryItem o1, SysDataDictionaryItem o2) {
// TODO Auto-generated method stub
Integer o1Code=new Integer(o1.getItemCode());
Integer o2Code=new Integer(o2.getItemCode());
return o2Code.compareTo(o1Code);
}
});
for(SysDataDictionaryItem dict:businessTypeList) {
Map<String, Object> map = Maps.newHashMap();
map.put("id", "businessType"+dict.getItemCode());
@@ -239,6 +254,7 @@ public class SpecificServiceCfgController extends BaseController {
continue;
}
if(businessTypeList.size()>0) {
boolean hasBusinessType=false;
for(SysDataDictionaryItem business:businessTypeList) {
if(String.valueOf(business.getItemCode()).equals(specificServiceCfg.getBusinessType())) {
Map<String, Object> map = Maps.newHashMap();
@@ -253,9 +269,24 @@ public class SpecificServiceCfgController extends BaseController {
map.put("user",specificServiceCfg.getAddFlag());
}
mapList.add(map);
hasBusinessType=true;
break;
}
}
if(!hasBusinessType) {//没有对应的业务类别
Map<String, Object> map = Maps.newHashMap();
map.put("id", specificServiceCfg.getSpecServiceId());
map.put("pId", specificServiceCfg.getParent().getSpecServiceId());
map.put("name",specificServiceCfg.getSpecServiceName());
map.put("serviceType",specificServiceCfg.getCfgType());
map.put("serviceCode",specificServiceCfg.getSpecServiceCode());
map.put("businessType",specificServiceCfg.getBusinessType());
map.put("groupId",specificServiceCfg.getGroupId());
if(specificServiceCfg.getAddFlag()!=null) {
map.put("user",specificServiceCfg.getAddFlag());
}
mapList.add(map);
}
}else {
Map<String, Object> map = Maps.newHashMap();
map.put("id", specificServiceCfg.getSpecServiceId());

View File

@@ -531,7 +531,7 @@ public class FileTransferCfgService extends CrudService<FileTransferCfgDao,CfgIn
// 修改域配置审核状态
if((entity.getNtcSubscribeIdCfgList() != null) && (entity.getNtcSubscribeIdCfgList().size() > 0)) {
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId"});
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType"});
stringCfgDao.updateSubscribeIdCfg(cfg);
}
@@ -565,6 +565,12 @@ public class FileTransferCfgService extends CrudService<FileTransferCfgDao,CfgIn
if(map.get("numRegionList")!=null){
numRegionList.addAll(map.get("numRegionList"));
}
// 审核通过:添加各子域配置
if((entity.getNtcSubscribeIdCfgList() != null) && (entity.getNtcSubscribeIdCfgList().size() > 0)) {
Map<String,List> subIdMap = cfgConvert(strRegionList,entity.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
groupRelationList=subIdMap.get("groupList");
strRegionList=subIdMap.get("dstList");
}
if(areaIpCfgList != null && areaIpCfgList.size() >0){
Map<String,List> areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList);

View File

@@ -1128,3 +1128,5 @@ business_type=\u4E1A\u52A1\u5206\u7C7B
topic=\u4E3B\u9898
website_server=\u7F51\u7AD9
domain_existed=\u57DF\u540D\u5DF2\u7ECF\u5B58\u5728
app_ssl_cert_feature_monit=APP SSL\u8BC1\u4E66\u7279\u5F81\u76D1\u6D4B
app_header_feature_monit=APP\u5C42\u5934\u7279\u5F81\u76D1\u6D4B

View File

@@ -27,6 +27,7 @@
<%@ attribute name="checkedPS" type="java.lang.String" required="false" description="复选框选中时是否关联父子节点ps关联父子p关联父s关联子,都不关联为空"%>
<%@ attribute name="unCheckedPS" type="java.lang.String" required="false" description="复选框取消选中时是否关联父子节点ps关联父子p关联父s关联子,都不关联为空"%>
<%@ attribute name="enableAddBtn" type="java.lang.Boolean" required="false" description="节点是否可编辑"%>
<%@ attribute name="enableSearch" type="java.lang.Boolean" required="false" description="是否开启节点搜索功能"%>
<div class="input-group">
<input id="${id}Id" name="${name}" class="${cssClass} singleClass" type="hidden" value="${value}" />
<input id="${id}Name" name="${labelName}" ${allowInput?'':'readonly="readonly"'} type="text" value="<spring:message code='${empty value?"":labelValue}'/>" data-msg-required="${dataMsgRequired}" placeholder="${empty value?labelValue:value}"
@@ -46,7 +47,7 @@
return true;
}
// 正常打开
top.$.jBox.open("iframe:${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&selectIds="+$("#${id}Id").val()+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}&title=${title}&enableAddBtn=${enableAddBtn}", "<spring:message code='choose'/> <spring:message code='${title}'/>", 320, 420, {
top.$.jBox.open("iframe:${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&selectIds="+$("#${id}Id").val()+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}&title=${title}&enableAddBtn=${enableAddBtn}&enableSearch=${enableSearch}", "<spring:message code='choose'/> <spring:message code='${title}'/>", 320, 420, {
ajaxData:{selectIds: $("#${id}Id").val()},buttons:{"<spring:message code='ok'/>":"ok", "<spring:message code='clear'/>":"clear","<spring:message code='close'/>":true}, submit:function(v, h, f){
if (v == "ok"){
var tree = h.find("iframe")[0].contentWindow.tree;//h.find("iframe").contents();

View File

@@ -177,7 +177,7 @@ var delContent = function(contentClassName, addBtnClassName) {
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="basic_protocol"/></label>
<div class="col-md-6">
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName"
labelName="parent.specServiceName" notAllowSelectParent="true"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId="0"
notAllowSelectRoot="true" cssClass="form-control required"/>

View File

@@ -135,7 +135,7 @@
<div class="pull-left">
<c:set var="spec_service_id"><spring:message code="basic_protocol"/></c:set>
<sys:treeselect id="specServiceId" name="specServiceId" value="${cfg.specServiceId}"
labelName="parent.specServiceName"
labelName="parent.specServiceName" notAllowSelectParent="true" notAllowSelectRoot="true"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/>

View File

@@ -135,7 +135,7 @@
<div class="pull-left">
<c:set var="spec_service_id"><spring:message code="encrypted_tunnel_behavior"/></c:set>
<sys:treeselect id="specServiceId" name="specServiceId" value="${cfg.specServiceId}"
labelName="parent.specServiceName"
labelName="parent.specServiceName" notAllowSelectRoot="true"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/>

View File

@@ -56,9 +56,9 @@
}); */
if(flag){
//将disable属性的元素删除
/* $(".disabled").each(function(){
$(".disabled").each(function(){
$(this).remove();
}); */
});
$("input[name$='exprType']").attr("disabled",false);
/* if($("[name='behavCode']")&&$("[name='behavCode']").val()!=""){
$("input[name$='exprType']").val(1);
@@ -130,10 +130,10 @@
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<input type="hidden" name="cfgType"
value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode"
value="${region.configRegionCode}">
<c:if test="${region.configServiceType ne 'subscribe_id'}">
<input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
</c:if>
</c:if>
</c:forEach>
<div class="form-body">

View File

@@ -159,7 +159,8 @@ var ajaxReport=function(url,target){
data:{
"action":$('[name="action"]').val(),
"reportType":$('[name="reportType"]').val(),
"reportTime":$('[name="reportTime"]').val()
"reportTime":$('[name="reportTime"]').val(),
"functionId":$('[name="functionId"]').val()
},
dataType:"html",
success:function(data){
@@ -215,6 +216,8 @@ function customColumnClick(){
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action">
<c:forEach items="${serviceList}" var="service" varStatus="status">
<c:if test="${service.functionId eq bean.functionId and action.itemCode eq service.action}">
<c:if test="${service.serviceId ne 5}">
<c:if test="${(service.action ne 128) && (service.action ne 32)}" >
<div data-service="${service.serviceId}" class="service btn
<c:if test="${status.index%2==0}">btn-primary</c:if>
<c:if test="${status.index%2!=0}">btn-default</c:if>">
@@ -223,6 +226,17 @@ function customColumnClick(){
<span>0</span>
</div>
</c:if>
</c:if>
<c:if test="${service.serviceId eq 5}">
<div data-service="${service.serviceId}" class="service btn
<c:if test="${status.index%2==0}">btn-primary</c:if>
<c:if test="${status.index%2!=0}">btn-default</c:if>">
<spring:message code="${action.itemValue}"/>
<spring:message code="log_total"/>
<span>0</span>
</div>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
</div>
@@ -253,8 +267,15 @@ function customColumnClick(){
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="action" >
<c:forEach items="${serviceList}" var="service" >
<c:if test="${service.functionId eq bean.functionId and action.itemCode eq service.action}">
<c:if test="${service.serviceId ne 5}">
<c:if test="${(service.action ne 128) && (service.action ne 32)}" >
<form:option value="${action.itemCode}" ><spring:message code="${action.itemValue}"/></form:option>
</c:if>
</c:if>
<c:if test="${service.serviceId eq 5}">
<form:option value="${action.itemCode}" ><spring:message code="${action.itemValue}"/></form:option>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
</form:select>

View File

@@ -250,7 +250,7 @@
<c:if test="${dict.itemCode==1}">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="app_business_type"/>:</label>
<div class="col-md-4">
<select id="businessType1" name="businessType" class="form-control required" data-live-search="true" data-live-search-placeholder="search">
<select id="businessType1" name="businessType" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search">
<option value=""><spring:message code="select"/></option>
<c:forEach items="${fns:getDictList('APP_BUSINESS_TYPE')}" var="dict">
<option value="${dict.itemCode}"
@@ -263,7 +263,7 @@
<c:if test="${dict.itemCode==3}">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="basic_protocol_business_type"/>:</label>
<div class="col-md-4">
<select id="businessType3" name="businessType" class="form-control required" data-live-search="true" data-live-search-placeholder="search">
<select id="businessType3" name="businessType" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search">
<option value=""><spring:message code="select"/></option>
<c:forEach items="${fns:getDictList('APP_BUSINESS_TYPE')}" var="dict">
<option value="${dict.itemCode}"

View File

@@ -158,7 +158,7 @@
<div class="col-md-12">
<div class="pull-left">
<form:select path="cfgType" class="selectpicker select2 input-middle" >
<form:option value=""><spring:message code='cfg_type'/></form:option>
<%-- <form:option value=""><spring:message code='cfg_type'/></form:option> --%>
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<form:option value="${dict.itemCode}"><spring:message code='${dict.itemValue}'/></form:option>
</c:forEach>
@@ -168,7 +168,16 @@
<div class="input-group">
<div class="input-group-btn">
<select id="seltype" class="selectpicker select2 input-middle" >
<option value="specServiceName"><spring:message code="protocol_name"/></option>
<c:if test="${specificServiceCfg.cfgType==1}">
<option value="specServiceName"><spring:message code="app_name"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==3}">
<option value="specServiceName"><spring:message code="protocol_name"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==2}">
<option value="specServiceName"><spring:message code="tunnel_name"/>
</c:if>
</option>
</select>
</div>
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='input_protocol_name'/>" type="text" onchange="casec()" maxlength="60">
@@ -270,9 +279,39 @@
<th><input type="checkbox" class="ckboxs" id="selAll" onclick="selectAll()"></th>
<!-- <th>序号</th> -->
<th><spring:message code="business_type"/></th>
<th><spring:message code="protocol_code"/></th>
<th><spring:message code="protocol_name"/></th>
<th><spring:message code="protocol_desc"/></th>
<th>
<c:if test="${specificServiceCfg.cfgType==1}">
<spring:message code="app_code"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==2}">
<spring:message code="tunnel_code"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==3}">
<spring:message code="protocol_code"/>
</c:if>
</th>
<th>
<c:if test="${specificServiceCfg.cfgType==1}">
<spring:message code="app_name"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==2}">
<spring:message code="tunnel_name"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==3}">
<spring:message code="protocol_name"/>
</c:if>
</th>
<th>
<c:if test="${specificServiceCfg.cfgType==1}">
<spring:message code="app_desc"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==2}">
<spring:message code="tunnel_desc"/>
</c:if>
<c:if test="${specificServiceCfg.cfgType==3}">
<spring:message code="protoco_desc"/>
</c:if>
</th>
<%-- <th><spring:message code="group_id"/></th> --%>
<th><spring:message code="is_leaf"/></th>
<th><spring:message code="cfg_type"/></th>

View File

@@ -91,6 +91,14 @@
var nodes = tree.getNodesByParam("level", 1);
for(var i=0; i<nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
var nodeId=nodes[i].id;
//处理特定服务业务类型的图标
if(typeof nodeId=='string'&&nodeId.indexOf("businessType")==0){
if(!nodes[i].isParent){//强制改变没有子节点的特定服务业务类型为父节点,让其改变样式
nodes[i].isParent=true;
tree.updateNode(nodes[i],false);
}
}
}
nodes=tree.getNodesByParam("level", 0);
for(var i=0; i<nodes.length; i++) {
@@ -217,8 +225,8 @@
// 开始搜索
function search() {
$("#search").slideToggle(200);
$("#txt").toggle();
//$("#search").slideToggle(200);
//$("#txt").toggle();
$("#key").focus();
}
function beforeEditName(treeId, treeNode) {
@@ -362,10 +370,12 @@
<div style="position:absolute;right:8px;top:5px;cursor:pointer;" onclick="search();">
<i class="icon-search"></i><label id="txt">搜索</label>
</div> -->
<div id="search" class="form-search hide" style="padding:10px 0 0 13px;">
<label for="key" class="control-label" style="padding:5px 5px 3px 0;">关键字:</label>
<input type="text" class="empty" id="key" name="key" maxlength="50" style="width:110px;">
<button class="btn" id="btn" onclick="searchNode()"> <i class="icon-search"></i> &nbsp;搜索 </button>
<c:if test="${enableSearch ne null and enableSearch==true}">
<div id="search" class="form-search input-group" style="padding:10px 0 0 13px;">
<label for="key" class="control-label" style="padding:5px 5px 3px 0;"><spring:message code="keywords"/>:</label>
<input type="text" class="empty input-small" id="key" name="key" maxlength="50" style="width:170px;" placeholder="<spring:message code='search'/>...">
<!-- <button class="btn" id="btn" onclick="searchNode()"> <i class="icon-search"></i> &nbsp;搜索 </button> -->
</div>
</c:if>
<div id="tree" class="ztree" style="padding:15px 20px;"></div>
</body>

View File

@@ -215,7 +215,7 @@ jQuery.validator.addMethod("ipCheck",function(value, element) {
var ipv4_ip_subnet_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\/(3[0-2]|[1-2][0-9]|[0-9])$/;
var ipv6_ip_subnet_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\/(0|2|4|8|16|32|64|128)$/;
var ipv4_ip_range_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)-(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
var ipv6_ip_range_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
var ipv6_ip_range_regexp= /^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))\-((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;
var ipv4_ip_regexp=/^(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(0|1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/;
var ipv6_ip_regexp=/^((::)|(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}(:[0-9A-Fa-f]{1,4}){1,2})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){1,3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){1,4})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){1,5})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){1,6})|(:(:[0-9A-Fa-f]{1,4}){1,7})|(([0-9A-Fa-f]{1,4}:){6}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|([0-9A-Fa-f]{1,4}:(:[0-9A-Fa-f]{1,4}){0,4}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})|(:(:[0-9A-Fa-f]{1,4}){0,5}:(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}))$/;