解决filter打开之后,左右滚动条消失了

添加说话人识别、人脸识别、台标识别日志查询
This commit is contained in:
leijun
2018-09-17 16:24:32 +08:00
parent 9b101f0911
commit b1cc511185
8 changed files with 1146 additions and 0 deletions

View File

@@ -427,6 +427,9 @@ public final class Constants {
public static final String NTC_MMPORNAUDIOLEVEL_LOG = Configurations.getStringProperty("mmPornAudioLevelLog", "");
public static final String NTC_MMPORNVIDEOLEVEL_LOG = Configurations.getStringProperty("mmPornVideoLevelLog", "");
public static final String NTC_MMSAMPLEPIC_LOG = Configurations.getStringProperty("mmSamplePicLog", "");
public static final String NTC_MMSAMPLESPEAKER_LOG = Configurations.getStringProperty("mmSampleSpeakerLog", "");
public static final String NTC_MMSAMPLELOGO_LOG = Configurations.getStringProperty("mmSampleLogoLog", "");
public static final String NTC_MMSAMPLEFACE_LOG = Configurations.getStringProperty("mmSampleFaceLog", "");
public static final String NTC_MMSAMPLEVOIP_LOG = Configurations.getStringProperty("mmSampleVoipLog", "");
public static final String PXY_HTTP_LOG = Configurations.getStringProperty("pxyHttpLog", "");

View File

@@ -0,0 +1,70 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmSamplePicLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSampleFaceLogs")
public class MmSampleFaceController extends BaseController{
@RequestMapping(value = {"/list",""})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")MmSamplePicLog samplePicLog) {
PageLog<MmSamplePicLog> page = new PageLog<MmSamplePicLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(samplePicLog, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(samplePicLog.getFunctionId());
model.addAttribute("serviceList", serviceList);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_MMSAMPLEFACE_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<MmSamplePicLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<MmSamplePicLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<MmSamplePicLog> fromPage = fromJson.getData();
page.setList(fromPage.getList());
List<MmSamplePicLog> list = fromPage.getList();
for (MmSamplePicLog log : list) {
log.setFunctionId(samplePicLog.getFunctionId());
setLogAction(log,serviceList);
}
model.addAttribute("page", page);
logger.info("人脸识别日志查询成功!");
}
} catch (Exception e) {
logger.info("人脸识别日志查询失败!", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/mmSampleFaceList";
}
}

View File

@@ -0,0 +1,70 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmSamplePicLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSampleLogoLogs")
public class MmSampleLogoController extends BaseController{
@RequestMapping(value = {"/list",""})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")MmSamplePicLog samplePicLog) {
PageLog<MmSamplePicLog> page = new PageLog<MmSamplePicLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(samplePicLog, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(samplePicLog.getFunctionId());
model.addAttribute("serviceList", serviceList);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_MMSAMPLELOGO_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<MmSamplePicLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<MmSamplePicLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<MmSamplePicLog> fromPage = fromJson.getData();
page.setList(fromPage.getList());
List<MmSamplePicLog> list = fromPage.getList();
for (MmSamplePicLog log : list) {
log.setFunctionId(samplePicLog.getFunctionId());
setLogAction(log,serviceList);
}
model.addAttribute("page", page);
logger.info("台标识别日志查询成功!");
}
} catch (Exception e) {
logger.info("台标识别日志查询失败!", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/mmSampleLogoList";
}
}

View File

@@ -0,0 +1,70 @@
package com.nis.web.controller.log.ntc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.log.MmSamplePicLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/log/ntc/mmSampleSpeakerLogs")
public class MmSampleSpeakerController extends BaseController{
@RequestMapping(value = {"/list",""})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")MmSamplePicLog samplePicLog) {
PageLog<MmSamplePicLog> page = new PageLog<MmSamplePicLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(samplePicLog, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(samplePicLog.getFunctionId());
model.addAttribute("serviceList", serviceList);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_MMSAMPLESPEAKER_LOG;
String resJson = HttpClientUtil.getMsg(url, params, request);
Gson gson = new GsonBuilder().create();
LogRecvData<MmSamplePicLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<MmSamplePicLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<MmSamplePicLog> fromPage = fromJson.getData();
page.setList(fromPage.getList());
List<MmSamplePicLog> list = fromPage.getList();
for (MmSamplePicLog log : list) {
log.setFunctionId(samplePicLog.getFunctionId());
setLogAction(log,serviceList);
}
model.addAttribute("page", page);
logger.info("说话人识别日志查询成功!");
}
} catch (Exception e) {
logger.info("说话人识别日志查询失败!", e);
addMessageLog(model, e.getMessage());
}
return "/log/ntc/mmSampleSpeakerList";
}
}

View File

