Merge branch 'develop' of https://git.mesalab.cn/K18_NTCS_WEB/NTC.git into develop

This commit is contained in:
intraUser
2019-01-04 12:13:05 +08:00
26 changed files with 1225 additions and 356 deletions

View File

@@ -1038,7 +1038,12 @@ public class ExportExcel {
}
// APP Payload
if(region.getFunctionId().equals(563)) {
commentStr=commentStr+""+"L3_header:"+msgProp.getProperty("need_input")+"'headerType'"+"\n";
commentStr=commentStr+""+"L3_header:"+msgProp.getProperty("need_input")+"'headerType', "+
msgProp.getProperty("no_need_input")+"'"+
msgProp.getProperty("key_word")+"'、'"+
msgProp.getProperty("match_method")+"'、'"+
msgProp.getProperty("is_hex")+"'、'"+
msgProp.getProperty("is_case_insenstive")+"'"+"\n";
index++;
}
}
@@ -2611,5 +2616,60 @@ public class ExportExcel {
log.debug("Export success.");
*/
}
public <E> ExportExcel ajaxDataList(List<List<Object>>dataMap,String code){
for (int i = 0; i < dataMap.size(); i++) {
Row row = this.addRow(sheets.get(code),rownums.get(code),code);
int colunm = 0;
List<Object> list=dataMap.get(i);
for (int j = 0; j < list.size(); j++) {
this.addCell(row, colunm++,list.get(j), 0,null);
}
}
return this;
}
public ExportExcel(String titleName,String code,String titleTime,List<String> headerList){
this.wb = new SXSSFWorkbook(500);
int j=0;
sheets=new HashMap<>();
rownums=new HashMap<>();
Sheet sheet = wb.createSheet(titleName);
if(!StringUtils.isEmpty(titleTime)){
rownums.put(code, 1);
}else{
rownums.put(code, 0);
}
sheets.put(code, sheet);
this.styles = createStyles(wb);
if(!StringUtils.isEmpty(titleTime)){
//添加一行数据
CellRangeAddress callRangeAddress = new CellRangeAddress(0,0,0,headerList.size()-1);
CellStyle style = styles.get("data");
Row timeRow = sheet.createRow(0);
timeRow.setHeightInPoints(16);
Cell cellt = timeRow.createCell(0);
cellt.setCellValue(titleTime);
sheet.addMergedRegion(callRangeAddress);
sheet.autoSizeColumn(0);
setBorderStyle(CellStyle.BORDER_THIN,callRangeAddress,sheet,wb);
}
Integer rownum=rownums.get(code);
Row headerRow = sheet.createRow(rownum++);
headerRow.setHeightInPoints(16);
for (int i = 0; i < headerList.size(); i++) {
Cell cell = headerRow.createCell(i);
cell.setCellStyle(styles.get("header"));
cell.setCellValue(headerList.get(i));
sheet.autoSizeColumn(i);
}
for (int i = 0; i < headerList.size(); i++) {
int colWidth = sheet.getColumnWidth(i)*2;
sheet.setColumnWidth(i, colWidth < 3000 ? 3000 : colWidth);
}
j++;
}
}

View File

