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

This commit is contained in:
duandongmei
2018-07-24 15:17:18 +08:00
44 changed files with 1239 additions and 179 deletions

View File

@@ -35,7 +35,20 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code
private Integer specServiceId; private Integer specServiceId;
private String appName; private String appName;
private String behavName;
private String cfgKeywords; private String cfgKeywords;
private String userRegion1;
private String userRegion2;
private String userRegion3;
private String userRegion4;
private String userRegion5;
public String getBehavName() {
return behavName;
}
public void setBehavName(String behavName) {
this.behavName = behavName;
}
@Expose @Expose
@ExcelField(title="expression_type") @ExcelField(title="expression_type")
@@ -155,5 +168,45 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
public void setIpPort(IpPortCfg ipPort) { public void setIpPort(IpPortCfg ipPort) {
this.ipPort = ipPort; this.ipPort = ipPort;
} }
public String getUserRegion1() {
return userRegion1;
}
public void setUserRegion1(String userRegion1) {
this.userRegion1 = userRegion1;
}
public String getUserRegion2() {
return userRegion2;
}
public void setUserRegion2(String userRegion2) {
this.userRegion2 = userRegion2;
}
public String getUserRegion3() {
return userRegion3;
}
public void setUserRegion3(String userRegion3) {
this.userRegion3 = userRegion3;
}
public String getUserRegion4() {
return userRegion4;
}
public void setUserRegion4(String userRegion4) {
this.userRegion4 = userRegion4;
}
public String getUserRegion5() {
return userRegion5;
}
public void setUserRegion5(String userRegion5) {
this.userRegion5 = userRegion5;
}
} }

View File

@@ -25,11 +25,17 @@ public class SpecificServiceCfg extends BaseEntity<SpecificServiceCfg>{
private SpecificServiceCfg parent; //parent_id 父节点id int N 0表示一级节点 private SpecificServiceCfg parent; //parent_id 父节点id int N 0表示一级节点
private Integer isLeaf; //is_leaf 是否是叶子节点 int N 0否1是只有一级填0 private Integer isLeaf; //is_leaf 是否是叶子节点 int N 0否1是只有一级填0
private Integer groupId; //group_id maat端配置分组id int N 缺省0表示未与maat分组同步 private Integer groupId; //group_id maat端配置分组id int N 缺省0表示未与maat分组同步
private Integer cfgType;//配置类型1app;2,加密隧道协议
private Date beginDate; // 开始日期 private Date beginDate; // 开始日期
private Date endDate; // 结束日期 private Date endDate; // 结束日期
private String showSequence; //显示序号 private String showSequence; //显示序号
public Integer getCfgType() {
return cfgType;
}
public void setCfgType(Integer cfgType) {
this.cfgType = cfgType;
}
public Integer getSpecServiceId() { public Integer getSpecServiceId() {
return specServiceId; return specServiceId;
} }

View File

@@ -16,17 +16,17 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes; import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.ServiceConfigInfo; import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.configuration.AppByteCfg; import com.nis.domain.configuration.AppByteCfg;
import com.nis.domain.configuration.AppDomainCfg; import com.nis.domain.configuration.AppDomainCfg;
import com.nis.domain.configuration.AppHttpCfg; import com.nis.domain.configuration.AppHttpCfg;
import com.nis.domain.configuration.AppIpCfg; import com.nis.domain.configuration.AppIpCfg;
import com.nis.domain.configuration.AppPolicyCfg; import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.specific.SpecificServiceCfg; import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException; import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils; import com.nis.web.security.UserUtils;
@@ -54,6 +54,28 @@ public class AppCfgController extends BaseController {
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
entity.setAppName(app.getSpecServiceName()); entity.setAppName(app.getSpecServiceName());
} }
//查找社交应用的所有有效二级特定服务
SpecificServiceCfg second=new SpecificServiceCfg();
for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
if(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
second.setCfgType(Integer.parseInt(dict.getItemCode()));
break;
}
}
second.setIsValid(Constants.VALID_YES);
second.setIsLeaf(1);
List<SpecificServiceCfg> secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null);
//遍历,找到匹配项后将行为设置进去
for(SpecificServiceCfg secondCfg:secondList) {
if(secondCfg.getSpecServiceCode()==null) continue;
for(AppPolicyCfg entity:page.getList()){
if(entity.getBehavCode()==null) continue;
if(secondCfg.getSpecServiceCode().intValue()==entity.getBehavCode().intValue()) {
entity.setBehavName(secondCfg.getSpecServiceName());
break;
}
}
}
model.addAttribute("page", page); model.addAttribute("page", page);
initPageCondition(model,cfg); initPageCondition(model,cfg);
return "/cfg/app/appPolicyCfgList"; return "/cfg/app/appPolicyCfgList";

View File