@@ -0,0 +1,308 @@
<%@ 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();
});
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
<spring:message code="MM_FACE_RECOGNIZATION"/>
</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/mmSampleFaceLogs" 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="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
<!-- 筛选按钮展开状态-->
<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>
<c:forEach items="${serviceList}" var="service"
varStatus="satus">
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:if>
</c:forEach>
</c:forEach>
</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="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></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 form-control" >
<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('IP_LOCATION')}" 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 class="col-md-2">
<label><spring:message code="cfg_id"></spring:message></label>
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
</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 logTb">
<thead>
<tr>
<th><spring:message code='cfg_id' /></th>
<th><spring:message code="action" /></th>
<th><spring:message code='found_time' /></th>
<th><spring:message code='entrance' /></th>
<th><spring:message code='pid' /></th>
<th><spring:message code='access_url' /></th>
<th><spring:message code='log_uri' /></th>
<th><spring:message code='referer' /></th>
<th><spring:message code='harm_level' /></th>
<th><spring:message code='fd_type' /></th>
<%-- <th><spring:message code='av_protocol' /></th> --%>
<th><spring:message code='clj_ip' /></th>
<th><spring:message code='protocol_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='server_port' /></th>
<th><spring:message code='client_port' /></th>
<%-- <th><spring:message code='deviceid' /></th>
<th><spring:message code='direct' /></th> --%>
<th><spring:message code='stream_type' /></th>
<%-- <th><spring:message code='nest_addr_list' /></th> --%>
<th><spring:message code='server_locate' /></th>
<th><spring:message code='client_locate' /></th>
<th><spring:message code='s_asn'/></th>
<th><spring:message code='d_asn'/></th>
<th><spring:message code='s_subscribe_id'/></th>
<th><spring:message code='d_subscribe_id'/></th>
<th><spring:message code='scene_file'/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}
<a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
</td>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
<c:if test="${dict.itemCode eq log.action}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.foundTime}</td>
<td>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dict">
<c:if test="${dict.itemCode eq log.entranceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.pid}</td>
<td>
<c:if test="${fn:startsWith(log.url, 'http://')}">
${fn:substring(log.url,7,-1)}
</c:if>
<c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
${log.url}
</c:if>
</td>
<td>
<c:if test="${fn:startsWith(log.logUri, 'http')}">
<a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.logUri,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
<a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.logUri,0,20) }
</a>
</c:if>
</td>
<td>${log.referer }</td>
<td>${log.level }</td>
<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>${log.protocol}</td> --%>
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
<td>${log.transProto}</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 title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<%-- <td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="dict">
<c:if test="${dict.itemCode eq log.deviceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_LOCATION')}" var="dic">
<c:if test="${log.direction==dic.itemCode}"><spring:message code="${dic.itemValue }" /></c:if>
</c:forEach>
</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.addrList }</td> --%>
<td>${log.serverLocate }</td>
<td>${log.clientLocate }</td>
<td>${log.sAsn}</td>
<td>${log.dAsn}</td>
<td>${log.sSubscribeId}</td>
<td>${log.dSubscribeId}</td>
<td>${log.sceneFile}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,308 @@
<%@ 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();
});
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
<spring:message code="MM_LOGO_DETECTION"/>
</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/mmSampleLogoLogs" 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="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
<!-- 筛选按钮展开状态-->
<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>
<c:forEach items="${serviceList}" var="service"
varStatus="satus">
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:if>
</c:forEach>
</c:forEach>
</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="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></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 form-control" >
<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('IP_LOCATION')}" 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 class="col-md-2">
<label><spring:message code="cfg_id"></spring:message></label>
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
</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 logTb">
<thead>
<tr>
<th><spring:message code='cfg_id' /></th>
<th><spring:message code="action" /></th>
<th><spring:message code='found_time' /></th>
<th><spring:message code='entrance' /></th>
<th><spring:message code='pid' /></th>
<th><spring:message code='access_url' /></th>
<th><spring:message code='log_uri' /></th>
<th><spring:message code='referer' /></th>
<th><spring:message code='harm_level' /></th>
<th><spring:message code='fd_type' /></th>
<%-- <th><spring:message code='av_protocol' /></th> --%>
<th><spring:message code='clj_ip' /></th>
<th><spring:message code='protocol_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='server_port' /></th>
<th><spring:message code='client_port' /></th>
<%-- <th><spring:message code='deviceid' /></th>
<th><spring:message code='direct' /></th> --%>
<th><spring:message code='stream_type' /></th>
<%-- <th><spring:message code='nest_addr_list' /></th> --%>
<th><spring:message code='server_locate' /></th>
<th><spring:message code='client_locate' /></th>
<th><spring:message code='s_asn'/></th>
<th><spring:message code='d_asn'/></th>
<th><spring:message code='s_subscribe_id'/></th>
<th><spring:message code='d_subscribe_id'/></th>
<th><spring:message code='scene_file'/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}
<a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
</td>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
<c:if test="${dict.itemCode eq log.action}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.foundTime}</td>
<td>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dict">
<c:if test="${dict.itemCode eq log.entranceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.pid}</td>
<td>
<c:if test="${fn:startsWith(log.url, 'http://')}">
${fn:substring(log.url,7,-1)}
</c:if>
<c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
${log.url}
</c:if>
</td>
<td>
<c:if test="${fn:startsWith(log.logUri, 'http')}">
<a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.logUri,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
<a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.logUri,0,20) }
</a>
</c:if>
</td>
<td>${log.referer }</td>
<td>${log.level }</td>
<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>${log.protocol}</td> --%>
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
<td>${log.transProto}</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 title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<%-- <td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="dict">
<c:if test="${dict.itemCode eq log.deviceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_LOCATION')}" var="dic">
<c:if test="${log.direction==dic.itemCode}"><spring:message code="${dic.itemValue }" /></c:if>
</c:forEach>
</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.addrList }</td> --%>
<td>${log.serverLocate }</td>
<td>${log.clientLocate }</td>
<td>${log.sAsn}</td>
<td>${log.dAsn}</td>
<td>${log.sSubscribeId}</td>
<td>${log.dSubscribeId}</td>
<td>${log.sceneFile}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,308 @@
<%@ 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();
});
});
</script>
</head>
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
</div>
<h3 class="page-title">
<spring:message code="MM_SPEAKER_RECOGNIZATION"/>
</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/mmSampleSpeakerLogs" 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="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
<!-- 筛选按钮展开状态-->
<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>
<c:forEach items="${serviceList}" var="service"
varStatus="satus">
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:if>
</c:forEach>
</c:forEach>
</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="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></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 form-control" >
<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('IP_LOCATION')}" 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 class="col-md-2">
<label><spring:message code="cfg_id"></spring:message></label>
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
</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 logTb">
<thead>
<tr>
<th><spring:message code='cfg_id' /></th>
<th><spring:message code="action" /></th>
<th><spring:message code='found_time' /></th>
<th><spring:message code='entrance' /></th>
<th><spring:message code='pid' /></th>
<th><spring:message code='access_url' /></th>
<th><spring:message code='log_uri' /></th>
<th><spring:message code='referer' /></th>
<th><spring:message code='harm_level' /></th>
<th><spring:message code='fd_type' /></th>
<%-- <th><spring:message code='av_protocol' /></th> --%>
<th><spring:message code='clj_ip' /></th>
<th><spring:message code='protocol_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='server_port' /></th>
<th><spring:message code='client_port' /></th>
<%-- <th><spring:message code='deviceid' /></th>
<th><spring:message code='direct' /></th> --%>
<th><spring:message code='stream_type' /></th>
<%-- <th><spring:message code='nest_addr_list' /></th> --%>
<th><spring:message code='server_locate' /></th>
<th><spring:message code='client_locate' /></th>
<th><spring:message code='s_asn'/></th>
<th><spring:message code='d_asn'/></th>
<th><spring:message code='s_subscribe_id'/></th>
<th><spring:message code='d_subscribe_id'/></th>
<th><spring:message code='scene_file'/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}
<a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
</td>
<td>
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
<c:if test="${dict.itemCode eq log.action}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.foundTime}</td>
<td>
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dict">
<c:if test="${dict.itemCode eq log.entranceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>${log.pid}</td>
<td>
<c:if test="${fn:startsWith(log.url, 'http://')}">
${fn:substring(log.url,7,-1)}
</c:if>
<c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
${log.url}
</c:if>
</td>
<td>
<c:if test="${fn:startsWith(log.logUri, 'http')}">
<a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
${fn:substring(log.logUri,0,20) }
</a>
</c:if>
<c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
<a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
class="tooltips" data-flag="false" data-html="true" data-placement="top">
http://${fn:substring(log.logUri,0,20) }
</a>
</c:if>
</td>
<td>${log.referer }</td>
<td>${log.level }</td>
<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>${log.protocol}</td> --%>
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
<td>${log.transProto}</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 title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
<td>${log.dPort}</td>
<td>${log.sPort}</td>
<%-- <td>
<c:forEach items="${fns:getDictList('DEVICE')}" var="dict">
<c:if test="${dict.itemCode eq log.deviceId}">
<spring:message code="${dict.itemValue}"/>
</c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_LOCATION')}" var="dic">
<c:if test="${log.direction==dic.itemCode}"><spring:message code="${dic.itemValue }" /></c:if>
</c:forEach>
</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.addrList }</td> --%>
<td>${log.serverLocate }</td>
<td>${log.clientLocate }</td>
<td>${log.sAsn}</td>
<td>${log.dAsn}</td>
<td>${log.sSubscribeId}</td>
<td>${log.dSubscribeId}</td>
<td>${log.sceneFile}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -320,6 +320,15 @@ function filterActionInit() {
$("#isFilterAction").val("true");
fiterPanleShow();
}
//调整滚动条div的高度
var he=document.getElementsByClassName("filter-action-select-panle")[0].offsetHeight;
var height=document.documentElement.clientHeight;
if(he>0){
he+=5;
}
if($('.table-responsive')){
$('.table-responsive').css({'height':height-105-he+'px'});
}
});
}