@@ -92,21 +92,63 @@ public class CheckAppFeatureComplexStringFormatThread implements Callable<String
StringBuffer errInfo = new StringBuffer();
AppComplexFeatureCfg baseStringCfg = new AppComplexFeatureCfg();
BeanUtils.copyProperties(list.get(i), baseStringCfg);
// 配置描述、关键字长度限制
// 配置描述长度限制
if(baseStringCfg.getCfgDesc().length() > 128) {
errInfo.append(prop.getProperty("config_describe")+prop.getProperty("length_error")+" "+String.format(prop.getProperty("max_length")+":128") + ";");
}
if(baseStringCfg.getCfgKeywords().length() < 4 || baseStringCfg.getCfgKeywords().length() > 1024){
errInfo.append(prop.getProperty("key_word")+prop.getProperty("length_error")+" "+String.format(prop.getProperty("min_length")+":4,"+prop.getProperty("max_length")+":1024") + ";");
}
if (regionDict.getRegionType().equals(3)) {
String keyword = baseStringCfg.getCfgKeywords();
String district = baseStringCfg.getDistrict();
if (StringUtils.isBlank(keyword)) {
errInfo.append(
String.format(prop.getProperty("can_not_null"), prop.getProperty("key_word") + " ") + ";");
if(!district.equals("L3_header")) {// district="L3_header"时 不校验keyword
if (StringUtils.isBlank(keyword)) {
errInfo.append(
String.format(prop.getProperty("can_not_null"), prop.getProperty("key_word") + " ") + ";");
}else if(keyword.length() < 4 || keyword.length() > 1024){// 关键字长度限制
errInfo.append(prop.getProperty("key_word")+prop.getProperty("length_error")+" "+String.format(prop.getProperty("min_length")+":4,"+prop.getProperty("max_length")+":1024") + ";");
}
if (mulityKeywordsP.equals("0")) {
if (keyword.indexOf("\n") > -1) {
errInfo.append(
String.format(prop.getProperty("not_multiple"), prop.getProperty("key_word")) + ";");
}
Matcher m = pattern.matcher(keyword);
if (m.find()) {
errInfo.append(String.format(prop.getProperty("has_invisible_char"),
prop.getProperty("key_word") + " '" + keyword + "'") + ";");
}
} else {
boolean has = false;
Set<String> keywordSet=Sets.newHashSet();
for (String key : keyword.split("\n")) {
Matcher m = pattern.matcher(key);
if (m.find()) {
has = true;
errInfo.append(String.format(prop.getProperty("has_invisible_char"),
prop.getProperty("key_word") + " '" + key + "'") + ";");
break;
}
if(!keywordSet.contains(key)) {
keywordSet.add(key);
}else {
errInfo.append(prop.getProperty("key_word") + " '" + key + "'"+" "+prop.getProperty("repeat") + ";");
}
}
if (!has) {
if(keyword.replaceAll("\n","").length()>1024) {
errInfo.append(String.format(prop.getProperty("most_keywords"),
prop.getProperty("key_word")) + ";");
}else {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR);
baseStringCfg.setCfgKeywords(reWord);
}
}
}
}
if (StringUtils.isNotBlank(dirtrictP)) {
if (StringUtils.isBlank(district)) {
if (dirtrictP.indexOf(",") == -1) {
@@ -127,185 +169,149 @@ public class CheckAppFeatureComplexStringFormatThread implements Callable<String
String.format(prop.getProperty("can_not_be"), " 'others'")+ ";");
}
}
if (mulityKeywordsP.equals("0")) {
if (keyword.indexOf("\n") > -1) {
errInfo.append(
String.format(prop.getProperty("not_multiple"), prop.getProperty("key_word")) + ";");
}
Matcher m = pattern.matcher(keyword);
if (m.find()) {
errInfo.append(String.format(prop.getProperty("has_invisible_char"),
prop.getProperty("key_word") + " '" + keyword + "'") + ";");
}
} else {
boolean has = false;
Set<String> keywordSet=Sets.newHashSet();
for (String key : keyword.split("\n")) {
Matcher m = pattern.matcher(key);
if (m.find()) {
has = true;
errInfo.append(String.format(prop.getProperty("has_invisible_char"),
prop.getProperty("key_word") + " '" + key + "'") + ";");
break;
}
if(!keywordSet.contains(key)) {
keywordSet.add(key);
}else {
errInfo.append(prop.getProperty("key_word") + " '" + key + "'"+" "+prop.getProperty("repeat") + ";");
}
}
if (!has) {
if(keyword.replaceAll("\n","").length()>1024) {
errInfo.append(String.format(prop.getProperty("most_keywords"),
prop.getProperty("key_word")) + ";");
}else {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR);
baseStringCfg.setCfgKeywords(reWord);
}
}
}
Integer exprType = baseStringCfg.getExprType();
boolean has = false;
if (exprType == null) {
if (exprTypeP.indexOf(",") == -1) {
if (mulityKeywordsP.equals("0") && exprTypeP.equals("1")) {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
baseStringCfg.setExprType(Integer.parseInt(exprTypeP));
} else if (exprTypeP.indexOf("0") > -1 && mulityKeywordsP.equals("0")) {
baseStringCfg.setExprType(0);
} else if (exprTypeP.indexOf("1") > -1 && mulityKeywordsP.equals("1")
&& keyword.indexOf("\n") > -1) {
baseStringCfg.setExprType(1);
} else if (exprTypeP.indexOf("0") > -1 && mulityKeywordsP.equals("1")
&& keyword.indexOf("\n") == -1) {
baseStringCfg.setExprType(0);
} else {
baseStringCfg.setExprType(Integer.parseInt(exprTypeP.split(",")[0]));
}
// errInfo.append(String.format(prop.getProperty("can_not_null"),
// prop.getProperty("expression_type"))+";");
} else {
for (String exp : exprTypeP.split(",")) {
if (exp.equals(exprType.toString())) {
has = true;
break;
}
}
if (!has) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("expression_type"))
+ ";");
}
has = false;
}
exprType = baseStringCfg.getExprType();
Integer matchMethod = baseStringCfg.getMatchMethod();
if (matchMethod == null) {
if (matchMethodP.indexOf(",") == -1) {
if (exprTypeP.equals("1") && !matchMethodP.equals("0")) {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
baseStringCfg.setMatchMethod(Integer.parseInt(matchMethodP));
} else if (exprType != null && exprType.intValue() == 1) {
if (matchMethodP.indexOf("0") > -1) {
baseStringCfg.setMatchMethod(0);
} else {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
} else {
baseStringCfg.setMatchMethod(Integer.parseInt(matchMethodP.split(",")[0]));
}
// errInfo.append(String.format(prop.getProperty("can_not_null"),
// prop.getProperty("match_method"))+";");
} else {
for (String exp : matchMethodP.split(",")) {
if (exp.equals(matchMethod.toString())) {
has = true;
break;
}
}
if (!has) {
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("match_method"))
+ ";");
}
}
Integer isHex = baseStringCfg.getIsHex();
Integer isCaseInsenstive = baseStringCfg.getIsCaseInsenstive();
if (isHex == null || isCaseInsenstive == null) {
if (isHex == null) {
if (hexP.indexOf("0")>-1 || hexP.indexOf("2")>-1) {
baseStringCfg.setIsHex(0);
} else if (hexP.indexOf("1")>-1) {
baseStringCfg.setIsHex(1);
} else {
errInfo.append(
String.format(prop.getProperty("can_not_null"), prop.getProperty("is_hex")) + ";");
}
}
if (isCaseInsenstive == null) {
if (hexP.indexOf("0")>-1 || hexP.indexOf("1")>-1) {
baseStringCfg.setIsCaseInsenstive(0);
} else if (hexP.indexOf("2")>-1) {
baseStringCfg.setIsCaseInsenstive(1);
} else {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("is_case_insenstive")) + ";");
}
}
} else {
if (isHex.intValue() != 0 && isHex.intValue() != 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (isCaseInsenstive.intValue() != 0 && isCaseInsenstive.intValue() != 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
if (hexP.indexOf("1") == -1 && isHex.intValue() == 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (hexP.equals("1") && isHex.intValue() == 0) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (hexP.indexOf("2") == -1 && isCaseInsenstive.intValue() == 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
if (hexP.equals("2") && isCaseInsenstive.intValue() == 0) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
// 关键字十六进制校验
if (hexP.indexOf("1") != -1 && isHex.intValue() == 1) {
boolean bl = Pattern.compile("^([0-9|a-f|A-F]*)$").matcher(keyword).matches();
if(!bl) {
errInfo.append(
prop.getProperty("key_word") + " '" + keyword + "' "+String.format(prop.getProperty("contains_non_hex_char")) + ";");
}
}
}
isHex = baseStringCfg.getIsHex();
isCaseInsenstive = baseStringCfg.getIsCaseInsenstive();
if (isHex != null && isCaseInsenstive != null) {
if (isHex.intValue() == 0 && isCaseInsenstive.intValue() == 0) {
baseStringCfg.setIsHexbin(0);
} else if (isHex.intValue() == 1 && isCaseInsenstive.intValue() == 0) {
baseStringCfg.setIsHexbin(1);
} else if (isHex.intValue() == 0 && isCaseInsenstive.intValue() == 1) {
baseStringCfg.setIsHexbin(2);
} else if (hexP.indexOf("1") != -1 && isHex.intValue() == 1 && isCaseInsenstive.intValue() == 1) {// 只有是十六进制且取值正确的时候, 才进行(十六进制)与(大小写敏感)的校验
errInfo.append(prop.getProperty("hex_case_insensitive")+ ";");
}
}
if(!district.equals("L3_header")) {// district="L3_header"时 不校验exprType、matchMethod、isHex、isCaseInsenstive为固定值
Integer exprType = baseStringCfg.getExprType();
boolean has = false;
if (exprType == null) {
if (exprTypeP.indexOf(",") == -1) {
if (mulityKeywordsP.equals("0") && exprTypeP.equals("1")) {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
baseStringCfg.setExprType(Integer.parseInt(exprTypeP));
} else if (exprTypeP.indexOf("0") > -1 && mulityKeywordsP.equals("0")) {
baseStringCfg.setExprType(0);
} else if (exprTypeP.indexOf("1") > -1 && mulityKeywordsP.equals("1")
&& keyword.indexOf("\n") > -1) {
baseStringCfg.setExprType(1);
} else if (exprTypeP.indexOf("0") > -1 && mulityKeywordsP.equals("1")
&& keyword.indexOf("\n") == -1) {
baseStringCfg.setExprType(0);
} else {
baseStringCfg.setExprType(Integer.parseInt(exprTypeP.split(",")[0]));
}
// errInfo.append(String.format(prop.getProperty("can_not_null"),
// prop.getProperty("expression_type"))+";");
} else {
for (String exp : exprTypeP.split(",")) {
if (exp.equals(exprType.toString())) {
has = true;
break;
}
}
if (!has) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("expression_type"))
+ ";");
}
has = false;
}
exprType = baseStringCfg.getExprType();
Integer matchMethod = baseStringCfg.getMatchMethod();
if (matchMethod == null) {
if (matchMethodP.indexOf(",") == -1) {
if (exprTypeP.equals("1") && !matchMethodP.equals("0")) {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
baseStringCfg.setMatchMethod(Integer.parseInt(matchMethodP));
} else if (exprType != null && exprType.intValue() == 1) {
if (matchMethodP.indexOf("0") > -1) {
baseStringCfg.setMatchMethod(0);
} else {
throw new RuntimeException("region dict config error,dict id is " + regionDict.getDictId());
}
} else {
baseStringCfg.setMatchMethod(Integer.parseInt(matchMethodP.split(",")[0]));
}
// errInfo.append(String.format(prop.getProperty("can_not_null"),
// prop.getProperty("match_method"))+";");
} else {
for (String exp : matchMethodP.split(",")) {
if (exp.equals(matchMethod.toString())) {
has = true;
break;
}
}
if (!has) {
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("match_method"))
+ ";");
}
}
Integer isHex = baseStringCfg.getIsHex();
Integer isCaseInsenstive = baseStringCfg.getIsCaseInsenstive();
if (isHex == null || isCaseInsenstive == null) {
if (isHex == null) {
if (hexP.indexOf("0")>-1 || hexP.indexOf("2")>-1) {
baseStringCfg.setIsHex(0);
} else if (hexP.indexOf("1")>-1) {
baseStringCfg.setIsHex(1);
} else {
errInfo.append(
String.format(prop.getProperty("can_not_null"), prop.getProperty("is_hex")) + ";");
}
}
if (isCaseInsenstive == null) {
if (hexP.indexOf("0")>-1 || hexP.indexOf("1")>-1) {
baseStringCfg.setIsCaseInsenstive(0);
} else if (hexP.indexOf("2")>-1) {
baseStringCfg.setIsCaseInsenstive(1);
} else {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("is_case_insenstive")) + ";");
}
}
} else {
if (isHex.intValue() != 0 && isHex.intValue() != 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (isCaseInsenstive.intValue() != 0 && isCaseInsenstive.intValue() != 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
if (hexP.indexOf("1") == -1 && isHex.intValue() == 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (hexP.equals("1") && isHex.intValue() == 0) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_hex")) + ";");
}
if (hexP.indexOf("2") == -1 && isCaseInsenstive.intValue() == 1) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
if (hexP.equals("2") && isCaseInsenstive.intValue() == 0) {
errInfo.append(
String.format(prop.getProperty("is_incorrect"), prop.getProperty("is_case_insenstive"))
+ ";");
}
// 关键字十六进制校验
if (hexP.indexOf("1") != -1 && isHex.intValue() == 1) {
boolean bl = Pattern.compile("^([0-9|a-f|A-F]*)$").matcher(keyword).matches();
if(!bl) {
errInfo.append(
prop.getProperty("key_word") + " '" + keyword + "' "+String.format(prop.getProperty("contains_non_hex_char")) + ";");
}
}
}
isHex = baseStringCfg.getIsHex();
isCaseInsenstive = baseStringCfg.getIsCaseInsenstive();
if (isHex != null && isCaseInsenstive != null) {
if (isHex.intValue() == 0 && isCaseInsenstive.intValue() == 0) {
baseStringCfg.setIsHexbin(0);
} else if (isHex.intValue() == 1 && isCaseInsenstive.intValue() == 0) {
baseStringCfg.setIsHexbin(1);
} else if (isHex.intValue() == 0 && isCaseInsenstive.intValue() == 1) {
baseStringCfg.setIsHexbin(2);
} else if (hexP.indexOf("1") != -1 && isHex.intValue() == 1 && isCaseInsenstive.intValue() == 1) {// 只有是十六进制且取值正确的时候, 才进行(十六进制)与(大小写敏感)的校验
errInfo.append(prop.getProperty("hex_case_insensitive")+ ";");
}
}
}
// APP Payload L3_HEADER的特殊属性限制
if(baseStringCfg.getDistrict().equals("L3_header")) {
String headerType = baseStringCfg.getHeaderType();
@@ -318,7 +324,13 @@ public class CheckAppFeatureComplexStringFormatThread implements Callable<String
}else{
appMultiFeatureCfgService.checkImportAppPayload(baseStringCfg, errInfo, prop);
}
appMultiFeatureCfgService.setL3HeaderKeyword(baseStringCfg);
if (errInfo.toString().length() == 0) {
appMultiFeatureCfgService.setL3HeaderKeyword(baseStringCfg);
}
baseStringCfg.setIsHexbin(1);
baseStringCfg.setIsCaseInsenstive(0);
baseStringCfg.setExprType(3);
baseStringCfg.setMatchMethod(0);
}else {
baseStringCfg.setHeaderType(null);
baseStringCfg.setVer(null);

View File

@@ -0,0 +1,29 @@
package com.nis.web.controller.report;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.nis.web.controller.BaseController;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("${adminPath}/export")
public class ExportController extends BaseController {
@RequestMapping(value = "ajaxExport")
public void ajaxExport(String exports,HttpServletRequest request,HttpServletResponse response) throws Exception{
JSONObject jsonObject = JSONObject.fromObject(StringEscapeUtils.unescapeHtml(exports));
Map<String,Object> map=JSONObject.fromObject(jsonObject);
List<List<Object>> list=(List<List<Object>>) map.get("book");
List<String> heard=(List<String>) map.get("heard");
String titleTime=String.valueOf(map.get("titleTime"));
String titleCode=String.valueOf(map.get("titleCode"));
_ajaxExport(request,response,titleCode, titleTime, heard, list);
}
}

View File

@@ -581,7 +581,7 @@ public class AppMultiFeatureCfgService extends BaseService {
count++;
}
if((count >0 || count <5) && (!errorFlag) && (ipHeaderFlag)) {// 清空错误信息
if((0<count) && (count<5) && (!errorFlag) && (ipHeaderFlag)) {// 清空错误信息
errInfo.setLength(0);;
errInfo.append(errInfoCopy);
}

View File

@@ -1117,11 +1117,11 @@ access_policy=Access Policy
nat_policy=NAT Policy
dns_policy_object=DNS Policy Object
proxy_policy_object=Proxy Policy Object
APP_PAYLOAD_ADMIN=APP Payload Admin
APP_HTTP_ADMIN=APP HTTP Admin
APP_DNS_ADMIN=APP DNS Admin
APP_SSL_ADMIN=APP SSL Admin
APP_DK_GL=APP DK GL Admin
APP_PAYLOAD_ADMIN=APP Payload Feature
APP_HTTP_ADMIN=APP HTTP Feature
APP_DNS_ADMIN=APP DNS Feature
APP_SSL_ADMIN=APP SSL Feature
APP_DK_GL=APP DK GL Feature
dnat_ip_complex_loop=DNAT Reuse Policy Loop
snat_ip_complex_loop=SNAT Reuse Policy Loop
snat_ip_reuse_adress_pool_loop=SNAT Address Pool Loop
@@ -1444,4 +1444,5 @@ hex_minlength_4=Please enter a hexadecimal string of length 4
hex_minlength_8=Please enter a hexadecimal string of length 8
hex_minlength_16=Please enter a hexadecimal string of length 16
need_input=Attributes need to be filled in
max_input=Fill in at most four
max_input=Fill in at most four
no_need_input=Attributes no need to be filled in

View File

@@ -1117,11 +1117,11 @@ access_policy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0434\u043e\u043
nat_policy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 NAT
dns_policy_object=\u041e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 DNS
proxy_policy_object=\u041e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043f\u0440\u043e\u043a\u0441\u0438
APP_PAYLOAD_ADMIN=\u0410\u0434\u043c\u0438\u043d. \u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
APP_HTTP_ADMIN=\u0410\u0434\u043c\u0438\u043d. HTTP \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
APP_DNS_ADMIN=\u0410\u0434\u043c\u0438\u043d. DNS \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
APP_SSL_ADMIN=\u0410\u0434\u043c\u0438\u043d. SSL \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
APP_DK_GL=\u0410\u0434\u043c\u0438\u043d. DK GL \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
APP_PAYLOAD_ADMIN=\u041F\u043E\u043B\u0435\u0437\u043D\u0430\u044F \u041D\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u041F\u0440\u0438\u0437\u043D\u0430\u043A\u0438 \u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439
APP_HTTP_ADMIN= HTTP \u041F\u0440\u0438\u0437\u043D\u0430\u043A\u0438 \u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439
APP_DNS_ADMIN= DNS \u041F\u0440\u0438\u0437\u043D\u0430\u043A\u0438 \u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439
APP_SSL_ADMIN=SSL \u041F\u0440\u0438\u0437\u043D\u0430\u043A\u0438 \u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439
APP_DK_GL=DK GL \u041F\u0440\u0438\u0437\u043D\u0430\u043A\u0438 \u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0439
dnat_ip_complex_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f DNAT
snat_ip_complex_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f SNAT
snat_ip_reuse_adress_pool_loop=\u041f\u0435\u0442\u043b\u044f \u043f\u0443\u043b\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 SNAT
@@ -1448,4 +1448,5 @@ hex_minlength_4=Please enter a hexadecimal string of length 4
hex_minlength_8=Please enter a hexadecimal string of length 8
hex_minlength_16=Please enter a hexadecimal string of length 16
need_input=Attributes need to be filled in
max_input=Fill in at most four
max_input=Fill in at most four
no_need_input=Attributes no need to be filled in

View File

@@ -1444,4 +1444,5 @@ hex_minlength_4=\u8BF7\u8F93\u5165\u957F\u5EA6\u4E3A4\u7684\u5341\u516D\u8FDB\u5
hex_minlength_8=\u8BF7\u8F93\u5165\u957F\u5EA6\u4E3A8\u7684\u5341\u516D\u8FDB\u5236\u5B57\u7B26\u4E32
hex_minlength_16=\u8BF7\u8F93\u5165\u957F\u5EA6\u4E3A16\u7684\u5341\u516D\u8FDB\u5236\u5B57\u7B26\u4E32
need_input=\u9700\u8981\u586B\u5199\u5C5E\u6027
max_input=\u6700\u591A\u586B\u5199\u56DB\u4E2A
max_input=\u6700\u591A\u586B\u5199\u56DB\u4E2A
no_need_input=\u65E0\u9700\u586B\u5199\u5C5E\u6027

View File

@@ -611,4 +611,4 @@ trafficAreaStat=v1/trafficAreaStat
logServiceTopn=v1/logServiceTopn
blockAndDropStat=v1/blockAndDropStat
#配置启停接口
configStartStop=v2/configStartStop
configStartStop=v2/configStartStop

View File

@@ -1,7 +1,7 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<script>
function pagination() {
function pagination(pageSizes) {
pageNo = 1;
count = $('tbody').children().size();// 总记录数
@@ -15,8 +15,10 @@ function pagination() {
//$('tbody').children().slice(0, preCount).remove();
} */
pageSize = 30; // 页面大小
if(pageSizes==null || pageSizes=='' ){
pageSizes=30;
}
pageSize = pageSizes; // 页面大小
first = 1;// 首页索引
last = Math.ceil(count/pageSize);// 尾页索引
length = 8;// 显示页面长度

View File

@@ -36,7 +36,7 @@
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
@@ -45,10 +45,12 @@
<span class="selectpicker form-control"><spring:message
code="end_date" /></span>
</div>
<input id="endDate" name="endDate" type="text"
<!-- <input id="endDate" name="endDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});" />
onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});" /> -->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
@@ -76,11 +78,10 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/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/export-csv.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
<script type="text/javascript">
@@ -109,6 +110,8 @@
// loading();
var start = $("#beginDate").val();
var end = $("#endDate").val();
$("#beginDateh").val(start);
$("#endDateh").val(end);
if (start == '' || end == '' || end == null || start == null) {
window.location.reload();
} else {
@@ -118,10 +121,11 @@
// 局点信息
function showActionTransChart(xData,series) {
var nowDate=new Date();
Highcharts.setOptions({ global: { useUTC: false } });
var chart = Highcharts.chart('chart',
{
chart : {
// type: 'area',
type: 'area',
zoomType : 'x'
},
noData:{
@@ -163,8 +167,16 @@
},
}, */
xAxis: {
type:'category',
categories: xData,
type:'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
title: {
text: 'time',
align:'high',
@@ -179,6 +191,18 @@
},
min:0
},
tooltip: {
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
credits : {//是否有highcharts水印
enabled : false
},
@@ -216,16 +240,19 @@
var series = new Array();
var total = 0;
if(rs!=null){
$(rs.sum).each(function(i,d) {
/* $(rs.sum).each(function(i,d) {
total+=d
})
xData = rs.statTime;
data =rs.sum;
xData = rs.statTime; */
data =rs.result;
}
$("#total").val(JSON.stringify(total));
$("#total").val(JSON.stringify(rs.sum));
series.push({
name: 'sum',
data: data
data: data,
marker: {
enabled: false
}
});
showActionTransChart(xData,series);
closeTip();
@@ -241,12 +268,37 @@
}
(function(H) {
H.Chart.prototype.downloadXLS = function() {
var div = document.createElement('div'), xlsxRows = [], xlsxColumns = [];
var nowDate=new Date();
var start=$("#beginDateh").val();
var end=$("#endDateh").val();
/* var div = document.createElement('div'), xlsxRows = [], xlsxColumns = [];
div.style.display = 'none';
document.body.appendChild(div);
rows = this.getDataRows(true);
xlsxRows = H.map(rows.slice(1), function(row) {
document.body.appendChild(div); */
var rows = this.getDataRows(true);
/* 调用后台接口导出 */
var total=[];
var totalVlue = JSON.parse($("#total").val());
var map={};
$(rows).each(function(i,d){
// 去掉多余属性
delete d.name;
delete d.x;
delete d.xValues;
})
total.push('<spring:message code="report_total"/>',totalVlue);
rows.shift(); // 删除一个重复行
var heard = rows.shift(); // 删除一个重复行
rows.push(total)
var title=[];
title.push('<spring:message code="${searchAction}"></spring:message>',start+"--"+end);
map["titleTime"]=title;
map["heard"]=heard;
map["book"]=rows;
map["titleCode"]='<spring:message code="${searchAction}"></spring:message>'+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds();
var exports = JSON.stringify(map);
aJaxImportPost("${ctx}/export/ajaxExport",{"exports":exports});
/* xlsxRows = H.map(rows.slice(1), function(row) {
return H.map(row, function(column) {
return {
type : typeof column === 'number' ? 'number' : 'string',
@@ -283,7 +335,7 @@
sheet : {
data : xlsxRows
}
});
}); */
};
}(Highcharts));
@@ -291,9 +343,9 @@
H.Chart.prototype.downloadCSV = function() {
var rows = this.getDataRows(true);
var data=new Array();
var total = total = JSON.parse($("#total").val());
var total = JSON.parse($("#total").val());
$(rows).each(function (i,d){
if(d!=null){
if(d!=null&&i>0){
data.push({
num1:d[0],
num2:d[1]
@@ -301,11 +353,11 @@
}
})
data.push({
num1:"<spring:message code='total'/>",
num1:"<spring:message code='report_total'/>",
num2:total
})
var start = $("#beginDate").val();
var end = $("#endDate").val();
var start = $("#beginDateh").val();
var end = $("#endDateh").val();
exportCsv({
title:["<spring:message code='${searchAction}'/>",start+"--"+end],
titleForKey:["num1","num2"],

View File

@@ -27,8 +27,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
<!-- <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/> -->
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'beginDate',onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}' })" />
</div>
</div>
<div class="pull-left">
@@ -36,8 +38,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
<!-- <input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/> -->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
@@ -58,7 +62,7 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/themes/grid.js"></script> --%>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
@@ -91,6 +95,8 @@ function searchList(){
loading();
var start=$("#beginDate").val();
var end=$("#endDate").val();
$("#beginDateh").val(start);
$("#endDateh").val(end);
if(start==''||end==''||end==null||start==null){
window.location.reload();
}else{
@@ -100,9 +106,10 @@ function searchList(){
// 局点信息
function showActionTransChart(xData,series){
var nowDate=new Date();
Highcharts.setOptions({ global: { useUTC: false } });
var chart = Highcharts.chart('chart', {
chart:{
// type: 'area',
type: 'area',
zoomType: 'x'
},
exporting: {
@@ -133,15 +140,23 @@ function showActionTransChart(xData,series){
text: null
},
xAxis: {
type:'category',
categories: xData,
type:'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
title: {
text: 'time',
align:'high',
},
labels: {
rotation: -45, //倾斜的角度
},
}
},
yAxis: {
title: {
@@ -149,6 +164,18 @@ function showActionTransChart(xData,series){
},
min:0
},
tooltip: {
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
credits:{//是否有highcharts水印
enabled:false
},
@@ -185,10 +212,9 @@ function showActionTransChart(xData,series){
var series=new Array();
var total=[];
if(rs!=null&&rs.length>0){
xData=rs[0].statTime;
$(rs).each(function(i, d) {
total.push(
sum(d.count)
d.sum
)
var entrance="";
if(d!=null&&d.entranceId==1){
@@ -199,7 +225,10 @@ function showActionTransChart(xData,series){
}
series.push({
name: entrance,
data: d.count
data: d.result,
marker: {
enabled: false
}
});
})
}else{
@@ -226,15 +255,38 @@ function showActionTransChart(xData,series){
(function(H) {
var nowDate=new Date();
H.Chart.prototype.downloadXLS = function() {
var start=$("#beginDate").val();
var end=$("#endDate").val();
var start=$("#beginDateh").val();
var end=$("#endDateh").val();
var div = document.createElement('div'),
xlsxRows = [],
xlsxColumns = [];
div.style.display = 'none';
document.body.appendChild(div);
rows = this.getDataRows(true);
xlsxRows = H.map(rows.slice(1), function(row) {
/* 调用后台接口导出 */
var total = JSON.parse($("#total").val());
var map={};
$(rows).each(function(i,d){
// 去掉多余属性
delete d.name;
delete d.x;
delete d.xValues;
})
total.unshift('<spring:message code="report_total"/>');
rows.shift(); // 删除一个重复行
var heard = rows.shift(); // 删除一个重复行
rows.push(total)
var title=[];
title.push('<spring:message code="${searchAction}"></spring:message>',start+"--"+end);
map["titleTime"]=title;
map["heard"]=heard;
map["book"]=rows;
map["titleCode"]='<spring:message code="${searchAction}"></spring:message>'+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds();
var exports = JSON.stringify(map);
aJaxImportPost("${ctx}/export/ajaxExport",{"exports":exports});
/* xlsxRows = H.map(rows.slice(1), function(row) {
return H.map(row, function(column) {
return {
type: typeof column === 'number' ? 'number' : 'string',
@@ -281,7 +333,7 @@ function showActionTransChart(xData,series){
sheet: {
data: xlsxRows
}
});
}); */
};
}(Highcharts));
(function(H) {
@@ -301,11 +353,11 @@ function showActionTransChart(xData,series){
}
})
data.push({
num1:"<spring:message code='total'/>",
num1:"<spring:message code='report_total'/>",
num2:total
})
var start = $("#beginDate").val();
var end = $("#endDate").val();
var start = $("#beginDateh").val();
var end = $("#endDateh").val();
exportCsv({
title:["<spring:message code='${searchAction}'/>",start+"--"+end],
titleForKey:["num1","num2","num3"],

View File

@@ -42,8 +42,12 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="${beginDate}" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
<%-- <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="${beginDate}" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/> --%>
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
@@ -52,7 +56,7 @@
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="${endDate}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
<div class="pull-left">
@@ -115,7 +119,7 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/no-data-to-display.js"></script>
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
@@ -445,7 +449,17 @@ function protocolTypeChart(rs){
},
tooltip: {
headerFormat: '{series.name}<br>',
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>'
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>',
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
series: [{
name: "App",

View File

@@ -32,8 +32,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
<!-- <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/> -->
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'beginDate',onpicked:setTime(1),dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}' })" />
</div>
</div>
<div class="pull-left">
@@ -41,15 +43,17 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{H:24})}'});"/>
<!-- <input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{H:24})}'});"/> -->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(1) })"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
</form:form>
@@ -122,6 +126,8 @@ function searchList(){
loading();
var start=$("#beginDate").val();
var end=$("#endDate").val();
$("#beginDateh").val(start);
$("#endDateh").val(end);
if(start==''||end==''||end==null||start==null){
window.location.reload();
}else{
@@ -383,20 +389,51 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
}, */
series:ydata
});
}
(function(H) {
H.Chart.prototype.downloadXLS = function() {
var nowDate=new Date();
var start=$("#beginDate").val();
var end=$("#endDate").val();
var start=$("#beginDateh").val();
var end=$("#endDateh").val();
var div = document.createElement('div'),
xlsxRows = [],
xlsxColumns = [];
div.style.display = 'none';
document.body.appendChild(div);
rows = this.getDataRows(true);
xlsxRows = H.map(rows.slice(1), function(row) {
/* 调用后台接口导出 */
var total = [];
var map={};
$(rows).each(function(i,d){
if(d!=null){
if(i==0){
if(d[0].indexOf("Astana") != -1){
total=JSON.parse($("#total").val());
}
if(d[0].indexOf("Alamty") != -1){
total=JSON.parse($("#total2").val());
}
}
}
// 去掉多余属性
delete d.name;
delete d.x;
delete d.xValues;
})
total.unshift('<spring:message code="report_total"/>');
rows.shift(); // 删除一个重复行
var heard = rows.shift(); // 删除一个重复行
rows.push(total)
var title=[];
title.push('<spring:message code="traffic"></spring:message>',start+"--"+end);
map["titleTime"]=title;
map["heard"]=heard;
map["book"]=rows;
map["titleCode"]='<spring:message code="traffic"></spring:message>'+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds();
var exports = JSON.stringify(map);
aJaxImportPost("${ctx}/export/ajaxExport",{"exports":exports});
/* xlsxRows = H.map(rows.slice(1), function(row) {
return H.map(row, function(column) {
return {
type: typeof column === 'number' ? 'number' : 'string',
@@ -433,26 +470,23 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
b.push({
type:"string",
value:start+'--'+end
})
xlsxRows.unshift(b)
zipcelx({
}); */
// xlsxRows.unshift(b)
/* zipcelx({
filename: '<spring:message code="traffic"></spring:message>'+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds(),
sheet: {
data: xlsxRows
}
});
}); */
};
}(Highcharts));
function setTime(){
/* function setTime(){
var chooseDate=new Date($('#beginDate').val());
chooseDate=chooseDate.setDate(chooseDate.getDate()+1);
var modifyTime=new Date(chooseDate);
$('#endDate').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(H) {
H.Chart.prototype.downloadCSV = function() {
var rows = this.getDataRows(true);
@@ -475,13 +509,12 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){
}
}
})
console.log(total)
data.push({
num1:"<spring:message code='total'/>",
num1:"<spring:message code='report_total'/>",
num2:total
})
var start = $("#beginDate").val();
var end = $("#endDate").val();
var start = $("#beginDateh").val();
var end = $("#endDateh").val();
exportCsv({
title:["<spring:message code='traffic'/>",start+"--"+end],
titleForKey:["num1","num2","num3"],

View File

@@ -65,15 +65,20 @@ $(document).ready(function(){
var xData=new Array();
var series=new Array();
var total = 0;
console.log(rs)
if(rs!=null&&rs.length>0){
xData=rs[0].statTime;
/* xData=rs[0].statTime;
$(rs[0].count).each(function(i,d) {
total+=d
})
})*/
total=rs[0].sum;
series.push({
name: 'unique',
data: rs[0].count
});
data: rs[0].result,
marker: {
enabled: false
}
});
}else{
series.push({
name: 'unique',
@@ -98,7 +103,7 @@ function showDomainTrans(xData,series){
var domainName= $("#domainName").val();
var chart = Highcharts.chart('chart', {
chart:{
// type: 'area',
type: 'area',
zoomType: 'x'
},
exporting: {
@@ -129,8 +134,16 @@ function showDomainTrans(xData,series){
text: domainName
},
xAxis: {
type:'category',
categories: xData,
type:'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
title: {
text: 'time',
align:'high',
@@ -148,6 +161,18 @@ function showDomainTrans(xData,series){
legend: {
enabled:false
},
tooltip: {
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
plotOptions: {
series: {
lineWidth:1,

View File

@@ -32,8 +32,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
@@ -42,7 +44,7 @@
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
@@ -92,7 +94,7 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
<script type="text/javascript">

View File

@@ -29,18 +29,26 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
<!-- <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});" />
</div>
-->
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
<!-- <input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});" />
</div>
-->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
<div class="pull-left">
@@ -107,7 +115,7 @@
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/themes/grid.js"></script> --%>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
@@ -179,9 +187,10 @@ function searchList(){
function showIpActiveChart(xData,series){
var nowDate=new Date();
Highcharts.setOptions({ global: { useUTC: false } });
var chart = Highcharts.chart('chart', {
chart:{
//type: 'area',
type: 'area',
zoomType: 'x'
},
exporting: {
@@ -206,12 +215,20 @@ function showIpActiveChart(xData,series){
},
xAxis: {
//tickInterval:tickInterval,
type:'category',
categories: xData,
type:'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
title: {
text: 'time',
align:'high',
},
}
},
noData:{
style: {//设置字体颜色
@@ -233,8 +250,19 @@ function showIpActiveChart(xData,series){
}
},
tooltip: {
pointFormat: '<b><spring:message code="ip"/>:</b>{series.name} <b><spring:message code="count"/>:</b>{point.y}<br/>'
},
pointFormat: '<b><spring:message code="ip"/>:</b>{series.name} <b><spring:message code="count"/>:</b>{point.y}<br/>',
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
yAxis: {
title: {
text: 'bytes'
@@ -266,16 +294,17 @@ function showIpActiveChart(xData,series){
var xData=new Array();
var series=new Array();
if(rs!=null&&rs.length>0){
xData=rs[0].statTime;
$(rs).each(function(i, d) {
total.push(
sum(d.linkNum)
)
series.push({
name: d.ipAddr,
data: d.linkNum
});
})
total.push(d.sum)
series.push({
name: d.ipAddr,
data: d.result,
marker: {
enabled: false
}
});
})
console.log(rs)
}else{
series.push({
name: " ",

View File

@@ -28,18 +28,25 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
<!-- <input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
</div>
-->
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
</div>
<!-- <input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/> -->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
<div class="pull-left">
@@ -57,7 +64,7 @@
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/themes/grid.js"></script> --%>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
@@ -111,9 +118,10 @@ function searchList(){
function showPortActiveChart(xData,series){
var nowDate=new Date();
Highcharts.setOptions({ global: { useUTC: false } });
var chart = Highcharts.chart('chart', {
chart:{
// type: 'area',
type: 'area',
zoomType: 'x'
},
exporting: {
@@ -160,8 +168,16 @@ function showPortActiveChart(xData,series){
text: null
},
xAxis: {
type:'category',
categories: xData,
type:'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
title: {
text: 'time',
align:'high',
@@ -172,6 +188,18 @@ function showPortActiveChart(xData,series){
text: 'bytes'
}
},
tooltip: {
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
credits:{//是否有highcharts水印
enabled:false
},
@@ -199,14 +227,16 @@ function showPortActiveChart(xData,series){
var series=new Array();
var total = [];
if(rs!=null&&rs.length>0){
xData=rs[0].statTime;
$(rs).each(function(i, d) {
total.push(
sum(d.sum)
d.sum
)
series.push({
name: d.port,
data: d.sum
data: d.result,
marker: {
enabled: false
}
});
})
}else{

View File

@@ -32,8 +32,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
@@ -42,7 +44,7 @@
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
<div class="pull-left">
@@ -105,7 +107,7 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/no-data-to-display.js"></script>
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
@@ -440,8 +442,18 @@ function protocolTypeChart(rs){
},
tooltip: {
headerFormat: '{series.name}<br>',
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>'
},
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>',
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
series: [{
name: "Protocol",
colorByPoint: true,

View File

@@ -46,10 +46,14 @@
<span class="selectpicker form-control"><spring:message
code="begin_date" /></span>
</div>
<input id="beginDate" name="beginDate" type="text"
<!-- <input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control" style="width:166px"
value=""
onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
onclick="WdatePicker({onpicked:setTime,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/> -->
<input id="beginDate" name="beginDate" type="text"
readonly="readonly" class="form-control Wdate input-medium"
value=""
onclick="WdatePicker({onpicked:setTime(7),dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')||currentTime()}'});"/>
</div>
</div>
<div class="pull-left">
@@ -58,9 +62,11 @@
<span class="selectpicker form-control"><spring:message
code="end_date" /></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly"
<!-- <input id="endDate" name="endDate" type="text" readonly="readonly"
class="form-control" value="" style="width:166px"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/>
onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'#F{$dp.$D(\'beginDate\',{d:7})}'});"/> -->
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({el:'endDate',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:getMaxDate(7) })"/>
</div>
</div>
@@ -162,7 +168,7 @@
</div>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.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/no-data-to-display.js"></script>
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
@@ -529,7 +535,17 @@ function webTypeChart(rs){
},
tooltip: {
headerFormat: '{series.name}<br>',
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>'
pointFormat: '{point.name}: <b>{point.percentage:.2f}%</b>',
dateTimeLabelFormats: {
millisecond: '%Y-%m-%d %H:%M:%S',
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M:%S',
hour: '%Y-%m-%d %H:%M:%S',
day: '%Y-%m-%d %H:%M:%S',
week: '%Y-%m-%d %H:%M:%S',
month: '%Y-%m-%d %H:%M:%S',
year: '%Y-%m-%d %H:%M:%S'
}
},
series: [{
name: "Domain",

View File

@@ -193,7 +193,7 @@ function changeFrameHeight() {
var paddingHeight = 11;
//update for dynamicHomePage E
//iframe.contents().find(".page-content").addClass("page-content-body");
iframe.contents().find(".page-content").addClass("page-content-body");
iframe.prop("height",clientHeight-headerHeight-barHeight-footerHeight-paddingHeight);
menuHeight();
}

View File

@@ -111,8 +111,10 @@
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<%-- <input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/> --%>
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/>
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
</div>
</div>
<div class="pull-left">
@@ -121,7 +123,7 @@
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'searchFoundStartTime\')}',maxDate:'#F{$dp.$D(\'searchFoundStartTime\',{d:1})}'});"/>
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
</div>
</div>
<div class="pull-left">

View File

@@ -74,13 +74,13 @@ $(document).ready(function() {
loading('<spring:message code="onloading"/>');
var suffix = $(this).data("export-type");
totaltb(1,-1);
//totaltb(1,-1);
getExportHead();
var te = $(".in table").tableExport({
headings:true,
footers:true,
formats:[suffix],
fileName: getFileName(),
fileName: getFileName('csv'),
bootstrap:false
});
$(".exportFirst").remove();
@@ -114,16 +114,21 @@ $(document).ready(function() {
}
function getFileName() {
function getFileName(type) {
var cfgName = $("[name=cfgName2]").val() + "_";
if ("${bean.serviceId}") {
var action = $("[name=serviceId]").find('[value=' + "${bean.serviceId}" + ']').text() + "_";
} else {
var action = "";
}
var reportType = $("[name=reportType]").find('[value=' + "${bean.reportType}" + ']').text() + "_";
var reportType = $("[name=reportType]").find('[value=' + "${bean.reportType}" + ']').text()
//var reportTime = "${bean.reportTime}";
return cfgName + action + reportType + getStringFormatDate();
if(type=='xlsx'){
return cfgName + action + reportType;
}else{
return cfgName + action + reportType + "_"+ getStringFormatDate();
}
}
function getStringFormatDate() {
@@ -353,10 +358,11 @@ function customColumnClick(){
if(rows.length > 1){
var trtotal="";
if(reportBusinessType=="src_ip_report"){
trtotal+="<td colspan='2' style='text-align: left;' ><spring:message code='report_total' /></td>";
trtotal+="<td style='text-align: left;' ><spring:message code='report_total' /></td><td></td>";
}else{
trtotal+="<td style='text-align: left;'><spring:message code='report_total' /></td>";
}
for (var k = 0; k < list.length; k++) {
trtotal+="<td>"+list[k]+"</td>";
}
@@ -437,8 +443,76 @@ function customColumnClick(){
iframe: true,
append: null
});
pagination();
pagination(30);
}
function getExport(url){
loading('<spring:message code="onloading"/>');
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";
}
var timeType = $("#reportType").find("option:selected").text();
var time = $("#intype").val();
var tabName = $("#liwhite").find("li[class='active'] a").attr("title");
var titleCode= getFileName('xlsx');
var heardTime="<spring:message code='${bean.cfgName}'/> "+timeType+""+time+" "+tabName;
pagination(99999999);
var tb=document.getElementById(tableId);
var rows=tb.rows;
var list=new Array();
list.splice(0,list.length);
var column=[]; //获取标题
var index=[];//获取数据列下标
var num=0;
$("#"+tableId+" thead tr th").each(function(){
if($(this).is(":visible")){
column.push($(this).text().trim());
index.push(num);
}
num++;
});
for(var i=1 ; i<rows.length;i++){
var rowMap=[];
for (var j = 0; j <index.length ; j++) {
var n=index[j];
if(rows[i].cells[n].innerHTML.trim().indexOf("...") !=-1){
if(rows[i].cells[n].title.length > 20){
rowMap.push(rows[i].cells[n].title);
}else{
rowMap.push(rows[i].cells[n].innerHTML.trim());
}
}else{
rowMap.push(rows[i].cells[n].innerHTML.trim());
}
}
list[i-1]=rowMap;
}
var map={};
map.heard=column;
map.book=list;
map.titleTime=heardTime;
map.titleCode=titleCode;
var exports=JSON.stringify(map);
aJaxImportPost(url,{"exports":exports});
pagination(30);
closeTip();
}
</script>
<style type="text/css">
li{
@@ -447,7 +521,7 @@ white-space:nowrap;
</style>
</head>
<body>
<div class="page-content page-content-body">
<div class="page-content">
<%-- <div class="theme-panel hidden-xs hidden-sm">
<c:forEach items="${serviceList}" var="service" varStatus="status">
<c:if test="${(service.action ne 128) && (service.serviceId ne 37) && (service.serviceId ne 149)}" >
@@ -482,7 +556,6 @@ white-space:nowrap;
<form:form id="searchForm" modelAttribute="bean" action="${ctx}/report/list" method="post" class="form-search">
<input id="functionId" name="functionId" type="hidden" value="${bean.functionId}"/>
<input name="cfgName" type="hidden" value="${bean.cfgName}"/>
<input name="cfgName2" type="hidden" value="<spring:message code="${bean.cfgName}"/>"/>
<input name="serviceId2" type="hidden" value="<spring:message code="${bean.serviceId}"/>"/>
@@ -552,7 +625,7 @@ white-space:nowrap;
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><a href="javascript:;" class="export-btn" data-export-type="xlsx"><i class="fa fa-download"> <spring:message code="Excel"/></i></a></li>
<li><a href="javascript:;" onclick="getExport('${ctx}/export/ajaxExport')" ><i class="fa fa-download"> <spring:message code="Excel"/></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>
</div>

View File

@@ -277,20 +277,19 @@ License: www.highcharts.com/license
downloadPNG: {
textKey: "downloadPNG",
onclick: function () {
console.log(this)
this.legend.itemStyle.color='#000000'
this.exportChartLocal()
this.legend.itemStyle.color='#ffffff'
console.log('ok')
console.log(this)
}
},
downloadJPEG: {
textKey: "downloadJPEG",
onclick: function () {
this.legend.itemStyle.color='#000000'
this.exportChartLocal({
type: "image/jpeg"
})
this.legend.itemStyle.color='#ffffff'
}
},
downloadSVG: {

View File

@@ -6,13 +6,26 @@ $(function(){
getTotalLog();
});
function setTime(){
/*function setTime(){
var chooseDate=new Date($('#beginDate').val());
chooseDate=chooseDate.setDate(chooseDate.getDate()+7);
var modifyTime=new Date(chooseDate);
$('#endDate').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 setTime(dayData){
var useTime=$('#beginDate').val();
if(useTime==''){
return;
}
var chooseDate=new Date(useTime);
chooseDate=chooseDate.setDate(chooseDate.getDate()+dayData);
var now =new Date();
if(now.getTime()<new Date(chooseDate).getTime()){
chooseDate=now;
}
var modifyTime=new Date(chooseDate);
$('#endDate').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 setTimee(){
var chooseDate=new Date($('#searchFoundStartTime').val());
chooseDate=chooseDate.setDate(chooseDate.getDate()+1);
@@ -21,6 +34,68 @@ function setTimee(){
}
function currentTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
var hh = now.getHours();
var mm = now.getMinutes();
var clock = year + "-";
if (month < 10) clock += "0";
clock += month + "-";
if (day < 10) clock += "0";
clock += day + " ";
if (hh < 10) clock += "0";
clock += hh + ":";
if (mm < 10) clock += '0';
clock += mm;
return (clock);
}
function getMaxDate(day){
var clock=currentTime();
var dt;
var times=0;
dt=$("#beginDate").val();
if(dt!=''){
times =Date.parse(dt.replace(/-/g,'/'))+day*24*60*60*1000;//时间间隔为10天
if(times-Date.parse(clock.replace(/-/g,'/'))<0){
var d1 = new Date(times);
var year = d1.getFullYear();
var month = d1.getMonth() + 1; //月份以0开头
var day = d1.getDate();
var hh = d1.getHours();
var mm = d1.getMinutes();
var clock = year + "-";
if (month < 10) clock += "0";
clock += month + "-";
if (day < 10) clock += "0";
clock += day + " ";
if (hh < 10) clock += "0";
clock += hh + ":";
if (mm < 10) clock += '0';
clock += mm;
}
}
return clock;
}
var getTotalLog=function(){
/*
td需要配置属性有audit,functionIdcompileIdaction
@@ -208,3 +283,185 @@ var switchMenu = function(topMenuId,functionId,oldMenuName){
});
//loading('onloading');
}
/*======================时间验证方法start===========================*/
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
if(strIsBlank(granule)||strIsBlank(unit)){
console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
console.log("时间输入框选择器为空");
return;
}
if(strIsBlank(formate)){
formate="yyyy-MM-dd hh:mm:ss"
}
if(future==null || future==undefined){
future=false;
}
var startTimeVal=$(startTimeSelector).val();
var endTimeVal=$(endTimeSelector).val();
var startTime;
var endTime;
var diff=getTimeDiff(granule,unit);//得到时间粒度差值
if(!strIsBlank(endTimeVal)){
endTime=new Date(endTimeVal);
var currentTime=new Date().getTime();
if(!future&&endTime.getTime()>currentTime){ //endTime不能是未来时间
endTime=new Date();
}
if(strIsBlank(startTimeVal)){
startTime=new Date(endTime.getTime()-diff);
}else{//startTime和endTime都不为空
startTime=new Date(startTimeVal);
if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//startTime不在时间粒度之内
startTime=new Date(endTime.getTime()-diff);
}
}
}else{
if(strIsBlank(startTimeVal)){//startTime and endTime 都为空
endTime=new Date();
startTime=new Date(endTime.getTime()-diff);
}else{//startTime 不为空endTime为空
setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
$(startTimeSelector).val(dateFtt(formate,startTime));
$(endTimeSelector).val(dateFtt(formate,endTime));
}
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
if(strIsBlank(granule)||strIsBlank(unit)){
console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
console.log("时间输入框选择器为空");
return;
}
if(strIsBlank(formate)){
formate="yyyy-MM-dd hh:mm:ss"
}
if(future==null || future==undefined){
future=false;
}
var startTimeVal=$(startTimeSelector).val();
var endTimeVal=$(endTimeSelector).val();
var startTime;
var endTime;
var diff=getTimeDiff(granule,unit);//得到时间粒度差值
if(!strIsBlank(startTimeVal)){
startTime=new Date(startTimeVal);
var currentTime=new Date().getTime();
if(!future&&startTime.getTime()>currentTime){//startTime是一个超过当前时间值
startTime=new Date(currentTime-diff);
}
if(strIsBlank(endTimeVal)){
if(startTime.getTime()+diff>currentTime){
endTime=new Date();
}else{
endTime=new Date(startTime.getTime()+diff);
}
}else{//startTime和endTime都不为空
endTime=new Date(endTimeVal);
if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//endTime不在时间粒度之内
if(startTime.getTime()+diff>currentTime){
endTime=new Date();
startTime=new Date(endTime.getTime()-5*60*1000);
}else{
endTime=new Date(startTime.getTime()+diff);
}
}
}
}else{
if(strIsBlank(endTimeVal)){//startTime和endTime 都为空
endTime=new Date();
startTime=new Date(endTime.getTime()-diff);
}else{
setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
$(startTimeSelector).val(dateFtt(formate,startTime));
$(endTimeSelector).val(dateFtt(formate,endTime));
}
function strIsBlank(obj){
if(obj==null || obj==undefined|| obj==''){
return true;
}else{
return false;
}
}
/*得到时间差值 单位毫秒*/
function getTimeDiff(granule,unit){
var diff=0;
switch(unit){
case 'h'://小时为单位
diff=granule*60*60*1000;
break;
case 'd'://天为单位
diff=granule*24*60*60*1000;
break;
case 'w'://周为单位
diff=granule*7*24*60*60*1000;
break;
case 'm'://月为单位
diff=granule*30*24*60*60*1000;
break;
default:
diff=granule*60*60*1000;
}
return diff;
}
function dateFtt(fmt,date){
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
/*======================时间验证方法end===========================*/

View File

@@ -4,10 +4,78 @@
chart: {
events: {
beforePrint: function () {
chart_main.xAxis[0].update({
labels:{
style:{
color:'#000000'
}
}
})
chart_3.xAxis[0].update({
labels:{
style:{
color:'#000000'
}
}
})
chart_main.yAxis[0].update({
labels:{
style:{
color:'#000000'
}
}
})
chart_3.yAxis[0].update({
title: {
style: {//设置字体颜色
color: '#000000',
fontFamily:'Microsoft YaHei'
}
},
labels:{
style:{
color:'#000000'
}
}
})
$('.highcharts-legend text').css('color','#000000');
$('.highcharts-legend text').css('fill','#000000');
},
afterPrint: function () {
chart_3.xAxis[0].update({
labels:{
style:{
color:'#ffffff'
}
}
})
chart_main.xAxis[0].update({
labels:{
style:{
color:'#ffffff'
}
}
})
chart_main.yAxis[0].update({
labels:{
style:{
color:'#ffffff'
}
}
})
chart_3.yAxis[0].update({
title: {
style: {//设置字体颜色
color: '#ffffff',
fontFamily:'Microsoft YaHei'
}
},
labels:{
style:{
color:'#ffffff'
}
}
})
$('.highcharts-legend text').css('color','#ffffff');
$('.highcharts-legend text').css('fill','#ffffff');
}
@@ -67,6 +135,9 @@
allowHTML:true,
filename:'Protocol-Type'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
@@ -240,7 +311,7 @@
data: [pktNum,byteLen],
});*/
});
var chart = Highcharts.chart('chart_main', {
chart_main = Highcharts.chart('chart_main', {
chart: {
backgroundColor: 'rgba(255, 255, 255, 0)',
plotBackgroundColor:null,
@@ -261,14 +332,32 @@
allowHTML:true,
filename:'Active-IP'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
allowOverlap: true, // 允许数据标签重叠
},
},
}
color:'#000000'
}
}
},
xAxis: [{
categories: xData,
labels: {
style: {
color: '#000000'
}
}
}],
yAxis: [{
labels: {
style: {
color: '#000000'
}
}
}]
},
buttons: {
contextButton: {
@@ -292,7 +381,14 @@
fill: '#51586f'
}
}
}
},
menuItems: [
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[0],// 打印
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[1],// jpeg
'downloadPNG','downloadPDF',
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[4],// excel
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[3],// cvs
]
}
}
},
@@ -466,7 +562,7 @@
data: [pktNum,byteLen],
});*/
});
var chart = Highcharts.chart('chart_3',{
chart_3 = Highcharts.chart('chart_3',{
chart: {
backgroundColor: 'rgba(255, 255, 255, 0)',
plotBackgroundColor:null,
@@ -485,7 +581,43 @@
exporting: {
allowHTML:true,
filename:'App'+addDateName(),
buttons: exportingButton('#415262')
buttons: exportingButton('#415262'),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
color:'#000000'
}
}
},
xAxis: [{
categories: xData,
labels: {
style: {
color: '#000000'
}
}
}],
yAxis: [{
title: {
text: unit,
align:'high',
style: {//设置字体颜色
color: '#000000',
fontFamily:'Microsoft YaHei'
}
},
labels: {
style: {
color: '#000000'
}
}
}]
}
},
noData:{
style: {//设置字体颜色
@@ -638,6 +770,9 @@ function echart_2(rs){
allowHTML:true,
filename:'BS'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
@@ -791,6 +926,9 @@ function echart_5(rs){
allowHTML:true,
filename:'BS'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
@@ -939,6 +1077,9 @@ function echart_4(rs){
allowHTML:true,
filename:'Website'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
@@ -1086,6 +1227,9 @@ function echart_6(rs){
allowHTML:true,
filename:'Website'+addDateName(),
chartOptions: {
chart:{
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {
@@ -1241,6 +1385,9 @@ function echart_topic_domain(rs){
allowHTML:true,
filename:'Service'+addDateName(),
chartOptions: {
chart: {
backgroundColor: 'rgba(255, 255, 255, 1)'
},
plotOptions: {
series: {
dataLabels: {

View File

@@ -112,4 +112,24 @@ Date.prototype.Format = function (fmt) {
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
}
function aJaxImportPost(url, params) {
// 创建form元素
var temp_form = document.createElement("form");
// 设置form属性
temp_form .action = url;
temp_form .target = "_self";
temp_form .method = "post";
temp_form .style.display = "none";
// 处理需要传递的参数
for (var x in params) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = params[x];
temp_form .appendChild(opt);
}
document.body.appendChild(temp_form);
// 提交表单
temp_form .submit();
}