实时报表模块添加打印功能(暂时隐藏)12-28
This commit is contained in:
@@ -10,6 +10,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -133,4 +134,61 @@ public class ConfigureStatisticsController extends BaseController{
|
|||||||
map.put("ruleLimit", ruleLimit);
|
map.put("ruleLimit", ruleLimit);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//configureStateStatisticsPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = {"/configureStateStatisticsPrint"})
|
||||||
|
public Map configureStateStatisticsPrint(Model model,HttpServletRequest request
|
||||||
|
,HttpServletResponse response
|
||||||
|
,RedirectAttributes redirectAttributes){
|
||||||
|
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
/****************************Request Info Statistics*****************************/
|
||||||
|
//1、查询所有有效的service
|
||||||
|
List<FunctionServiceDict> serviceDictList = DictUtils.getFunctionServiceDictList();
|
||||||
|
//2、查询所有菜单
|
||||||
|
List<SysMenu> menuList = UserUtils.getMenuCfgList();
|
||||||
|
//3、根据来函分页
|
||||||
|
RequestInfo requestInfo=new RequestInfo();
|
||||||
|
requestInfo.setIsAudit(1);
|
||||||
|
requestInfo.setIsValid(1);
|
||||||
|
Page page = new Page(request, response,"r");
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
Page requestPage = requestInfoService.findRequestInfo(page,requestInfo);
|
||||||
|
List<RequestInfo> requestInfos=requestPage.getList();
|
||||||
|
//4、根据当前页的requestInfo信息查询request统计信息
|
||||||
|
List<Object[]> requestStatisticList=new ArrayList<Object[]>();
|
||||||
|
if(!StringUtil.isEmpty(requestInfos)){
|
||||||
|
Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime();
|
||||||
|
String requestStatisticTimeStr="";
|
||||||
|
if(!StringUtil.isEmpty(requestStatisticTime)){
|
||||||
|
requestStatisticTimeStr=sdf.format(requestStatisticTime);
|
||||||
|
}
|
||||||
|
requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr);
|
||||||
|
if(!StringUtil.isEmpty(requestStatisticList)){
|
||||||
|
for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) {
|
||||||
|
Map map = (Map) iterator.next();
|
||||||
|
for (RequestInfo requestInfoO : requestInfos) {
|
||||||
|
if(requestInfoO.getId().toString().equals(map.get("request").toString())){
|
||||||
|
map.put("request", requestInfoO.getRequestTitle());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model.addAttribute("requestStatisticTime", requestStatisticTimeStr);
|
||||||
|
}
|
||||||
|
Properties msgProp = getMsgProp();
|
||||||
|
for (int i = 0; i < menuList.size(); i++) {
|
||||||
|
String property = msgProp.getProperty(menuList.get(i).getCode(), menuList.get(i).getCode());
|
||||||
|
menuList.get(i).setCode(property);
|
||||||
|
}
|
||||||
|
requestPage.setList(requestStatisticList);
|
||||||
|
model.addAttribute("requestInfos", requestInfos);
|
||||||
|
model.addAttribute("serviceList", serviceDictList);
|
||||||
|
model.addAttribute("page", requestPage);
|
||||||
|
Map<String,Object> maps=new HashMap<String,Object>();
|
||||||
|
maps.put("menuList", menuList);
|
||||||
|
maps.put("requestStatisticList", requestStatisticList);
|
||||||
|
return maps;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
@@ -331,4 +332,74 @@ public class NtcEventBlockController extends BaseController {
|
|||||||
|
|
||||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eventBlockPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "eventBlockPrint")
|
||||||
|
public List<NtcEventMonitorOrBlockReport> eventBlockPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
// 判断请求参数
|
||||||
|
String searchReportStartTime = null;
|
||||||
|
String searchReportEndTime = null;
|
||||||
|
String searchTaskStartTime = null;
|
||||||
|
String searchTaskEndTime = null;
|
||||||
|
/**
|
||||||
|
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||||
|
searchReportStartTime = serachReportTimes[0];
|
||||||
|
searchReportEndTime = serachReportTimes[1];
|
||||||
|
/**
|
||||||
|
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||||
|
searchTaskStartTime = serachTaskTimes[0];
|
||||||
|
searchTaskEndTime = serachTaskTimes[1];
|
||||||
|
|
||||||
|
params.put("searchReportStartTime", searchReportStartTime);
|
||||||
|
params.put("searchReportEndTime", searchReportEndTime);
|
||||||
|
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||||
|
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||||
|
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||||
|
params.put("taskIds", log.getTaskIds());
|
||||||
|
}
|
||||||
|
|
||||||
|
log.setSearchReportStartTime(searchReportStartTime);
|
||||||
|
log.setSearchReportEndTime(searchReportEndTime);
|
||||||
|
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||||
|
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||||
|
|
||||||
|
params.put("reportType", 1);
|
||||||
|
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
|
||||||
|
// String url = "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock";
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
|
||||||
|
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("ntc_event_block_report print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
@@ -324,4 +325,72 @@ public class NtcEventKeyProtectionController extends BaseController {
|
|||||||
|
|
||||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//eventKeyProtectionPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "eventKeyProtectionPrint")
|
||||||
|
public List<NtcEventKeyProtectionReport> eventKeyProtectionPrint(@ModelAttribute("log") NtcEventKeyProtectionReport log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcEventKeyProtectionReport> page = new PageLog<NtcEventKeyProtectionReport>(request, response);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
|
||||||
|
// 判断请求参数
|
||||||
|
String searchReportStartTime = null;
|
||||||
|
String searchReportEndTime = null;
|
||||||
|
String searchTaskStartTime = null;
|
||||||
|
String searchTaskEndTime = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||||
|
searchReportStartTime = serachReportTimes[0];
|
||||||
|
searchReportEndTime = serachReportTimes[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||||
|
searchTaskStartTime = serachTaskTimes[0];
|
||||||
|
searchTaskEndTime = serachTaskTimes[1];
|
||||||
|
|
||||||
|
params.put("searchReportStartTime", searchReportStartTime);
|
||||||
|
params.put("searchReportEndTime", searchReportEndTime);
|
||||||
|
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||||
|
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||||
|
params.put("taskIds", log.getTaskIds());
|
||||||
|
}
|
||||||
|
|
||||||
|
log.setSearchReportStartTime(searchReportStartTime);
|
||||||
|
log.setSearchReportEndTime(searchReportEndTime);
|
||||||
|
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||||
|
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||||
|
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_KEYPROTECTION_Report;
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcEventKeyProtectionReport> list = new ArrayList<>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcEventKeyProtectionReport> fromJson = gson.fromJson(recv,
|
||||||
|
new TypeToken<LogRecvData<NtcEventKeyProtectionReport>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcEventKeyProtectionReport> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("ntc_event_key_protection_report print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
@@ -329,4 +330,74 @@ public class NtcEventMonitorController extends BaseController {
|
|||||||
|
|
||||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eventMonitorPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "eventMonitorPrint")
|
||||||
|
public List<NtcEventMonitorOrBlockReport> eventMonitorPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
|
||||||
|
// 判断请求参数
|
||||||
|
String searchReportStartTime = null;
|
||||||
|
String searchReportEndTime = null;
|
||||||
|
String searchTaskStartTime = null;
|
||||||
|
String searchTaskEndTime = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||||
|
searchReportStartTime = serachReportTimes[0];
|
||||||
|
searchReportEndTime = serachReportTimes[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||||
|
*/
|
||||||
|
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||||
|
searchTaskStartTime = serachTaskTimes[0];
|
||||||
|
searchTaskEndTime = serachTaskTimes[1];
|
||||||
|
|
||||||
|
params.put("searchReportStartTime", searchReportStartTime);
|
||||||
|
params.put("searchReportEndTime", searchReportEndTime);
|
||||||
|
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||||
|
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||||
|
params.put("taskIds", log.getTaskIds());
|
||||||
|
}
|
||||||
|
|
||||||
|
log.setSearchReportStartTime(searchReportStartTime);
|
||||||
|
log.setSearchReportEndTime(searchReportEndTime);
|
||||||
|
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||||
|
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||||
|
|
||||||
|
params.put("reportType", 2);
|
||||||
|
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
|
||||||
|
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("ntc_event_monitor_report print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
@@ -567,4 +568,158 @@ public class ReportController extends BaseController {
|
|||||||
addMessage(redirectAttributes, "error", "export_failed");
|
addMessage(redirectAttributes, "error", "export_failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// asnPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "asnPrint")
|
||||||
|
public List<NtcAsnRecord> asnPrint(@ModelAttribute("log") NtcAsnRecord log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcAsnRecord> page = new PageLog<NtcAsnRecord>(request, response);
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
// 判断请求参数
|
||||||
|
if (StringUtils.isNotEmpty(log.getSearchAsnType())) {
|
||||||
|
params.put("searchAsnType", log.getSearchAsnType());
|
||||||
|
} else {
|
||||||
|
params.put("searchAsnType", 1);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchFoundStartTime())
|
||||||
|
&& StringUtils.isNotBlank(log.getSearchFoundEndTime())) {
|
||||||
|
params.put("searchFoundStartTime", log.getSearchFoundStartTime());
|
||||||
|
params.put("searchFoundEndTime", log.getSearchFoundEndTime());
|
||||||
|
} else {
|
||||||
|
Calendar time = Calendar.getInstance();
|
||||||
|
String searchEndTime = DateUtils.formatDateTime(time.getTime());
|
||||||
|
time.add(Calendar.HOUR_OF_DAY, -1);
|
||||||
|
String searchStartTime = DateUtils.formatDateTime(time.getTime());
|
||||||
|
|
||||||
|
params.put("searchFoundStartTime", searchStartTime);
|
||||||
|
params.put("searchFoundEndTime", searchEndTime);
|
||||||
|
log.setSearchFoundStartTime(searchStartTime);
|
||||||
|
log.setSearchFoundEndTime(searchEndTime);
|
||||||
|
}
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD;
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcAsnRecord> list = new ArrayList<NtcAsnRecord>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcAsnRecord> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcAsnRecord>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcAsnRecord> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("Ntc_Asn_Record print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// httpsPrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "httpsPrint")
|
||||||
|
public List<NtcURLReport> httpsPrint(@ModelAttribute("log") NtcURLReport log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcURLReport> page = new PageLog<NtcURLReport>(request, response);
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
// 判断请求参数
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
|
||||||
|
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
|
||||||
|
params.put("searchReportStartTime", log.getSearchReportStartTime());
|
||||||
|
params.put("searchReportEndTime", log.getSearchReportEndTime());
|
||||||
|
} else {
|
||||||
|
Calendar time = Calendar.getInstance();
|
||||||
|
String searchEndTime = DateUtils.formatDateTime(time.getTime());
|
||||||
|
time.add(Calendar.HOUR_OF_DAY, -1);
|
||||||
|
String searchStartTime = DateUtils.formatDateTime(time.getTime());
|
||||||
|
|
||||||
|
params.put("searchReportStartTime", searchStartTime);
|
||||||
|
params.put("searchReportEndTime", searchEndTime);
|
||||||
|
log.setSearchReportStartTime(searchStartTime);
|
||||||
|
log.setSearchReportEndTime(searchEndTime);
|
||||||
|
}
|
||||||
|
// url参数
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchUrl())) {
|
||||||
|
params.put("searchUrl", log.getSearchUrl());
|
||||||
|
}
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcURLReport> list = new ArrayList<NtcURLReport>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcURLReport> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("Ntc_HTTPS_Report print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ipRangePrint
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value = "ipRangePrint")
|
||||||
|
public List<NtcIpRangeReport> ipRangePrint(@ModelAttribute("log") NtcIpRangeReport log, Model model,
|
||||||
|
HttpServletRequest request, HttpServletResponse response, String seType,RedirectAttributes redirectAttributes) {
|
||||||
|
try {
|
||||||
|
PageLog<NtcIpRangeReport> page = new PageLog<NtcIpRangeReport>(request, response);
|
||||||
|
page.setPageNo(1);
|
||||||
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||||
|
Map<String, Object> params = new HashMap<String, Object>();
|
||||||
|
params.put("pageSize", page.getPageSize());
|
||||||
|
params.put("pageNo", page.getPageNo());
|
||||||
|
log.setSearchAreaType(seType);
|
||||||
|
// 判断请求参数
|
||||||
|
// 查询国家
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchCountry())) {
|
||||||
|
params.put("searchCountry", log.getSearchCountry());
|
||||||
|
}
|
||||||
|
// 查询开始IP
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchStartIp())) {
|
||||||
|
params.put("searchIp", log.getSearchIp());
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
|
||||||
|
params.put("searchType", log.getSearchAreaType());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
|
||||||
|
params.put("searchDesc", log.getSearchDesc());
|
||||||
|
}
|
||||||
|
|
||||||
|
String url = Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT;
|
||||||
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||||
|
List<NtcIpRangeReport> list = new ArrayList<NtcIpRangeReport>();
|
||||||
|
if (StringUtils.isNotBlank(recv)) {
|
||||||
|
Gson gson = new GsonBuilder().create();
|
||||||
|
LogRecvData<NtcIpRangeReport> fromJson = gson.fromJson(recv,
|
||||||
|
new TypeToken<LogRecvData<NtcIpRangeReport>>() {
|
||||||
|
}.getType());
|
||||||
|
if (fromJson.getStatus().intValue() == 200) {
|
||||||
|
Page<NtcIpRangeReport> data = fromJson.getData();
|
||||||
|
list = data.getList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("Ntc_Ip_Range_Report print failed", e);
|
||||||
|
addMessage(redirectAttributes, "error", "print_failed");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1433,4 +1433,5 @@ contains_non_hex_char=Contains non-hexadecimal characters
|
|||||||
max_length=Maximum Length
|
max_length=Maximum Length
|
||||||
min_length=Minimum Length
|
min_length=Minimum Length
|
||||||
length_error=Length Error
|
length_error=Length Error
|
||||||
duplicate=Duplicate
|
duplicate=Duplicate
|
||||||
|
print=Print
|
||||||
@@ -1359,56 +1359,56 @@ translated_dest_ip=\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\
|
|||||||
translated_dest_port=\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u041f\u043e\u0440\u0442 \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
|
translated_dest_port=\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u041f\u043e\u0440\u0442 \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
|
||||||
show_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0412\u0441\u0435 IP
|
show_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0412\u0441\u0435 IP
|
||||||
show_available_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 IP
|
show_available_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 IP
|
||||||
radius_log=Radius \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C
|
radius_log=Radius \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c
|
||||||
message_type=\u041A\u043E\u0434
|
message_type=\u041a\u043e\u0434
|
||||||
nas_ip=NAS IP-\u0430\u0434\u0440\u0435\u0441
|
nas_ip=NAS IP-\u0430\u0434\u0440\u0435\u0441
|
||||||
framed_ip=Framed IP-\u0430\u0434\u0440\u0435\u0441
|
framed_ip=Framed IP-\u0430\u0434\u0440\u0435\u0441
|
||||||
log_user_name=\u0418\u043C\u044F \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F
|
log_user_name=\u0418\u043c\u044f \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||||
av_tips=\u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u043D\u0434\u0435\u043A\u0441\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0445\u0432\u043E\u0441\u0442\u0435 \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u0444\u0430\u0439\u043B\u043E\u0432. \u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0438\u0434\u0435\u043E \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 1080P.
|
av_tips=\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0430\u0443\u0434\u0438\u043e \u0438 \u0432\u0438\u0434\u0435\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0445\u0432\u043e\u0441\u0442\u0435 \u0430\u0443\u0434\u0438\u043e \u0438 \u0432\u0438\u0434\u0435\u043e \u0444\u0430\u0439\u043b\u043e\u0432. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0438\u0434\u0435\u043e \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0448\u0435 1080P.
|
||||||
asn_ip_group_delete=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F IP \u0432 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435 ASN \u0442\u0430\u043A\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u0430.
|
asn_ip_group_delete=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f IP \u0432 \u044d\u0442\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 ASN \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430.
|
||||||
keyword_log_tips=\u041A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043B\u043E\u0445\u0438\u043C, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0434\u0443\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0434\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E <20>\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL<EFBFBD> \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
|
keyword_log_tips=\u041a\u043e\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043b\u043e\u0445\u0438\u043c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u7395u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 URL\ufffd \u0434\u043b\u044f \u043f\u043e\u0434\u0430\u0432\u0448\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
|
||||||
conn_record=\u0417\u0430\u043F\u0438\u0441\u0438 \u041F\u043E\u0434\u043A\u044E\u0447\u0435\u043D\u0438\u0439
|
conn_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0434\u043a\u044e\u0447\u0435\u043d\u0438\u0439
|
||||||
bps=Gbps
|
bps=Gbps
|
||||||
bps_percent=Bps Percent
|
bps_percent=Bps Percent
|
||||||
pps=PPS
|
pps=PPS
|
||||||
pps_percent=pps Percent
|
pps_percent=pps Percent
|
||||||
spoofing_ip_object=\u041F\u0443\u043B IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
spoofing_ip_object=\u041f\u0443\u043b IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||||
spoofing_ip_policy=IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
spoofing_ip_policy=IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||||
action_spoofing=\u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
action_spoofing=\u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||||
spoofing=\u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
spoofing=\u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||||
service=\u0421\u0435\u0440\u0432\u0438\u0441
|
service=\u0421\u0435\u0440\u0432\u0438\u0441
|
||||||
s_asn=SASN
|
s_asn=SASN
|
||||||
d_asn=DASN
|
d_asn=DASN
|
||||||
asn_conn_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 ASN
|
asn_conn_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 ASN
|
||||||
https_url_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 Http(s) URL
|
https_url_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 Http(s) URL
|
||||||
url=URL
|
url=URL
|
||||||
sum=SUM
|
sum=SUM
|
||||||
url_count=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E URL
|
url_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e URL
|
||||||
ip_range_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u0425\u043E\u0441\u0442\u043E\u0432 \u0432 \u0433\u0440\u0430\u043D\u0438\u0446\u0430\u0445 \u0438 \u0437\u0430 \u0433\u0440\u0430\u043D\u0438\u0446\u0435\u0439
|
ip_range_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0425\u043e\u0441\u0442\u043e\u0432 \u0432 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0438 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435\u0439
|
||||||
ip_start=\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 IP
|
ip_start=\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 IP
|
||||||
ip_end=\u041A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 IP
|
ip_end=\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 IP
|
||||||
ip_start_num=IP Start Num
|
ip_start_num=IP Start Num
|
||||||
ip_end_num=IP End Num
|
ip_end_num=IP End Num
|
||||||
ip_sub=IP-\u043F\u043E\u0434\u0441\u0435\u0442\u044C
|
ip_sub=IP-\u043f\u043e\u0434\u0441\u0435\u0442\u044c
|
||||||
start_ip=\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 IP
|
start_ip=\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 IP
|
||||||
end_ip=\u041A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 IP
|
end_ip=\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 IP
|
||||||
action_detail=\u0414\u0435\u0442\u0430\u043B\u044C \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F
|
action_detail=\u0414\u0435\u0442\u0430\u043b\u044c \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
|
||||||
pass=\u041F\u0430\u0441
|
pass=\u041f\u0430\u0441
|
||||||
live_link=\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0421\u0441\u044b\u043b\u043a\u0430
|
live_link=\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0421\u0441\u044b\u043b\u043a\u0430
|
||||||
area_type=\u0422\u0438\u043F \u0417\u043E\u043D\u044B
|
area_type=\u0422\u0438\u043f \u0417\u043e\u043d\u044b
|
||||||
dns_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 DNS \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
dns_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 DNS \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||||
asn_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 ASN \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
asn_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 ASN \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||||
ip_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 IP \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
ip_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 IP \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||||
ip_spoofing_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u041F\u0443\u043B\u043E\u043C IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
ip_spoofing_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u041f\u0443\u043b\u043e\u043c IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||||
min_tcp=\u041C\u0438\u043D.
|
min_tcp=\u041c\u0438\u043d.
|
||||||
max_tcp=\u041C\u0430\u043A\u0441.
|
max_tcp=\u041c\u0430\u043a\u0441.
|
||||||
APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043D\u0441
|
APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043d\u0441
|
||||||
ip_count=Uniq-IP
|
ip_count=Uniq-IP
|
||||||
counnection_count=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0439
|
counnection_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439
|
||||||
asn=ASN
|
asn=ASN
|
||||||
Unique_num=Unique
|
Unique_num=Unique
|
||||||
ip=IP
|
ip=IP
|
||||||
country=\u0421\u0442\u0440\u0430\u043D\u0430
|
country=\u0421\u0442\u0440\u0430\u043d\u0430
|
||||||
desc=Desc
|
desc=Desc
|
||||||
unique_num=Unique
|
unique_num=Unique
|
||||||
import_limit_is=The maximum import size is
|
import_limit_is=The maximum import size is
|
||||||
@@ -1437,4 +1437,5 @@ contains_non_hex_char=Contains non-hexadecimal characters
|
|||||||
max_length=Maximum Length
|
max_length=Maximum Length
|
||||||
min_length=Minimum Length
|
min_length=Minimum Length
|
||||||
length_error=Length Error
|
length_error=Length Error
|
||||||
duplicate=Duplicate
|
duplicate=Duplicate
|
||||||
|
print=Print
|
||||||
@@ -1430,7 +1430,8 @@ config_num=\u914d\u7f6e\u603b\u6570
|
|||||||
monitor_num=\u76d1\u6d4b\u6570\u91cf
|
monitor_num=\u76d1\u6d4b\u6570\u91cf
|
||||||
control_num=\u7ba1\u63a7\u6570\u91cf
|
control_num=\u7ba1\u63a7\u6570\u91cf
|
||||||
contains_non_hex_char=\u5305\u542b\u975e\u5341\u516d\u8fdb\u5236\u5b57\u7b26
|
contains_non_hex_char=\u5305\u542b\u975e\u5341\u516d\u8fdb\u5236\u5b57\u7b26
|
||||||
max_length=\u6700\u5927\u957F\u5EA6
|
max_length=\u6700\u5927\u957f\u5ea6
|
||||||
min_length=\u6700\u5C0F\u957F\u5EA6
|
min_length=\u6700\u5c0f\u957f\u5ea6
|
||||||
length_error=\u957F\u5EA6\u9519\u8BEF
|
length_error=\u957f\u5ea6\u9519\u8bef
|
||||||
duplicate=\u91CD\u590D\u7684
|
duplicate=\u91cd\u590d\u7684
|
||||||
|
print=\u6253\u5370
|
||||||
@@ -88,6 +88,9 @@
|
|||||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
@@ -115,6 +118,7 @@
|
|||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
@@ -185,6 +189,17 @@ function ajaxAppList(start,end){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
getPageData(1,999999);// 设置打印条数
|
||||||
|
$("#contentTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
getPageData(1,10);
|
||||||
|
pageJuan(10);//初始化分页
|
||||||
|
}
|
||||||
// 导出列表
|
// 导出列表
|
||||||
$(".export-btn").click(function(){
|
$(".export-btn").click(function(){
|
||||||
var nowDate=new Date();
|
var nowDate=new Date();
|
||||||
|
|||||||
@@ -65,6 +65,9 @@
|
|||||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
@@ -91,6 +94,7 @@
|
|||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
loading();
|
loading();
|
||||||
@@ -163,6 +167,17 @@ function ajaxProtocolList(start,end){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
getPageData(1,999999);// 设置打印条数
|
||||||
|
$("#contentTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
getPageData(1,10);
|
||||||
|
pageJuan(10);//初始化分页
|
||||||
|
}
|
||||||
// 导出列表
|
// 导出列表
|
||||||
$(".export-btn").click(function(){
|
$(".export-btn").click(function(){
|
||||||
var dataType = $(this).attr("data-type");
|
var dataType = $(this).attr("data-type");
|
||||||
|
|||||||
@@ -70,6 +70,9 @@
|
|||||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
@@ -110,6 +113,7 @@
|
|||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/standalone.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/standalone.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
@@ -131,7 +135,14 @@ $(document).ready(function(){
|
|||||||
$("#searchForm")[0].reset();
|
$("#searchForm")[0].reset();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$("#contentTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
}
|
||||||
//导出列表
|
//导出列表
|
||||||
$(".export-btn").click(function(){
|
$(".export-btn").click(function(){
|
||||||
var dataType = $(this).attr("data-type");
|
var dataType = $(this).attr("data-type");
|
||||||
|
|||||||
@@ -78,6 +78,9 @@
|
|||||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
@@ -105,6 +108,7 @@
|
|||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
@@ -179,6 +183,17 @@ function ajaxProtocolList(start,end){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
getPageData(1,999999);// 设置打印条数
|
||||||
|
$("#contentTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
getPageData(1,10);
|
||||||
|
pageJuan(10);//初始化分页
|
||||||
|
}
|
||||||
// 导出列表
|
// 导出列表
|
||||||
$(".export-btn").click(function(){
|
$(".export-btn").click(function(){
|
||||||
var nowDate=new Date();
|
var nowDate=new Date();
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/global/css/layout.css" type="text/css" media="screen">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/global/css/layout.css" type="text/css" media="screen">
|
||||||
<script type="text/javascript" src="${pageContext.request.contextPath}/static/global/plugins/jquery-ui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="${pageContext.request.contextPath}/static/global/plugins/jquery-ui/jquery-ui.min.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title><spring:message code="traffic_user_behavior"></spring:message></title>
|
<title><spring:message code="traffic_user_behavior"></spring:message></title>
|
||||||
<style>
|
<style>
|
||||||
td:hover{
|
td:hover{
|
||||||
@@ -164,7 +164,22 @@
|
|||||||
var modifyTime=new Date(chooseDate);
|
var modifyTime=new Date(chooseDate);
|
||||||
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
if($('.httpResCfg').is(':hidden')){
|
||||||
|
$(".httpReqCfg").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
$(".httpResCfg").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -268,7 +283,9 @@
|
|||||||
maxRow="10000" label="csv"></sys:delRow></li>
|
maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||||
data-container="body" data-placement="top"
|
data-container="body" data-placement="top"
|
||||||
data-original-title=<spring:message code="custom_columns"/>
|
data-original-title=<spring:message code="custom_columns"/>
|
||||||
|
|||||||
@@ -128,6 +128,9 @@
|
|||||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -167,6 +170,7 @@
|
|||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
@@ -247,6 +251,17 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
getPageData(1,999999);// 设置打印条数
|
||||||
|
$("#contentTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
getPageData(1,10);
|
||||||
|
pageJuan(10);//初始化分页
|
||||||
|
}
|
||||||
// 导出列表
|
// 导出列表
|
||||||
$(".export-btn").click(function(){
|
$(".export-btn").click(function(){
|
||||||
var nowDate=new Date();
|
var nowDate=new Date();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<meta name="format-detection" content="telephone=no,email=no,address=no">
|
<meta name="format-detection" content="telephone=no,email=no,address=no">
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.statisticsRequest{
|
.statisticsRequest{
|
||||||
@@ -178,7 +179,76 @@
|
|||||||
var currentdate = year+""+ month+""+strDate+""+ hours+""+ minutes+""+seconds;
|
var currentdate = year+""+ month+""+strDate+""+ hours+""+ minutes+""+seconds;
|
||||||
return currentdate;
|
return currentdate;
|
||||||
}
|
}
|
||||||
|
//来函和业务配置统计打印
|
||||||
|
function cfgMenuPrint(){
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/configure/statistics/configureStateStatisticsPrint',//
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var menu=data.menuList;
|
||||||
|
var dataList=data.requestStatisticList;
|
||||||
|
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="letter"/></th>';
|
||||||
|
for (var i = 0; i < menu.length; i++) {
|
||||||
|
if (menu[i].functionId == 8) {
|
||||||
|
userTableStr += '<th class="sort-column">HTTP '+menu[i].code+'</th>';
|
||||||
|
} else if(menu[i].functionId == 35){
|
||||||
|
userTableStr += '<th class="sort-column">MAIL '+menu[i].code+'</th>';
|
||||||
|
}else {
|
||||||
|
userTableStr += '<th class="sort-column">'+menu[i].code+'</th>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<dataList.length;j++){
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += dataList[j].request;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
for (var k = 0; k < menu.length; k++) {
|
||||||
|
userTableStr += '<td>';
|
||||||
|
var sss=menu[k].functionId+'_'+menu[k].functionId;
|
||||||
|
userTableStr += dataList[j][sss];
|
||||||
|
userTableStr += '</td>';
|
||||||
|
}
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
/* $(".cfgMenuTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
}); */
|
||||||
|
}
|
||||||
|
//配置业务和状态统计打印
|
||||||
|
function statisticsPrint() {
|
||||||
|
$(".statisticsStatusTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<title>index</title>
|
<title>index</title>
|
||||||
@@ -206,6 +276,10 @@
|
|||||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="cfgMenuTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="cfgMenuTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="cfgMenuPrint()" style="margin-top: -5px;">
|
||||||
|
<i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<h5 class="page-header"></h5>
|
<h5 class="page-header"></h5>
|
||||||
<div class="tableDiv">
|
<div class="tableDiv">
|
||||||
@@ -251,6 +325,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="statisticsStatus" class="statisticsStatus">
|
<div id="statisticsStatus" class="statisticsStatus">
|
||||||
<font size="4">
|
<font size="4">
|
||||||
@@ -269,6 +344,10 @@
|
|||||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="statisticsStatusTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="statisticsStatusTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="statisticsPrint()" style="margin-top: -5px;">
|
||||||
|
<i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<h5 class="page-header"></h5>
|
<h5 class="page-header"></h5>
|
||||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap statisticsStatusTable" name="statisticsStatusTable">
|
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap statisticsStatusTable" name="statisticsStatusTable">
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="asn_conn_report"/>
|
<spring:message code="asn_conn_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -51,7 +52,59 @@
|
|||||||
var modifyTime=new Date(chooseDate);
|
var modifyTime=new Date(chooseDate);
|
||||||
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/report/asnPrint',//
|
||||||
|
data:{
|
||||||
|
"searchAsnType":$('[name="searchAsnType"]').val(),
|
||||||
|
"asn":$('[name="asn"]').val(),
|
||||||
|
"searchFoundStartTime":$('[name="searchFoundStartTime"]').val(),
|
||||||
|
"searchFoundEndTime":$('[name="searchFoundEndTime"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column s_asn"><spring:message code="asn"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column pps"><spring:message code="pps"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column bps"><spring:message code="bps"/></th>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].asn;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].pps;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].bps;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -129,6 +182,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/report/asnExport?type=csv" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/report/asnExport?type=csv" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -170,6 +226,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="ntc_event_block_report"/>
|
<spring:message code="ntc_event_block_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -73,6 +74,75 @@
|
|||||||
$('.selectpicker').selectpicker('render');
|
$('.selectpicker').selectpicker('render');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/eventBlock/eventBlockPrint',//
|
||||||
|
data:{
|
||||||
|
"taskIds":$("#taskIdArray").val(),
|
||||||
|
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||||
|
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||||
|
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||||
|
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="ip_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="http_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="mail_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="vedio_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="agent_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr><td>';
|
||||||
|
userTableStr += data[j].taskIds;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskName;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].ipNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].httpNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].mailNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].vedioNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].agentNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskTime;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].reportTime;
|
||||||
|
userTableStr += '</td><tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -126,6 +196,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/eventBlock/eventBlockExport?type=csv" searchUrl="${ctx}/eventBlock/eventBlockList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/eventBlock/eventBlockExport?type=csv" searchUrl="${ctx}/eventBlock/eventBlockList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -232,6 +305,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="ntc_event_key_protection_report"/>
|
<spring:message code="ntc_event_key_protection_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -74,6 +75,72 @@
|
|||||||
$('.selectpicker').selectpicker('render');
|
$('.selectpicker').selectpicker('render');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/eventKeyProtection/eventKeyProtectionPrint',//
|
||||||
|
data:{
|
||||||
|
"taskIds":$("#taskIdArray").val(),
|
||||||
|
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||||
|
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||||
|
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||||
|
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="letter_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="config_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="monitor_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="control_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr><td>';
|
||||||
|
userTableStr += data[j].taskIds;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskName;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].letterNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].configNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].monitorNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].controlNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskTime;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].reportTime;
|
||||||
|
userTableStr += '</td><tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -127,6 +194,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/eventKeyProtection/eventKeyProtectionExport?type=csv" searchUrl="${ctx}/eventKeyProtection/eventKeyProtectionList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/eventKeyProtection/eventKeyProtectionExport?type=csv" searchUrl="${ctx}/eventKeyProtection/eventKeyProtectionList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -230,6 +300,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="ntc_event_monitor_report"/>
|
<spring:message code="ntc_event_monitor_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -83,6 +84,74 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/eventMonitor/eventMonitorPrint',//
|
||||||
|
data:{
|
||||||
|
"taskIds":$("#taskIdArray").val(),
|
||||||
|
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||||
|
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||||
|
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||||
|
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="ip_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="http_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="mail_num"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="vedio_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="agent_count"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr><td>';
|
||||||
|
userTableStr += data[j].taskIds;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskName;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].ipNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].httpNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].mailNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].vedioNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].agentNum;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].taskTime;
|
||||||
|
userTableStr += '</td><td>';
|
||||||
|
userTableStr += data[j].reportTime;
|
||||||
|
userTableStr += '</td><tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -136,6 +205,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/eventMonitor/eventMonitorExport?type=csv" searchUrl="${ctx}/eventMonitor/eventMonitorList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/eventMonitor/eventMonitorExport?type=csv" searchUrl="${ctx}/eventMonitor/eventMonitorList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -242,6 +314,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="ip_range_report"/>
|
<spring:message code="ip_range_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -34,7 +35,67 @@
|
|||||||
// });
|
// });
|
||||||
// ajaxConnPercent();
|
// ajaxConnPercent();
|
||||||
});
|
});
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/report/ipRangePrint',//
|
||||||
|
data:{
|
||||||
|
"seType":$('[name="searchAreaType1"]').val(),
|
||||||
|
"searchAreaType":$('[name="searchAreaType"]').val(),
|
||||||
|
"searchCountry":$('[name="searchCountry"]').val(),
|
||||||
|
"searchIp":$('[name="searchIp"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="ip_start"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="ip_end"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="ip_sub"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="country"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column"><spring:message code="desc"/></td>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].ipStart;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].ipEnd;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].ipSub;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].country;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].desc;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -52,7 +113,7 @@
|
|||||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/report/ipRangeList" method="post" class="form-search">
|
<form:form id="searchForm" modelAttribute="log" action="${ctx}/report/ipRangeList" method="post" class="form-search">
|
||||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||||
|
<input id="searchAreaType1" name="searchAreaType1" type="hidden" value="${log.searchAreaType}"/>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
@@ -106,7 +167,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/report/ipRangeExport?type=csv&seType=${log.searchAreaType}" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/report/ipRangeExport?type=csv&seType=${log.searchAreaType}" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -151,6 +214,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
||||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title><spring:message code="${bean.cfgName}"></spring:message></title>
|
<title><spring:message code="${bean.cfgName}"></spring:message></title>
|
||||||
<%@ include file="/WEB-INF/include/form/pageGroup.jsp"%>
|
<%@ include file="/WEB-INF/include/form/pageGroup.jsp"%>
|
||||||
<script>
|
<script>
|
||||||
@@ -412,6 +413,32 @@ function customColumnClick(){
|
|||||||
var lipx=Number(li/6);
|
var lipx=Number(li/6);
|
||||||
$(".lireport").css({'width':lipx+'px','text-overflow':'ellipsis','overflow':'hidden'});
|
$(".lireport").css({'width':lipx+'px','text-overflow':'ellipsis','overflow':'hidden'});
|
||||||
}
|
}
|
||||||
|
//打印
|
||||||
|
function doPrint() {
|
||||||
|
var reportBusinessType=$("#reportBusinessType").val()
|
||||||
|
var tableId="tagTable";
|
||||||
|
if(reportBusinessType=="label_report"){
|
||||||
|
tableId="tagTable";
|
||||||
|
}else if(reportBusinessType=="lwhh_report"){
|
||||||
|
tableId="lwhhTable";
|
||||||
|
}else if(reportBusinessType=="src_ip_report"){
|
||||||
|
tableId="contentTable1";
|
||||||
|
}else if(reportBusinessType=="attr_type_report"){
|
||||||
|
tableId="attrTypeTable";
|
||||||
|
}else if(reportBusinessType=="dest_ip_report"){
|
||||||
|
tableId="destIpTable";
|
||||||
|
}else if(reportBusinessType=="isp_report"){
|
||||||
|
tableId="entranceIdTable";
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#"+tableId+" tbody tr").removeAttr("style");
|
||||||
|
$("#"+tableId).print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
pagination();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
li{
|
li{
|
||||||
@@ -529,6 +556,9 @@ white-space:nowrap;
|
|||||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
<li><a href="javascript:;" class="export-btn" data-export-type="csv"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||||
<title>
|
<title>
|
||||||
<spring:message code="https_url_report"/>
|
<spring:message code="https_url_report"/>
|
||||||
</title>
|
</title>
|
||||||
@@ -25,10 +26,10 @@
|
|||||||
// $(this).find("th").eq(0).width=300;
|
// $(this).find("th").eq(0).width=300;
|
||||||
if(index > 0 ){
|
if(index > 0 ){
|
||||||
var title=$(this).find("td").eq(0).attr("title");
|
var title=$(this).find("td").eq(0).attr("title");
|
||||||
console.log(title);
|
// console.log(title);
|
||||||
if(title != undefined && title != null){
|
if(title != undefined && title != null){
|
||||||
if(title.length > 80){
|
if(title.length > 80){
|
||||||
$(this).find("td").eq(0).text(title.substring(0,80));
|
$(this).find("td").eq(0).text(title.substring(0,80)+"...");
|
||||||
}else{
|
}else{
|
||||||
$(this).find("td").eq(0).text(title);
|
$(this).find("td").eq(0).text(title);
|
||||||
}
|
}
|
||||||
@@ -56,6 +57,58 @@
|
|||||||
var modifyTime=new Date(chooseDate);
|
var modifyTime=new Date(chooseDate);
|
||||||
$('#searchReportEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
$('#searchReportEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||||
}
|
}
|
||||||
|
//打印列表
|
||||||
|
function doPrint() {
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
async:false,
|
||||||
|
cache:false,
|
||||||
|
url:'${ctx}/report/httpsPrint',//
|
||||||
|
data:{
|
||||||
|
"searchUrl":$('[name="searchUrl"]').val(),
|
||||||
|
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||||
|
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||||
|
},
|
||||||
|
dataType:"json",
|
||||||
|
success:function(data){
|
||||||
|
if(data !=null){
|
||||||
|
var userTableStr='';
|
||||||
|
userTableStr +='<table style="word-wrap:break-word; word-break:break-all;" class="table table-striped table-bordered table-condensed ">';
|
||||||
|
userTableStr += '<thead>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<th class="sort-column "><spring:message code="url"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column "><spring:message code="ip_count"/></td>';
|
||||||
|
userTableStr += '<th class="sort-column "><spring:message code="counnection_count"/></td>';
|
||||||
|
userTableStr += '</tr>';
|
||||||
|
userTableStr += '</thead>';
|
||||||
|
userTableStr += '<tbody>';
|
||||||
|
for(var j=0;j<data.length;j++){
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
userTableStr += '<td style="width:700px;">';
|
||||||
|
userTableStr += data[j].url;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].ipCount;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<td>';
|
||||||
|
userTableStr += data[j].connCount;
|
||||||
|
userTableStr += '</td>';
|
||||||
|
userTableStr += '<tr>';
|
||||||
|
}
|
||||||
|
userTableStr +='</tbody>';
|
||||||
|
userTableStr +='</table>';
|
||||||
|
$("#contentPrintTable").html(userTableStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','block');
|
||||||
|
$("#contentPrintTable").print({
|
||||||
|
globalStyles: true,
|
||||||
|
iframe: true,
|
||||||
|
append: null
|
||||||
|
});
|
||||||
|
$("#contentPrintTable").css('display','none');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -80,7 +133,7 @@
|
|||||||
<div class="input-group-btn">
|
<div class="input-group-btn">
|
||||||
<span class="selectpicker form-control" ><spring:message code="url"/></span>
|
<span class="selectpicker form-control" ><spring:message code="url"/></span>
|
||||||
</div>
|
</div>
|
||||||
<input name="searchUrl" type="text" class="form-control input-medium" maxlength="20" value="${log.searchUrl }" />
|
<input name="searchUrl" type="text" class="form-control input-small" maxlength="20" value="${log.searchUrl }" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
@@ -126,6 +179,9 @@
|
|||||||
<li><sys:delRow url="${ctx}/report/httpsExport?type=csv" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/report/httpsExport?type=csv" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||||
|
</div>
|
||||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
<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:;">
|
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||||
<i class="icon-wrench"></i>
|
<i class="icon-wrench"></i>
|
||||||
@@ -169,6 +225,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="page">${page}</div>
|
<div class="page">${page}</div>
|
||||||
|
<div id="contentPrintTable" style="display: none;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -89,4 +89,9 @@ margin-top: 20px;
|
|||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* <20><><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>,<2C><>ӡ<EFBFBD><D3A1>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
.css-print{
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
279
src/main/webapp/static/pages/scripts/jQuery.print.js
Normal file
279
src/main/webapp/static/pages/scripts/jQuery.print.js
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
/* @license
|
||||||
|
* jQuery.print, version 1.6.0
|
||||||
|
* (c) Sathvik Ponangi, Doers' Guild
|
||||||
|
* Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
|
||||||
|
*--------------------------------------------------------------------------*/
|
||||||
|
(function ($) {
|
||||||
|
"use strict";
|
||||||
|
// A nice closure for our definitions
|
||||||
|
|
||||||
|
function jQueryCloneWithSelectAndTextAreaValues(elmToClone, withDataAndEvents, deepWithDataAndEvents) {
|
||||||
|
// Replacement jQuery clone that also clones the values in selects and textareas as jQuery doesn't for performance reasons - https://stackoverflow.com/questions/742810/clone-isnt-cloning-select-values
|
||||||
|
// Based on https://github.com/spencertipping/jquery.fix.clone
|
||||||
|
var $elmToClone = $(elmToClone),
|
||||||
|
$result = $elmToClone.clone(withDataAndEvents, deepWithDataAndEvents),
|
||||||
|
$myTextareas = $elmToClone.find('textarea').add($elmToClone.filter('textarea')),
|
||||||
|
$resultTextareas = $result.find('textarea').add($result.filter('textarea')),
|
||||||
|
$mySelects = $elmToClone.find('select').add($elmToClone.filter('select')),
|
||||||
|
$resultSelects = $result.find('select').add($result.filter('select')),
|
||||||
|
i, l, j, m;
|
||||||
|
|
||||||
|
for (i = 0, l = $myTextareas.length; i < l; ++i) {
|
||||||
|
$($resultTextareas[i]).val($($myTextareas[i]).val());
|
||||||
|
}
|
||||||
|
for (i = 0, l = $mySelects.length; i < l; ++i) {
|
||||||
|
for (j = 0, m = $mySelects[i].options.length; j < m; ++j) {
|
||||||
|
if ($mySelects[i].options[j].selected === true) {
|
||||||
|
$resultSelects[i].options[j].selected = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getjQueryObject(string) {
|
||||||
|
// Make string a vaild jQuery thing
|
||||||
|
var jqObj = $("");
|
||||||
|
try {
|
||||||
|
jqObj = jQueryCloneWithSelectAndTextAreaValues(string);
|
||||||
|
} catch (e) {
|
||||||
|
jqObj = $("<span />")
|
||||||
|
.html(string);
|
||||||
|
}
|
||||||
|
return jqObj;
|
||||||
|
}
|
||||||
|
|
||||||
|
function printFrame(frameWindow, content, options) {
|
||||||
|
// Print the selected window/iframe
|
||||||
|
var def = $.Deferred();
|
||||||
|
try {
|
||||||
|
frameWindow = frameWindow.contentWindow || frameWindow.contentDocument || frameWindow;
|
||||||
|
var wdoc = frameWindow.document || frameWindow.contentDocument || frameWindow;
|
||||||
|
if(options.doctype) {
|
||||||
|
wdoc.write(options.doctype);
|
||||||
|
}
|
||||||
|
wdoc.write(content);
|
||||||
|
wdoc.close();
|
||||||
|
var printed = false,
|
||||||
|
callPrint = function () {
|
||||||
|
if(printed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Fix for IE : Allow it to render the iframe
|
||||||
|
frameWindow.focus();
|
||||||
|
try {
|
||||||
|
// Fix for IE11 - printng the whole page instead of the iframe content
|
||||||
|
if (!frameWindow.document.execCommand('print', false, null)) {
|
||||||
|
// document.execCommand returns false if it failed -http://stackoverflow.com/a/21336448/937891
|
||||||
|
frameWindow.print();
|
||||||
|
}
|
||||||
|
// focus body as it is losing focus in iPad and content not getting printed
|
||||||
|
$('body').focus();
|
||||||
|
} catch (e) {
|
||||||
|
frameWindow.print();
|
||||||
|
}
|
||||||
|
frameWindow.close();
|
||||||
|
printed = true;
|
||||||
|
def.resolve();
|
||||||
|
};
|
||||||
|
// Print once the frame window loads - seems to work for the new-window option but unreliable for the iframe
|
||||||
|
$(frameWindow).on("load", callPrint);
|
||||||
|
// Fallback to printing directly if the frame doesn't fire the load event for whatever reason
|
||||||
|
setTimeout(callPrint, options.timeout);
|
||||||
|
} catch (err) {
|
||||||
|
def.reject(err);
|
||||||
|
}
|
||||||
|
return def;
|
||||||
|
}
|
||||||
|
|
||||||
|
function printContentInIFrame(content, options) {
|
||||||
|
var $iframe = $(options.iframe + "");
|
||||||
|
var iframeCount = $iframe.length;
|
||||||
|
if (iframeCount === 0) {
|
||||||
|
// Create a new iFrame if none is given
|
||||||
|
$iframe = $('<iframe height="0" width="0" border="0" wmode="Opaque"/>')
|
||||||
|
.prependTo('body')
|
||||||
|
.css({
|
||||||
|
"position": "absolute",
|
||||||
|
"top": -999,
|
||||||
|
"left": -999
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var frameWindow = $iframe.get(0);
|
||||||
|
return printFrame(frameWindow, content, options)
|
||||||
|
.done(function () {
|
||||||
|
// Success
|
||||||
|
setTimeout(function () {
|
||||||
|
// Wait for IE
|
||||||
|
if (iframeCount === 0) {
|
||||||
|
// Destroy the iframe if created here
|
||||||
|
$iframe.remove();
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
})
|
||||||
|
.fail(function (err) {
|
||||||
|
// Use the pop-up method if iframe fails for some reason
|
||||||
|
console.error("Failed to print from iframe", err);
|
||||||
|
printContentInNewWindow(content, options);
|
||||||
|
})
|
||||||
|
.always(function () {
|
||||||
|
try {
|
||||||
|
options.deferred.resolve();
|
||||||
|
} catch (err) {
|
||||||
|
console.warn('Error notifying deferred', err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function printContentInNewWindow(content, options) {
|
||||||
|
// Open a new window and print selected content
|
||||||
|
var frameWindow = window.open();
|
||||||
|
return printFrame(frameWindow, content, options)
|
||||||
|
.always(function () {
|
||||||
|
try {
|
||||||
|
options.deferred.resolve();
|
||||||
|
} catch (err) {
|
||||||
|
console.warn('Error notifying deferred', err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function isNode(o) {
|
||||||
|
/* http://stackoverflow.com/a/384380/937891 */
|
||||||
|
return !!(typeof Node === "object" ? o instanceof Node : o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string");
|
||||||
|
}
|
||||||
|
$.print = $.fn.print = function () {
|
||||||
|
// Print a given set of elements
|
||||||
|
var options, $this, self = this;
|
||||||
|
// console.log("Printing", this, arguments);
|
||||||
|
if (self instanceof $) {
|
||||||
|
// Get the node if it is a jQuery object
|
||||||
|
self = self.get(0);
|
||||||
|
}
|
||||||
|
if (isNode(self)) {
|
||||||
|
// If `this` is a HTML element, i.e. for
|
||||||
|
// $(selector).print()
|
||||||
|
$this = $(self);
|
||||||
|
if (arguments.length > 0) {
|
||||||
|
options = arguments[0];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (arguments.length > 0) {
|
||||||
|
// $.print(selector,options)
|
||||||
|
$this = $(arguments[0]);
|
||||||
|
if (isNode($this[0])) {
|
||||||
|
if (arguments.length > 1) {
|
||||||
|
options = arguments[1];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// $.print(options)
|
||||||
|
options = arguments[0];
|
||||||
|
$this = $("html");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// $.print()
|
||||||
|
$this = $("html");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Default options
|
||||||
|
var defaults = {
|
||||||
|
globalStyles: true,
|
||||||
|
mediaPrint: false,
|
||||||
|
stylesheet: null,
|
||||||
|
noPrintSelector: ".no-print",
|
||||||
|
iframe: true,
|
||||||
|
append: null,
|
||||||
|
prepend: null,
|
||||||
|
manuallyCopyFormValues: true,
|
||||||
|
deferred: $.Deferred(),
|
||||||
|
timeout: 750,
|
||||||
|
title: null,
|
||||||
|
doctype: '<!doctype html>'
|
||||||
|
};
|
||||||
|
// Merge with user-options
|
||||||
|
options = $.extend({}, defaults, (options || {}));
|
||||||
|
var $styles = $("");
|
||||||
|
if (options.globalStyles) {
|
||||||
|
// Apply the stlyes from the current sheet to the printed page
|
||||||
|
$styles = $("style, link, meta, base, title");
|
||||||
|
} else if (options.mediaPrint) {
|
||||||
|
// Apply the media-print stylesheet
|
||||||
|
$styles = $("link[media=print]");
|
||||||
|
}
|
||||||
|
if (options.stylesheet) {
|
||||||
|
// Add a custom stylesheet if given
|
||||||
|
$styles = $.merge($styles, $('<link rel="stylesheet" href="' + options.stylesheet + '">'));
|
||||||
|
}
|
||||||
|
// Create a copy of the element to print
|
||||||
|
var copy = jQueryCloneWithSelectAndTextAreaValues($this);
|
||||||
|
// Wrap it in a span to get the HTML markup string
|
||||||
|
copy = $("<span/>")
|
||||||
|
.append(copy);
|
||||||
|
// Remove unwanted elements
|
||||||
|
copy.find(options.noPrintSelector)
|
||||||
|
.remove();
|
||||||
|
// Add in the styles
|
||||||
|
copy.append(jQueryCloneWithSelectAndTextAreaValues($styles));
|
||||||
|
// Update title
|
||||||
|
if (options.title) {
|
||||||
|
var title = $("title", copy);
|
||||||
|
if (title.length === 0) {
|
||||||
|
title = $("<title />");
|
||||||
|
copy.append(title);
|
||||||
|
}
|
||||||
|
title.text(options.title);
|
||||||
|
}
|
||||||
|
// Appedned content
|
||||||
|
copy.append(getjQueryObject(options.append));
|
||||||
|
// Prepended content
|
||||||
|
copy.prepend(getjQueryObject(options.prepend));
|
||||||
|
if (options.manuallyCopyFormValues) {
|
||||||
|
// Manually copy form values into the HTML for printing user-modified input fields
|
||||||
|
// http://stackoverflow.com/a/26707753
|
||||||
|
copy.find("input")
|
||||||
|
.each(function () {
|
||||||
|
var $field = $(this);
|
||||||
|
if ($field.is("[type='radio']") || $field.is("[type='checkbox']")) {
|
||||||
|
if ($field.prop("checked")) {
|
||||||
|
$field.attr("checked", "checked");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$field.attr("value", $field.val());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
copy.find("select").each(function () {
|
||||||
|
var $field = $(this);
|
||||||
|
$field.find(":selected").attr("selected", "selected");
|
||||||
|
});
|
||||||
|
copy.find("textarea").each(function () {
|
||||||
|
// Fix for https://github.com/DoersGuild/jQuery.print/issues/18#issuecomment-96451589
|
||||||
|
var $field = $(this);
|
||||||
|
$field.text($field.val());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Get the HTML markup string
|
||||||
|
var content = copy.html();
|
||||||
|
// Notify with generated markup & cloned elements - useful for logging, etc
|
||||||
|
try {
|
||||||
|
options.deferred.notify('generated_markup', content, copy);
|
||||||
|
} catch (err) {
|
||||||
|
console.warn('Error notifying deferred', err);
|
||||||
|
}
|
||||||
|
// Destroy the copy
|
||||||
|
copy.remove();
|
||||||
|
if (options.iframe) {
|
||||||
|
// Use an iframe for printing
|
||||||
|
try {
|
||||||
|
printContentInIFrame(content, options);
|
||||||
|
} catch (e) {
|
||||||
|
// Use the pop-up method if iframe fails for some reason
|
||||||
|
console.error("Failed to print from iframe", e.stack, e.message);
|
||||||
|
printContentInNewWindow(content, options);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Use a new window for printing
|
||||||
|
printContentInNewWindow(content, options);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
})(jQuery);
|
||||||
Reference in New Issue
Block a user