@@ -0,0 +1,79 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.client.ClientProtocolException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmVoipLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmAvVoipAccountLogs")
public class MmVoipAccountLogController extends BaseController{
/**
* @param model
* @param entry
* @param request
* @param response
* @return
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")MmVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<MmVoipLog> page = new PageLog<MmVoipLog>(request, response);
Map<String, Object> params=new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
initLogSearchValue(entry,params);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_MMVOIP_ACCOUNT_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
Gson gson = new GsonBuilder().create();
//gson泛型支持
LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmVoipLog> data = fromJson.getData();
page.setList(data.getList());
List<MmVoipLog> list = page.getList();
for (MmVoipLog l : list) {
l.setFunctionId(entry.getFunctionId());
setLogAction(l);
}
model.addAttribute("page", page);
logger.info("查询mmVoipAccount日志成功");
}
} catch (Exception e) {
logger.info("查询mmVoipAccount日志失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/mmVoipAccountList";
}
}

View File

@@ -0,0 +1,79 @@
package com.nis.web.controller.log.ntc;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.client.ClientProtocolException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmVoipLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmVoipIpLogs")
public class MmVoipIpLogController extends BaseController{
/**
* @param model
* @param entry
* @param request
* @param response
* @return
* @throws ClientProtocolException
* @throws IOException
*/
@RequestMapping(value={"list",""})
public String list(Model model,@ModelAttribute("log")MmVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException {
try {
PageLog<MmVoipLog> page = new PageLog<MmVoipLog>(request, response);
Map<String, Object> params=new HashMap<>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//查询值判断
initLogSearchValue(entry,params);
String url = "";
url = Constants.LOG_BASE_URL+Constants.NTC_MMVOIP_IP_LOG;
String jsonString = HttpClientUtil.getMsg(url,params,request);
Gson gson = new GsonBuilder().create();
//gson泛型支持
LogRecvData<MmVoipLog> fromJson = gson.fromJson(jsonString, new TypeToken<LogRecvData<MmVoipLog>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<MmVoipLog> data = fromJson.getData();
page.setList(data.getList());
List<MmVoipLog> list = page.getList();
for (MmVoipLog l : list) {
l.setFunctionId(entry.getFunctionId());
setLogAction(l);
}
model.addAttribute("page", page);
logger.info("查询VoipIp日志成功");
}
} catch (Exception e) {
logger.info("查询VoipIp日志失败", e);
addMessage(model, e.getMessage());
}
return "/log/ntc/mmVoipIpList";
}
}

View File

@@ -190,7 +190,7 @@ public class SpecificServiceCfgController extends BaseController {
@ResponseBody @ResponseBody
@RequestMapping(value = "treeData") @RequestMapping(value = "treeData")
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide,
@RequestParam(required=false)boolean isLeafShow,HttpServletResponse response){ @RequestParam(required=false)boolean isLeafShow,@RequestParam(required=true)Integer cfgType,HttpServletResponse response){
List<Map<String, Object>> mapList = Lists.newArrayList(); List<Map<String, Object>> mapList = Lists.newArrayList();
Map<String, Object> map2 = Maps.newHashMap(); Map<String, Object> map2 = Maps.newHashMap();
map2.put("id", 0); map2.put("id", 0);
@@ -203,7 +203,7 @@ public class SpecificServiceCfgController extends BaseController {
SpecificServiceCfg specificServiceCfg = list.get(i); SpecificServiceCfg specificServiceCfg = list.get(i);
if(StringUtils.isBlank(extId)||(extId!=null&&!extId.equals(specificServiceCfg.getSpecServiceId().toString()))){ if(StringUtils.isBlank(extId)||(extId!=null&&!extId.equals(specificServiceCfg.getSpecServiceId().toString()))){
if(specificServiceCfg.getIsValid().equals(0)|| if(specificServiceCfg.getIsValid().equals(0)||
(!isLeafShow && specificServiceCfg.getIsLeaf().equals(1))){ (!isLeafShow && specificServiceCfg.getIsLeaf().equals(1))||specificServiceCfg.getCfgType().intValue()!=cfgType){
continue; continue;
} }
Map<String, Object> map = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap();
@@ -215,7 +215,26 @@ public class SpecificServiceCfgController extends BaseController {
} }
return mapList; return mapList;
} }
/**
*
*/
@ResponseBody
@RequestMapping(value = "childrenList")
public List<Map<String, Object>> childrenList(@RequestParam(required=false)Integer parent,HttpServletResponse response){
List<Map<String, Object>> mapList = Lists.newArrayList();
List<SpecificServiceCfg> list = specificServiceCfgService.getChildrenById(parent);
for (int i=0; i<list.size(); i++){
Map<String, Object> map = Maps.newHashMap();
SpecificServiceCfg specificServiceCfg = list.get(i);
if(specificServiceCfg.getIsLeaf().equals(1)){
map.put("code", specificServiceCfg.getSpecServiceCode());
map.put("pId", specificServiceCfg.getParent().getSpecServiceId());
map.put("name",specificServiceCfg.getSpecServiceName());
mapList.add(map);
}
}
return mapList;
}
/** /**
* 校验协议id是否重复 * 校验协议id是否重复
* @param specServiceId * @param specServiceId

View File

@@ -29,6 +29,11 @@
<result column="area_effective_ids" property="areaEffectiveIds" jdbcType="VARCHAR" /> <result column="area_effective_ids" property="areaEffectiveIds" jdbcType="VARCHAR" />
<result column="ratelimit" property="ratelimit" jdbcType="INTEGER" /> <result column="ratelimit" property="ratelimit" jdbcType="INTEGER" />
<result column="function_id" property="functionId" jdbcType="INTEGER" /> <result column="function_id" property="functionId" jdbcType="INTEGER" />
<result column="user_region1" property="userRegion1" jdbcType="VARCHAR" />
<result column="user_region2" property="userRegion2" jdbcType="VARCHAR" />
<result column="user_region3" property="userRegion3" jdbcType="VARCHAR" />
<result column="user_region4" property="userRegion4" jdbcType="VARCHAR" />
<result column="user_region5" property="userRegion5" jdbcType="VARCHAR" />
</resultMap> </resultMap>
<resultMap id="AppIpCfgMap" type="com.nis.domain.configuration.AppIpCfg" > <resultMap id="AppIpCfgMap" type="com.nis.domain.configuration.AppIpCfg" >
@@ -229,7 +234,8 @@
r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME, r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME,
r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY, r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY,
r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID, r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID,
r.CFG_TYPE,r.CFG_REGION_CODE,r.EXPR_TYPE,r.MATCH_METHOD,r.IS_HEXBIN r.CFG_TYPE,r.CFG_REGION_CODE,r.EXPR_TYPE,r.MATCH_METHOD,r.IS_HEXBIN,r.USER_REGION1,r.USER_REGION2,
r.USER_REGION3,r.USER_REGION4,r.USER_REGION5
</sql> </sql>
<sql id="AppIpCfg_Column" > <sql id="AppIpCfg_Column" >
@@ -440,6 +446,21 @@
</if> </if>
<if test="areaEffectiveIds != null and areaEffectiveIds != ''"> <if test="areaEffectiveIds != null and areaEffectiveIds != ''">
AND r.AREA_EFFECTIVE_IDS like concat(concat('%',#{areaEffectiveIds,jdbcType=VARCHAR}),'%') AND r.AREA_EFFECTIVE_IDS like concat(concat('%',#{areaEffectiveIds,jdbcType=VARCHAR}),'%')
</if>
<if test="userRegion1 != null and userRegion1 != ''">
AND r.user_region1 =#{userRegion1,jdbcType=VARCHAR}
</if>
<if test="userRegion2 != null and userRegion2 != ''">
AND r.user_region2 =#{userRegion2,jdbcType=VARCHAR}
</if>
<if test="userRegion3 != null and userRegion3 != ''">
AND r.user_region3 =#{userRegion3,jdbcType=VARCHAR}
</if>
<if test="userRegion4 != null and userRegion4 != ''">
AND r.user_region4 =#{userRegion4,jdbcType=VARCHAR}
</if>
<if test="userRegion5 != null and userRegion5 != ''">
AND r.user_region5 =#{userRegion5,jdbcType=VARCHAR}
</if> </if>
<if test="ipPort!=null"> <if test="ipPort!=null">
AND r.compile_id in (select t.compile_id from ip_port_cfg t AND r.compile_id in (select t.compile_id from ip_port_cfg t
@@ -991,10 +1012,13 @@
CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME, CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME,
SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY, SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY,
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID, ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID,
CFG_TYPE,CFG_REGION_CODE,EXPR_TYPE,MATCH_METHOD,IS_HEXBIN CFG_TYPE,CFG_REGION_CODE,EXPR_TYPE,MATCH_METHOD,IS_HEXBIN,USER_REGION1
,USER_REGION2,USER_REGION3,USER_REGION4,USER_REGION5
)values ( )values (
<include refid="AppCommonCfg_Value_List" />, <include refid="AppCommonCfg_Value_List" />,
#{exprType,jdbcType=INTEGER},#{matchMethod,jdbcType=INTEGER},#{isHexbin,jdbcType=INTEGER} #{exprType,jdbcType=INTEGER},#{matchMethod,jdbcType=INTEGER},#{isHexbin,jdbcType=INTEGER}
,#{userRegion1,jdbcType=VARCHAR} ,#{userRegion2,jdbcType=VARCHAR} ,#{userRegion3,jdbcType=VARCHAR}
,#{userRegion4,jdbcType=VARCHAR} ,#{userRegion5,jdbcType=VARCHAR}
) )
</insert> </insert>
<insert id="insertAppIpCfg" parameterType="com.nis.domain.configuration.AppIpCfg" > <insert id="insertAppIpCfg" parameterType="com.nis.domain.configuration.AppIpCfg" >
@@ -1230,6 +1254,21 @@
</if> </if>
<if test="cfgType != null and cfgType != ''"> <if test="cfgType != null and cfgType != ''">
CFG_TYPE =#{cfgType,jdbcType=VARCHAR}, CFG_TYPE =#{cfgType,jdbcType=VARCHAR},
</if>
<if test="userRegion1 != null and userRegion1 != ''">
USER_REGION1 =#{userRegion1,jdbcType=VARCHAR},
</if>
<if test="userRegion2 != null and userRegion2 != ''">
USER_REGION2 =#{userRegion2,jdbcType=VARCHAR},
</if>
<if test="userRegion3 != null and userRegion3 != ''">
USER_REGION1 =#{userRegion3,jdbcType=VARCHAR},
</if>
<if test="userRegion4 != null and userRegion4 != ''">
USER_REGION1 =#{userRegion4,jdbcType=VARCHAR},
</if>
<if test="userRegion5 != null and userRegion5 != ''">
USER_REGION1 =#{userRegion5,jdbcType=VARCHAR},
</if> </if>
</trim> </trim>
</set> </set>

View File

@@ -11,6 +11,7 @@
<result column="op_time" property="opTime" jdbcType="TIMESTAMP" /> <result column="op_time" property="opTime" jdbcType="TIMESTAMP" />
<result column="is_leaf" property="isLeaf" jdbcType="INTEGER" /> <result column="is_leaf" property="isLeaf" jdbcType="INTEGER" />
<result column="group_id" property="groupId" jdbcType="INTEGER" /> <result column="group_id" property="groupId" jdbcType="INTEGER" />
<result column="cfg_type" property="cfgType" jdbcType="INTEGER" />
<!-- 父id --> <!-- 父id -->
<association property="parent" javaType="com.nis.domain.specific.SpecificServiceCfg"> <association property="parent" javaType="com.nis.domain.specific.SpecificServiceCfg">
<id column="parent_id" property="specServiceId" jdbcType="INTEGER" /> <id column="parent_id" property="specServiceId" jdbcType="INTEGER" />
@@ -26,7 +27,8 @@
s.op_time AS opTime, s.op_time AS opTime,
s.parent_id AS "parent.specServiceId", s.parent_id AS "parent.specServiceId",
s.is_leaf AS isLeaf, s.is_leaf AS isLeaf,
s.group_id AS groupId s.group_id AS groupId,
s.cfg_type AS cfgType
</sql> </sql>
@@ -53,6 +55,9 @@
<if test="groupId != null and groupId != '' "> <if test="groupId != null and groupId != '' ">
AND group_id like '%${groupId}%' AND group_id like '%${groupId}%'
</if> </if>
<if test="cfgType != null and cfgType != '' ">
AND cfg_type =#{cfgType,jdbcType=INTEGER}
</if>
<if test="beginDate != null" > <if test="beginDate != null" >
AND s.op_time &gt;= #{beginDate,jdbcType=TIMESTAMP} AND s.op_time &gt;= #{beginDate,jdbcType=TIMESTAMP}
</if> </if>
@@ -112,6 +117,12 @@
<if test="specificServiceCfg.groupId != null and specificServiceCfg.groupId != '' "> <if test="specificServiceCfg.groupId != null and specificServiceCfg.groupId != '' ">
AND group_id like '%${specificServiceCfg.groupId}%' AND group_id like '%${specificServiceCfg.groupId}%'
</if> </if>
<if test="specificServiceCfg.cfgType != null and specificServiceCfg.cfgType != '' ">
AND cfg_type = #{specificServiceCfg.cfgType}
</if>
<if test="specificServiceCfg.isLeaf != null and specificServiceCfg.isLeaf != '' ">
AND is_leaf = #{specificServiceCfg.isLeaf}
</if>
<if test="specificServiceCfg.beginDate != null"> <if test="specificServiceCfg.beginDate != null">
AND op_time &gt; #{specificServiceCfg.beginDate} AND op_time &gt; #{specificServiceCfg.beginDate}
</if> </if>
@@ -130,8 +141,8 @@
<!-- 新增 --> <!-- 新增 -->
<insert id="insert" parameterType="com.nis.domain.specific.SpecificServiceCfg" useGeneratedKeys="true"> <insert id="insert" parameterType="com.nis.domain.specific.SpecificServiceCfg" useGeneratedKeys="true">
insert into specific_service_cfg (spec_service_code,spec_service_name,spec_service_desc,is_valid, op_time, parent_id,is_leaf,group_id) insert into specific_service_cfg (spec_service_code,spec_service_name,spec_service_desc,is_valid, op_time, parent_id,is_leaf,group_id,cfg_type)
values(#{specServiceCode},#{specServiceName},#{specServiceDesc},#{isValid},#{opTime},#{parent.specServiceId},#{isLeaf},#{groupId}) values(#{specServiceCode},#{specServiceName},#{specServiceDesc},#{isValid},#{opTime},#{parent.specServiceId},#{isLeaf},#{groupId},#{cfgType})
</insert> </insert>
<!-- 修改 --> <!-- 修改 -->
@@ -144,7 +155,8 @@
s.op_time = #{opTime}, s.op_time = #{opTime},
s.parent_id = #{parent.specServiceId}, s.parent_id = #{parent.specServiceId},
s.is_leaf = #{isLeaf}, s.is_leaf = #{isLeaf},
s.group_id = #{groupId} s.group_id = #{groupId},
s.cfg_type = #{cfgType}
WHERE s.spec_service_id = #{specServiceId} WHERE s.spec_service_id = #{specServiceId}
</update> </update>

View File

@@ -86,6 +86,19 @@ public class ServiceDictInfoService extends BaseService{
} }
return list; return list;
} }
/**
* 查询该类型所有的非叶子配置
*/
public List<ServiceDictInfo> findAllNoLeafDictList(String itType,Integer cfgType) {
List<ServiceDictInfo> list = Lists.newArrayList();
List<Integer> intArr = ConfigDictUtils.dealTypeCondition(Configurations.getStringProperty("SERVICE_DICT_ITM_TYPE", ""), itType);
for(Integer intType:intArr){
List<ServiceDictInfo> tempList = serviceDictInfoDao.findAllNoLeafDictList(intType);
list.addAll(tempList);
}
return list;
}
/** /**
* 根据主键查询字典详细信息 * 根据主键查询字典详细信息
* @param serviceDictId * @param serviceDictId

View File

@@ -5,6 +5,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -414,7 +415,7 @@ public class AppCfgService extends BaseService {
if(isAudit==1){ if(isAudit==1){
if(entity.getBehavCode()!=null){ if(entity.getBehavCode()!=null){
entity.setCfgKeywords(entity.getAppCode()+"&"+entity.getBehavCode()); entity.setCfgKeywords(entity.getAppCode()+Constants.KEYWORD_EXPR+entity.getBehavCode());
}else{ }else{
entity.setCfgKeywords(entity.getAppCode()+""); entity.setCfgKeywords(entity.getAppCode()+"");
} }
@@ -476,10 +477,12 @@ public class AppCfgService extends BaseService {
String actionCode = DictUtils.getDictCode("SERVICE_ACTION", "action_ratelimit"); String actionCode = DictUtils.getDictCode("SERVICE_ACTION", "action_ratelimit");
if(!actionCode.equals("默认")){ if(!actionCode.equals("默认")){
if(entity.getAction().equals(Integer.parseInt(actionCode))){ if(entity.getAction().equals(Integer.parseInt(actionCode))){
userRegion += Constants.USER_REGION_SPLIT+"RATE_LIMIT="+entity.getRatelimit(); userRegion += Constants.USER_REGION_SPLIT+Constants.RATE_LIMIT_REGION+"="+entity.getRatelimit();
} }
} }
if(entity.getBehavCode()!=null) {
userRegion += Constants.USER_REGION_SPLIT+Constants.BEHAV_ID_REGION+"="+entity.getBehavCode();
}
maatCfg.setUserRegion(userRegion); maatCfg.setUserRegion(userRegion);
configCompileList.add(maatCfg); configCompileList.add(maatCfg);
maatBean.setConfigCompileList(configCompileList); maatBean.setConfigCompileList(configCompileList);

View File

@@ -790,6 +790,10 @@ app_byte_config=APP Byte Feature
social_app=Applicaiton social_app=Applicaiton
app_policy_config=APP Policy app_policy_config=APP Policy
app_features_config=APP Feature app_features_config=APP Feature
cfg_type=Cfg Type
encrypted_tunnel_behavior=Encrypted Tunnel Behavior
behaviour_type=Behaviour Type
basic_protocol=Basic Protocol
#=============about app config=========== #=============about app config===========
#=============about Maintenance========= #=============about Maintenance=========
ip_Reuse_pool_config=IP Reuseing Pool ip_Reuse_pool_config=IP Reuseing Pool

View File

@@ -702,6 +702,21 @@ ratelimit=ratelimit scale
ir_type=multiplex type ir_type=multiplex type
dns_strategy_id=dns strategy id dns_strategy_id=dns strategy id
#=============about manipulation========= #=============about manipulation=========
#=============about app config===========
domain=Domain
app_ip_config=APP Protocol IP
bytes=byte
app_http_config=APP HTTP Feature
app_domain_config=APP Domain Feature
app_byte_config=APP Byte Feature
social_app=Applicaiton
app_policy_config=APP Policy
app_features_config=APP Feature
cfg_type=Cfg Type
encrypted_tunnel_behavior=Encrypted Tunnel Behavior
behaviour_type=Behaviour Type
basic_protocol=Basic Protocol
#=============about app config===========
#=============about Maintenance========= #=============about Maintenance=========
ip_multiplex_pool_config=ip multiplex pool config ip_multiplex_pool_config=ip multiplex pool config
dns_res_strategy=dns response strategy dns_res_strategy=dns response strategy

View File

@@ -792,6 +792,10 @@ app_byte_config=APP\u5B57\u8282\u7279\u5F81
social_app=\u793E\u4EA4\u5E94\u7528 social_app=\u793E\u4EA4\u5E94\u7528
app_policy_config=APP\u7B56\u7565 app_policy_config=APP\u7B56\u7565
app_features_config=APP\u7279\u5F81 app_features_config=APP\u7279\u5F81
cfg_type=\u914D\u7F6E\u7C7B\u578B
encrypted_tunnel_behavior=\u52A0\u5BC6\u96A7\u9053\u884C\u4E3A
behaviour_type=\u884C\u4E3A\u7C7B\u578B
basic_protocol=\u57FA\u7840\u534F\u8BAE
#=============about app config=========== #=============about app config===========
#=============about Maintenance========= #=============about Maintenance=========
ip_multiplex_pool_config=IP\u590D\u7528\u5730\u5740\u6C60 ip_multiplex_pool_config=IP\u590D\u7528\u5730\u5740\u6C60

View File

@@ -107,10 +107,12 @@
break; // 如果为非复选框选择,则返回第一个选择 </c:if> break; // 如果为非复选框选择,则返回第一个选择 </c:if>
} }
$("#${id}Id").val(ids.join(",").replace(/u_/ig,"")); $("#${id}Id").val(ids.join(",").replace(/u_/ig,""));
$("#${id}Id").change();//手动触发change事件使Id的值得变化可以被监听到
$("#${id}Name").val(names.join(",")); $("#${id}Name").val(names.join(","));
}//<c:if test="${allowClear}"> }//<c:if test="${allowClear}">
else if (v=="clear"){ else if (v=="clear"){
$("#${id}Id").val(""); $("#${id}Id").val("");
$("#${id}Id").change();//手动触发change事件使Id的值得变化可以被监听到
$("#${id}Name").val(""); $("#${id}Name").val("");
}//</c:if> }//</c:if>
if(typeof ${id}TreeselectCallBack == 'function'){ if(typeof ${id}TreeselectCallBack == 'function'){

View File

@@ -46,6 +46,9 @@ $(function(){
</head> </head>
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span> <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> <span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<h3 class="page-title"> <h3 class="page-title">
@@ -88,7 +91,7 @@ $(function(){
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}" labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control required"/> cssClass="form-control required"/>
</div> </div>
<div for="parent.specServiceName"></div> <div for="parent.specServiceName"></div>

View File

@@ -41,6 +41,9 @@
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="app:byte:config"> <shiro:hasPermission name="app:byte:config">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@@ -87,7 +90,7 @@
<sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}" labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/> cssClass="form-control input-small"/>
</div> </div>
<div class="pull-left"> <div class="pull-left">

View File

@@ -47,6 +47,9 @@ $(function(){
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span> <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> <span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<h3 class="page-title"> <h3 class="page-title">
@@ -88,7 +91,7 @@ $(function(){
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}" labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control required"/> cssClass="form-control required"/>
</div> </div>
<div for="parent.specServiceName"></div> <div for="parent.specServiceName"></div>

View File

@@ -41,6 +41,9 @@
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="app:domain:config"> <shiro:hasPermission name="app:domain:config">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@@ -87,7 +90,7 @@
<sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}" labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/> cssClass="form-control input-small"/>
</div> </div>
<div class="pull-left"> <div class="pull-left">

View File

@@ -47,6 +47,9 @@ $(function(){
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span> <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> <span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<h3 class="page-title"> <h3 class="page-title">
@@ -88,7 +91,7 @@ $(function(){
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}" labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control required"/> cssClass="form-control required"/>
</div> </div>
<div for="parent.specServiceName"></div> <div for="parent.specServiceName"></div>

View File

@@ -41,6 +41,9 @@
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="app:http:config"> <shiro:hasPermission name="app:http:config">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@@ -87,7 +90,7 @@
<sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}" labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/> cssClass="form-control input-small"/>
</div> </div>
<div class="pull-left"> <div class="pull-left">

View File

@@ -29,6 +29,9 @@ $(function(){
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="app_ip_config"></spring:message> <spring:message code="app_ip_config"></spring:message>
</h3> </h3>
@@ -69,7 +72,7 @@ $(function(){
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}" labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control required"/> cssClass="form-control required"/>
</div> </div>
<div for="parent.specServiceName"></div> <div for="parent.specServiceName"></div>

View File

@@ -44,6 +44,9 @@
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="app:ip:config"> <shiro:hasPermission name="app:ip:config">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@@ -90,7 +93,7 @@
<sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}" labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/> cssClass="form-control input-small"/>
</div> </div>
<div class="pull-left"> <div class="pull-left">

View File

@@ -50,6 +50,9 @@ $(function(){
$(this).remove(); $(this).remove();
}); });
$("input[name$='exprType']").attr("disabled",false); $("input[name$='exprType']").attr("disabled",false);
if($("[name='behavCode']")&&$("[name='behavCode']").val()!=""){
$("input[name$='exprType']").val(1);
}
/* $("#appCode").val($("#specServiceIdId").val()); */ /* $("#appCode").val($("#specServiceIdId").val()); */
loading('onloading...'); loading('onloading...');
form.submit(); form.submit();
@@ -57,7 +60,57 @@ $(function(){
}, },
errorContainer: "#messageBox", errorContainer: "#messageBox",
}); });
if('${_cfg.behavCode}'){
ajaxBehaviour($("#specServiceIdId").val());
}
$("#specServiceIdId").on("change",function(){
ajaxBehaviour($(this).val());
});
}); });
var ajaxBehaviour=function(val){
var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.indexOf("/nis")+4);
var request=$.ajax({
type:'post',
url:pathName+'/specific/specificServiceCfg/childrenList',
data:{"parent":val},
dataType:'json',
async:true,
success:function(data,textStatus){//处理返回结果
if(textStatus=="success"){
if(data.length>0){
var html='<select name="behavCode" data-live-search="true" class="selectpicker form-control">'
+'<option value=""><spring:message code="select"/></option>';
for(i=0;i<data.length;i++){
html+='<option value="'+data[i].code+'"';
if('${_cfg.behavCode}'==data[i].code){
html+=" selected";
}
html+='>'+data[i].name+'</option>';
}
html+='</select>';
$("#behaviour").prev("label").removeClass("hidden");
$("#behaviour").html(html);
$("[name='behavCode']").selectpicker("refresh");
$("[name='behavCode']").selectpicker("render");
}else{
if($("#behaviour").prev("label").is(":visible")){
$("#behaviour").prev("label").addClass("hidden");
$("#behaviour").html("");
}
}
}
},
complete:function(XMLHttpRequest,status){//超时设置
if(status=="timeout"){
if($("#behaviour").prev("label").is(":visible")){
$("#behaviour").prev("label").addClass("hidden");
$("#behaviour").html("");
}
}
}
});
}
//业务窗口打开 //业务窗口打开
var addContent = function(obj, contentClassName) { var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next(); var showDiv = $(obj).parent().parent().next();
@@ -76,6 +129,9 @@ var delContent = function(contentClassName, addBtnClassName) {
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="app_policy_config"></spring:message> <spring:message code="app_policy_config"></spring:message>
</h3> </h3>
@@ -97,9 +153,9 @@ var delContent = function(contentClassName, addBtnClassName) {
<input type="hidden" name="functionId" value="${_cfg.functionId}"> <input type="hidden" name="functionId" value="${_cfg.functionId}">
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}"> <input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
<%-- <input type="hidden" id="appCode" name="appCode" value="${_cfg.appCode}"> --%> <%-- <input type="hidden" id="appCode" name="appCode" value="${_cfg.appCode}"> --%>
<input type="hidden" id="behavCode" name="behavCode" value="${_cfg.behavCode}"> <%-- <input type="hidden" id="behavCode" name="behavCode" value="${_cfg.behavCode}"> --%>
<input type="hidden" id="exprType" name="exprType" value="0"> <input type="hidden" id="exprType" name="exprType" value="0">
<input type="hidden" id="matchMethod" name="matchMethod" value="3"> <input type="hidden" id="matchMethod" name="matchMethod" value="0">
<input type="hidden" id="isHexbin" name="isHexbin" value="0"> <input type="hidden" id="isHexbin" name="isHexbin" value="0">
<div class="form-body"> <div class="form-body">
<!-- desc and action --> <!-- desc and action -->
@@ -109,6 +165,16 @@ var delContent = function(contentClassName, addBtnClassName) {
<c:if test="${region.regionType eq 2 }"> <c:if test="${region.regionType eq 2 }">
<input type="hidden" name="cfgType" value="${region.configRegionValue}"> <input type="hidden" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}"> <input type="hidden" name="cfgRegionCode" value="${region.configRegionCode}">
<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>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <div class="form-group">
@@ -117,20 +183,16 @@ var delContent = function(contentClassName, addBtnClassName) {
<sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${_cfg.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}" labelValue="${empty _cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(_cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control required"/> cssClass="form-control required"/>
</div> </div>
<div for="parent.specServiceName"></div> <div for="parent.specServiceName"></div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="form-group"> <label class="control-label col-md-3 hidden"><spring:message code="behaviour_type"/></label>
<label class="control-label col-md-3"><spring:message code="config_describe"/></label> <div class="col-md-6" id="behaviour">
<div class="col-md-6"> </div>
<input class="form-control" type="text" name="cfgDesc" value="${_cfg.cfgDesc}">
</div>
</div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">

View File

@@ -84,6 +84,9 @@
<body> <body>
<div class="page-content"> <div class="page-content">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="app:policy:config"> <shiro:hasPermission name="app:policy:config">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@@ -130,7 +133,7 @@
<sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}" <sys:treeselect id="specServiceId" name="specServiceId" value="${specificServiceCfg.parent.specServiceId}"
labelName="parent.specServiceName" labelName="parent.specServiceName"
labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}" labelValue="${empty cfg.specServiceId?spec_service_id:fns:getBySpecServiceId(cfg.specServiceId).specServiceName}"
title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false" extId="" title="${spec_service_id}" url="/specific/specificServiceCfg/treeData?isLeafShow=false&cfgType=${app}" extId=""
cssClass="form-control input-small"/> cssClass="form-control input-small"/>
</div> </div>
<div class="pull-left"> <div class="pull-left">
@@ -310,6 +313,7 @@
<th><input type="checkbox" class="i-checks" id="checkAll"></th> <th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th class="cfgDesc"><spring:message code="config_describe"/></th> <th class="cfgDesc"><spring:message code="config_describe"/></th>
<th><spring:message code="social_app"/></th> <th><spring:message code="social_app"/></th>
<th><spring:message code="behaviour_type"/></th>
<th><spring:message code="ratelimit"/></th> <th><spring:message code="ratelimit"/></th>
<th><spring:message code="block_type"/></th> <th><spring:message code="block_type"/></th>
<th><spring:message code="whether_area_block"/></th> <th><spring:message code="whether_area_block"/></th>
@@ -337,6 +341,7 @@
</td> </td>
<td>${cfg.cfgDesc }</td> <td>${cfg.cfgDesc }</td>
<td>${cfg.appName }</td> <td>${cfg.appName }</td>
<td>${cfg.behavName }</td>
<td>${cfg.ratelimit }</td> <td>${cfg.ratelimit }</td>
<td> <td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">

View File

@@ -15,18 +15,35 @@
<![endif]--> <![endif]-->
<style type="text/css"> <style type="text/css">
/*
a:link {
color:red !important;
text-decoration:none
}
a:visited {
background-color:blue !important;
text-decoration:none
}
a:hover {
color:green !important;
text-decoration:none
}
a:active {
color:green !important;
text-decoration:none;
background-color:blue !important;
} */
</style> </style>
</head> </head>
<body> <body>
<!--content开始--> <!--content开始-->
<div class="data_content"> <div class="data_content">
<!--header开始--> <!--header开始-->
<div class="header-title"> <!-- <div class="header-title">
<div class="title-left fl"></div> <div class="title-left fl"></div>
<div class="title-center fl"><a href="javascript:window.location.reload()"><i class="fa fa-line-chart"></i>&nbsp;网络流量分析</a></div> <div class="title-center fl"><a href="javascript:window.location.reload()"><i class="fa fa-line-chart"></i>&nbsp;网络流量分析</a></div>
<div class="title-right fr"></div> <div class="title-right fr"></div>
</div> </div> -->
<!--header结束--> <!--header结束-->
<div class="data_main"> <div class="data_main">
@@ -352,8 +369,14 @@ function systemList(){
$(rs).each(function(i, itemObj) { $(rs).each(function(i, itemObj) {
var tr = "<tr class='frist rowData'>"; var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+n+"</a></td>"; tr += "<td class='list_c1'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+n+"</a></td>";
tr += "<td class='list_c2'><a data-toggle='tooltip' title='"+itemObj.osType+"' href='javascript:osClick(\""+itemObj.osType+"\");'>"+itemObj.osType+"</a></td>"; tr += "<td class='list_c2'><a href='javascript:;' data-toggle='tooltip' title='"+itemObj.osType+"' onclick='javascript:osClick(\""+itemObj.osType+"\");'>"+itemObj.osType+"</a></td>";
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+itemObj.count+"</a></td></tr>"; if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+""+"</a></td></tr>";
}
n=n-1; n=n-1;
$("#tbodyData1").prepend(tr); $("#tbodyData1").prepend(tr);
}) })
@@ -431,8 +454,13 @@ function browserList() {
var tr = "<tr class='frist rowData'>"; var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+n+"</a></td>"; tr += "<td class='list_c1'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+n+"</a></td>";
tr += "<td class='list_c2'><a data-toggle='tooltip' title='"+itemObj.bsType+"' href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+itemObj.bsType+"</a></td>"; tr += "<td class='list_c2'><a data-toggle='tooltip' title='"+itemObj.bsType+"' href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+itemObj.bsType+"</a></td>";
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+itemObj.count+"</a></td></tr>"; if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+""+"</a></td></tr>";
}
$("#tbodyData1").prepend(tr); $("#tbodyData1").prepend(tr);
n=n-1; n=n-1;
}) })
@@ -477,7 +505,13 @@ function websiteList() {
var tr = "<tr class='frist rowData'>"; var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+n+"</a></td>"; tr += "<td class='list_c1'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+n+"</a></td>";
tr += "<td class='list_c2'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+itemObj.webId+"</a></td>"; tr += "<td class='list_c2'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+itemObj.webId+"</a></td>";
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+itemObj.count+"</a></td></tr>"; if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+""+"</a></td></tr>";
}
$("#tbodyData2").prepend(tr); $("#tbodyData2").prepend(tr);
n=n-1; n=n-1;

View File

@@ -126,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -142,6 +136,12 @@ $(document).ready(function(){
</c:forEach> </c:forEach>
</form:select> </form:select>
</div> </div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">

View File

@@ -126,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -143,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input id=capIp name="capIp" class="form-control" type="text" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -126,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -143,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -126,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -143,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -122,16 +122,21 @@
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" 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="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/> <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">

View File

@@ -61,6 +61,7 @@ $(document).ready(function(){
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small"> <form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option> <form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option> <form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select> </form:select>
@@ -125,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -142,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -61,6 +61,7 @@ $(document).ready(function(){
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small"> <form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option> <form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option> <form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select> </form:select>
@@ -125,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -142,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -61,6 +61,7 @@ $(document).ready(function(){
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small"> <form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option> <form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option> <form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select> </form:select>
@@ -125,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -142,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -61,6 +61,7 @@ $(document).ready(function(){
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small"> <form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option> <form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option> <form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select> </form:select>
@@ -125,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -142,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -0,0 +1,273 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
//筛选功能
filterActionInit();
//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",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
});
//查询
function page(n,s){
$("#intype").attr("name",$("#seltype").val());
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").attr("action","${ctx}/log/ntc/mmAvVoipAccountLogs");
$("#searchForm").submit();
loading();
return false;
}
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
VOIP ACCOUNT
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmAvVoipAccountLogs" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="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"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<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>
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="protocol_type"/></label>
<c:set var="select"><spring:message code='select'/></c:set>
<form:select path="transProto" class="selectpicker select2 form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker select2 form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" 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="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</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><spring:message code='cfg_id'/></th>
<th><spring:message code='entrance_id'/></th>
<th><spring:message code="action"/></th>
<th><spring:message code='direct'/></th>
<th><spring:message code='found_time'/></th>
<th><spring:message code='recv_time'/></th>
<th><spring:message code='protocol'/></th>
<th><spring:message code='duation'/></th>
<th><spring:message code='voip_protocol'/></th>
<th><spring:message code='calling_account'/></th>
<th><spring:message code='called_account'/></th>
<th><spring:message code='calling_number'/></th>
<th><spring:message code='called_number'/></th>
<th><spring:message code='from_to_store_ip'/></th>
<th><spring:message code='from_to_store_url'/></th>
<th><spring:message code='to_from_store_ip'/></th>
<th><spring:message code='to_from_store_url'/></th>
<th><spring:message code='pid'/></th>
<th><spring:message code='log_uri'/></th>
<th><spring:message code='harm_level'/></th>
<th><spring:message code='fd_type'/></th>
<th><spring:message code='addr_type'/></th>
<th><spring:message code='serverip'/></th>
<th><spring:message code='clientip'/></th>
<th><spring:message code='serverport'/></th>
<th><spring:message code='clientport'/></th>
<th><spring:message code='deviceid'/></th>
<th><spring:message code='stream_type'/></th>
<th><spring:message code='clj_ip'/></th>
<th><spring:message code='nest_addr_list'/></th>
<th><spring:message code='user_region'/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dic">
<c:if test="${log.direction==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime}</td>
<td>${log.recvTime}</td>
<td>${log.transProto}</td>
<td>${log.duation}</td>
<td>${log.protocol}</td>
<td>${log.callingAccount}</td>
<td>${log.calledAccount}</td>
<td>${log.callingNumber}</td>
<td>${log.calledNumber}</td>
<td>${log.fromToStoreIp}</td>
<td>${log.fromToStoreUrl}</td>
<td>${log.toFromStoreIp}</td>
<td>${log.toFromStoreUrl}</td>
<td>${log.pid}</td>
<td>${log.logUri}</td>
<td>${log.level}</td>
<!--0动态黑名单FD1静态配置FD2首次分析命中 -->
<td>
<c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
<c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
<c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
<c:if test="${log.addrType==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.dIp}</td>
<td>${log.sIp}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dic">
<c:if test="${log.streamDir==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.capIp}</td>
<td>${log.addrList}</td>
<td>${log.userRegion}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,273 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
//筛选功能
filterActionInit();
//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",'');
$(':input','#searchForm')
.not(':button,:submit,:reset,:hidden')
.attr("value",'');
$("#searchForm")[0].reset();
});
});
//查询
function page(n,s){
$("#intype").attr("name",$("#seltype").val());
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").attr("action","${ctx}/log/ntc/mmVoipIpLogs");
$("#searchForm").submit();
loading();
return false;
}
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
VOIP IP
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<div class="col-md-12">
<div class="portlet">
<div class="portlet-body">
<div class="row" >
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmVoipIpLogs" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="action" class="selectpicker select2 input-small">
<form:option value=""><spring:message code="action"/></form:option>
<form:option value="16"><spring:message code="action_reject"/></form:option>
<form:option value="1"><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="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"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<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>
<!-- 筛选搜索内容栏默认隐藏-->
<div class="col-md-12 filter-action-select-panle hide" >
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="protocol_type"/></label>
<c:set var="select"><spring:message code='select'/></c:set>
<form:select path="transProto" class="selectpicker select2 form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker select2 form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" 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="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
</div>
</div>
</div>
</div>
<!-- /筛选搜索内容栏 结束-->
</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><spring:message code='cfg_id'/></th>
<th><spring:message code='entrance_id'/></th>
<th><spring:message code="action"/></th>
<th><spring:message code='direct'/></th>
<th><spring:message code='found_time'/></th>
<th><spring:message code='recv_time'/></th>
<th><spring:message code='protocol'/></th>
<th><spring:message code='duation'/></th>
<th><spring:message code='voip_protocol'/></th>
<th><spring:message code='calling_account'/></th>
<th><spring:message code='called_account'/></th>
<th><spring:message code='calling_number'/></th>
<th><spring:message code='called_number'/></th>
<th><spring:message code='from_to_store_ip'/></th>
<th><spring:message code='from_to_store_url'/></th>
<th><spring:message code='to_from_store_ip'/></th>
<th><spring:message code='to_from_store_url'/></th>
<th><spring:message code='pid'/></th>
<th><spring:message code='log_uri'/></th>
<th><spring:message code='harm_level'/></th>
<th><spring:message code='fd_type'/></th>
<th><spring:message code='addr_type'/></th>
<th><spring:message code='serverip'/></th>
<th><spring:message code='clientip'/></th>
<th><spring:message code='serverport'/></th>
<th><spring:message code='clientport'/></th>
<th><spring:message code='deviceid'/></th>
<th><spring:message code='stream_type'/></th>
<th><spring:message code='clj_ip'/></th>
<th><spring:message code='nest_addr_list'/></th>
<th><spring:message code='user_region'/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dic">
<c:if test="${log.direction==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime}</td>
<td>${log.recvTime}</td>
<td>${log.transProto}</td>
<td>${log.duation}</td>
<td>${log.protocol}</td>
<td>${log.callingAccount}</td>
<td>${log.calledAccount}</td>
<td>${log.callingNumber}</td>
<td>${log.calledNumber}</td>
<td>${log.fromToStoreIp}</td>
<td>${log.fromToStoreUrl}</td>
<td>${log.toFromStoreIp}</td>
<td>${log.toFromStoreUrl}</td>
<td>${log.pid}</td>
<td>${log.logUri}</td>
<td>${log.level}</td>
<!--0动态黑名单FD1静态配置FD2首次分析命中 -->
<td>
<c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
<c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
<c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
<c:if test="${log.addrType==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.dIp}</td>
<td>${log.sIp}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dic">
<c:if test="${log.streamDir==dic.itemCode}"><spring:message code="${dic.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.capIp}</td>
<td>${log.addrList}</td>
<td>${log.userRegion}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -126,12 +126,6 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input id=entranceId name="entranceId" class="form-control" type="text" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="entrance"/></label> <label><spring:message code="entrance"/></label>
@@ -143,6 +137,12 @@ $(document).ready(function(){
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clientip"/></label> <label><spring:message code="clientip"/></label>

View File

@@ -122,16 +122,21 @@
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" 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="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/> <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">

View File

@@ -131,16 +131,21 @@
</form:select> </form:select>
</div> </div>
</div> </div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance"/></label>
<form:select path="entranceId" 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="${fns:getDictList('ENTRANCE')}" var="entrance" >
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label><spring:message code="clj_ip"/></label> <label><spring:message code="clj_ip"/></label>
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/> <input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div> </div>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">

View File

@@ -115,7 +115,7 @@
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-md-3 control-label"><spring:message code="group_id"/>:</label> <label class="col-md-3 control-label hidden"><spring:message code="group_id"/>:</label>
<div class="col-md-4"> <div class="col-md-4">
<form:input path="groupId" htmlEscape="false" maxlength="50" range="[0,2147483647]" class="form-control digits hidden" placeholder="0"/> <form:input path="groupId" htmlEscape="false" maxlength="50" range="[0,2147483647]" class="form-control digits hidden" placeholder="0"/>
</div> </div>
@@ -130,6 +130,14 @@
</form:select> </form:select>
</div> </div>
</div> --%> </div> --%>
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="cfg_type"/>:</label>
<div class="col-md-4">
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<label class="radio-inline"><form:radiobutton path="cfgType" class="required" value="${dict.itemCode}"/><spring:message code="${dict.itemValue}"/></label>
</c:forEach>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-md-3 control-label"><spring:message code="protocol_desc"/>:</label> <label class="col-md-3 control-label"><spring:message code="protocol_desc"/>:</label>
<div class="col-md-4"> <div class="col-md-4">

View File

@@ -255,6 +255,7 @@
<th><spring:message code="protocol_desc"/></th> <th><spring:message code="protocol_desc"/></th>
<th><spring:message code="group_id"/></th> <th><spring:message code="group_id"/></th>
<th><spring:message code="is_leaf"/></th> <th><spring:message code="is_leaf"/></th>
<th><spring:message code="cfg_type"/></th>
<th class="sort-column op_time"><spring:message code="operate_time"/></th> <th class="sort-column op_time"><spring:message code="operate_time"/></th>
</tr> </tr>
</thead> </thead>
@@ -268,6 +269,10 @@
<td title="${specificServiceCfg.specServiceDesc}">${fns:abbr(specificServiceCfg.specServiceDesc,15)}</td> <td title="${specificServiceCfg.specServiceDesc}">${fns:abbr(specificServiceCfg.specServiceDesc,15)}</td>
<td>${specificServiceCfg.groupId }</td> <td>${specificServiceCfg.groupId }</td>
<td><spring:message code="${fns:getDictLabel('INT_YES_NO',specificServiceCfg.isLeaf,'0')}"></spring:message></td> <td><spring:message code="${fns:getDictLabel('INT_YES_NO',specificServiceCfg.isLeaf,'0')}"></spring:message></td>
<td><c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
<c:if test="${dict.itemCode==specificServiceCfg.cfgType}"><spring:message code="${dict.itemValue}"/></c:if>
</c:forEach>
</td>
<td><fmt:formatDate value="${specificServiceCfg.opTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${specificServiceCfg.opTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<%-- <td> <%-- <td>
<div class="btn-group btn-xs"> <div class="btn-group btn-xs">

View File

@@ -85,8 +85,12 @@ a {
td a { td a {
color:#fff color:#fff
} }
/* td a:link { td a i {
color:#fff; color:#21a10e
}
/*
tr td a:link {
color:red;
text-decoration:none text-decoration:none
} }
td a:active { td a:active {

View File

@@ -1,8 +1,8 @@
.data_content{ .data_content{
/*overflow-x: hidden;*/ /*overflow-x: hidden;*/
/* min-width: 1366px; */ /* min-width: 1366px; */
background-color: #1c1c1c; background-color: #303030;
padding-top: 10px; padding-top: 40px;
padding-bottom: 10px; padding-bottom: 10px;
} }
.data_content .data_main{ .data_content .data_main{
@@ -17,12 +17,12 @@
width: 100%; width: 100%;
height: 400px; height: 400px;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
/*box-shadow: 0px 0px 10px #333333 inset;*/ /*box-shadow: 0px 0px 10px #3D3D3D inset;*/
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
} }
.data_content .data_main .main_left div.left_1{ .data_content .data_main .main_left div.left_1{
@@ -36,7 +36,7 @@
width: 230px; width: 230px;
height: 35px; height: 35px;
line-height: 33px; line-height: 33px;
background-color: #333333; background-color: #3D3D3D;
border-radius: 18px; border-radius: 18px;
position: absolute; position: absolute;
top: -17px; top: -17px;
@@ -46,8 +46,9 @@
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
box-sizing: border-box; box-sizing: border-box;
padding-left: 45px; text-align:center;
z-index: 1000; z-index: 1000;
border-radius:18px !important;
} }
.data_content .data_main .main_left div .main_title img{ .data_content .data_main .main_left div .main_title img{
position: absolute; position: absolute;
@@ -67,11 +68,11 @@
margin-left: 15px; margin-left: 15px;
margin-right: 15px; margin-right: 15px;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
/*background: url("../img/chart_map.png") no-repeat center ;*/ /*background: url("../img/chart_map.png") no-repeat center ;*/
} }
@@ -79,19 +80,18 @@
width: 250px; width: 250px;
height: 35px; height: 35px;
line-height: 33px; line-height: 33px;
background-color: #333333; background-color: #3D3D3D;
border-radius: 18px;
position: absolute; position: absolute;
top: -17px; top: -17px;
left:45%; left:50%;
margin-left: -90px; margin-left: -90px;
color:#fff; color:#fff;
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
box-sizing: border-box; box-sizing: border-box;
padding-left: 45px; text-align:center;
text-align:auto;
z-index: 1000; z-index: 1000;
border-radius:18px !important;
} }
.data_content .data_main .main_right{ .data_content .data_main .main_right{
@@ -101,11 +101,11 @@
width: 100%; width: 100%;
height: 400px; height: 400px;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
} }
.data_content .data_main .main_right div.right_1 .choice{ .data_content .data_main .main_right div.right_1 .choice{
@@ -154,7 +154,7 @@
width: 230px; width: 230px;
height: 35px; height: 35px;
line-height: 33px; line-height: 33px;
background-color: #333333; background-color: #3D3D3D;
border-radius: 18px; border-radius: 18px;
position: absolute; position: absolute;
top: -17px; top: -17px;
@@ -164,8 +164,9 @@
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
box-sizing: border-box; box-sizing: border-box;
padding-left: 45px; text-align:center;
z-index: 1000; z-index: 1000;
border-radius:18px !important;
} }
.data_content .data_main .main_right div .main_title img{ .data_content .data_main .main_right div .main_title img{
position: absolute; position: absolute;
@@ -186,13 +187,13 @@
.data_content .data_bottom .bottom_1{ .data_content .data_bottom .bottom_1{
width: 22%; width: 22%;
height: 430px; height: 430px;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
/*background: url("../img/chart_5.png") no-repeat;*/ /*background: url("../img/chart_5.png") no-repeat;*/
} }
.data_content .data_bottom .bottom_center{ .data_content .data_bottom .bottom_center{
@@ -202,46 +203,46 @@
.data_content .data_bottom .bottom_2{ .data_content .data_bottom .bottom_2{
width: calc(53% - 10px); width: calc(53% - 10px);
height: 430px; height: 430px;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
margin-left: 15px; margin-left: 15px;
/*background: url("../img/chart_6.png") no-repeat;*/ /*background: url("../img/chart_6.png") no-repeat;*/
} }
.data_content .data_bottom .bottom_3{ .data_content .data_bottom .bottom_3{
width: calc(47% - 35px); width: calc(47% - 35px);
height: 430px; height: 430px;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
/*background: url("../img/chart_7.png") no-repeat;*/ /*background: url("../img/chart_7.png") no-repeat;*/
margin-left:15px; margin-left:15px;
} }
.data_content .data_bottom .bottom_4{ .data_content .data_bottom .bottom_4{
width: 26%; width: 26%;
height: 430px; height: 430px;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
0px -10px 15px #333333 inset, /*上边阴影*/ 0px -10px 15px #3D3D3D inset, /*上边阴影*/
10px 0px 15px #333333 inset, /*右边阴影*/ 10px 0px 15px #3D3D3D inset, /*右边阴影*/
0px 10px 15px #333333 inset; 0px 10px 15px #3D3D3D inset;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid #333333; border: 1px solid #3D3D3D;
/*background: url("../img/chart_8.png") no-repeat;*/ /*background: url("../img/chart_8.png") no-repeat;*/
} }
.data_content .data_bottom div .main_title{ .data_content .data_bottom div .main_title{
width: 220px; width: 220px;
height: 35px; height: 35px;
line-height: 33px; line-height: 33px;
background-color: #333333; background-color: #3D3D3D;
border-radius: 18px; border-radius: 18px;
position: absolute; position: absolute;
top: -17px; top: -17px;
@@ -251,7 +252,8 @@
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
box-sizing: border-box; box-sizing: border-box;
padding-left: 30px; text-align:center;
border-radius:18px !important;
} }
.data_content .data_bottom div .main_title img{ .data_content .data_bottom div .main_title img{
position: absolute; position: absolute;
@@ -288,7 +290,7 @@
width: 35%; width: 35%;
} }
.data_content .data_bottom div .main_table td{ .data_content .data_bottom div .main_table td{
color:#fff; color:#3D3D3D;
font-size: 12.8px; font-size: 12.8px;
text-align: center; text-align: center;
} }
@@ -297,8 +299,8 @@
.data_content .data_bottom div .main_table tbody tr:nth-child(7), .data_content .data_bottom div .main_table tbody tr:nth-child(7),
.data_content .data_bottom div .main_table tbody tr:nth-child(9), .data_content .data_bottom div .main_table tbody tr:nth-child(9),
.data_content .data_bottom div .main_table tbody tr:nth-child(5){ .data_content .data_bottom div .main_table tbody tr:nth-child(5){
background-color: #1c1c1c; background-color: #303030;
box-shadow:-10px 0px 15px #333333 inset, /*左边阴影*/ box-shadow:-10px 0px 15px #3D3D3D inset, /*左边阴影*/
10px 0px 15px #333333 inset; /*右边阴影*/ 10px 0px 15px #3D3D3D inset; /*右边阴影*/
/*0px 10px 15px #333333 inset;*/ /*0px 10px 15px #3D3D3D inset;*/
} }

View File

@@ -40,7 +40,7 @@
// margin:10, // margin:10,
}, },
colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6' ,'#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6' ,'#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null text: null
}, },
@@ -174,7 +174,7 @@
marginTop:50, marginTop:50,
inverted: true, inverted: true,
}, },
colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null text: null
}, },
@@ -299,7 +299,7 @@
fontFamily:'Microsoft YaHei' fontFamily:'Microsoft YaHei'
}, },
}, },
colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null text: null
}, },
@@ -320,6 +320,7 @@
align:'high', align:'high',
style: {//设置字体颜色 style: {//设置字体颜色
color: '#fff', color: '#fff',
fontSize:'10px',
fontFamily:'Microsoft YaHei' fontFamily:'Microsoft YaHei'
}, },
}, },
@@ -431,7 +432,7 @@ function echart_2(rs){
fontFamily:'Microsoft YaHei', fontFamily:'Microsoft YaHei',
} }
}, },
colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null, text: null,
style: {//设置字体颜色 style: {//设置字体颜色
@@ -555,7 +556,7 @@ function echart_5(rs){
fontFamily:'Microsoft YaHei', fontFamily:'Microsoft YaHei',
} }
}, },
colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:['#f36f8a', '#44A9A8', '#ffff43','#25f3e6','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null, text: null,
style: {//设置字体颜色 style: {//设置字体颜色
@@ -664,7 +665,7 @@ function echart_4(rs){
type: 'pie' type: 'pie'
}, },
colors:[ '#44A9A8', '#f36f8a','#25f3e6','#ffff43','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:[ '#44A9A8', '#f36f8a','#25f3e6','#ffff43','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null, text: null,
}, },
@@ -774,7 +775,7 @@ function echart_6(rs){
type: 'pie' type: 'pie'
}, },
colors:[ '#44A9A8', '#f36f8a','#25f3e6','#ffff43','#964CEC','#32B0ED','#95CEFF','#7278DD','#2DA9D8','#C66FE6'], colors:[ '#44A9A8', '#f36f8a','#25f3e6','#ffff43','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6'],
title: { title: {
text: null, text: null,
}, },