update
This commit is contained in:
205
ebpm-process-manage/webapp/pages/processReport/actAnalysis.jsp
Normal file
205
ebpm-process-manage/webapp/pages/processReport/actAnalysis.jsp
Normal file
@@ -0,0 +1,205 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>节点分析</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/actAnalysisDetail.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#actUserTime").text(item.actUserTime);
|
||||
$("#doTaskAct").text(item.doTaskAct);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart:{
|
||||
type: item.id == 'actAvgUserTimeTotal'?'bar':'column'
|
||||
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: item.id == 'actAvgUserTimeTotal'?0:-30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return item.id=="actAvgUserTimeTotal"?this.value+"h":this.value;
|
||||
},
|
||||
rotation: item.id == 'actAvgUserTimeTotal'?-30:0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: item.id == 'actAvgUserTimeTotal'?'<b>节点平均耗时:{point.y}(小时)</b>':'<b>待审流程最多的节点:{point.y}(个)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
stacking: 'normal',
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
if(item.id=="actAvgUserTimeTotal"){
|
||||
window.location.href="${ctx}/flow/monitor/actAvgUserTimePage.do?appId="+event.point.id;
|
||||
}else{
|
||||
window.location.href="${ctx}/flow/monitor/actDoProcessMaxPage.do?appId="+event.point.id;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link active" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-5.png" /></div>
|
||||
<div class="cell-text"><p class="title">平台耗时最长的节点</p><p class="text" id="actUserTime"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-8.png" /></div>
|
||||
<div class="cell-text"><p class="title">待审流程最多的节点</p><p class="text" id="doTaskAct"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">平台耗时最长的节点</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="actAvgUserTimeTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">待审流程最多的节点</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="actUserTimeTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,254 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>平台耗时最长的节点</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/actAvgUserTimeDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#modelTotal").text(item.modelTotal);
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#actUserTime").text(item.actUserTime);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
scrollbar: {
|
||||
enabled: true
|
||||
},
|
||||
/* xAxis: {
|
||||
categories: eval(item.list),
|
||||
min: 5 //3.设置显示个数
|
||||
}, */
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: -10 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
/* scrollbar: {
|
||||
enabled: true,
|
||||
showFull: false
|
||||
}, */
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return this.value+"h";
|
||||
},
|
||||
//rotation: -30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>平均耗时:{point.y}(小时)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&actDefId="+event.point.id,"平台耗时最长的节点");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link active" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/actAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计人数</p><p class="text" id="modelTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">平台耗时最长的节点</p><p class="text" id="actUserTime"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName }平台耗时最长的节点</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="actAvgUserTimeTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,237 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>待审流程最多的节点</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/actDoProcessDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#staffTotal").text(item.staffTotal);
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#doTaskAct").text(item.doTaskAct);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: -30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>待办数:{point.y}(个)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&actDefId="+event.point.id,"待审流程最多的节点");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link active" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/actAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计人数</p><p class="text" id="staffTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">待办流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">待审流程最多的节点</p><p class="text" id="doTaskAct"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}待审流程最多的节点</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="doTaskActTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
318
ebpm-process-manage/webapp/pages/processReport/analysis.jsp
Normal file
318
ebpm-process-manage/webapp/pages/processReport/analysis.jsp
Normal file
@@ -0,0 +1,318 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>流程分析</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/analysisDetail.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#mostDaiBanProcess").text(item.daiBan);
|
||||
$("#avgUserTimeprocess").text(item.avgUserTimeprocess);
|
||||
$("#overTimeprocess").text(item.overTimeprocess);
|
||||
$("#createMostprocess").text(item.createMostprocess);
|
||||
return;
|
||||
}else if (item.id =="overTimeTotal" || item.id == "createProcessTotal"){
|
||||
this.getbarDatas(item);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: 0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return item.id=="avgUserTimeTotal"?this.value+"h":this.value;
|
||||
},
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: item.id=="daiBanTotal"?'待办最多的流程数量:{point.y}(个)':'平均审批耗时时长:{point.y}(小时)',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
if(item.id=="daiBanTotal"){
|
||||
window.location.href="${ctx}/flow/monitor/analysisDetailByAppId.do?appId="+event.point.id;
|
||||
}else{
|
||||
window.location.href="${ctx}/flow/monitor/avgUserTimePage.do?appId="+event.point.id;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
function getbarDatas(item){
|
||||
var colors = item.id=="overTimeTotal"?['#2194ff','#37c461']:['#face1d','#2194ff','#37c461'];
|
||||
//['#face1d', '#2194ff', '#37c461','#88e9ec'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
categories: eval(item.list)
|
||||
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return item.id=="overTimeTotal"?this.value+"h":this.value;
|
||||
},
|
||||
rotation: item.id=="overTimeTotal"?-30:0 // 设置轴标签旋转角度
|
||||
|
||||
},
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
/* 图例显示顺序反转
|
||||
* 这是因为堆叠的顺序默认是反转的,可以设置
|
||||
* yAxis.reversedStacks = false 来达到类似的效果
|
||||
*/
|
||||
reversed: true
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat:'{point.title}',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
stacking: 'normal',
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
if(item.id=="overTimeTotal"){
|
||||
window.location.href="${ctx}/flow/monitor/overTimePage.do?appId="+event.point.id;
|
||||
}else{
|
||||
window.location.href="${ctx}/flow/monitor/createMaxPorcessPage.do?appId="+event.point.id;
|
||||
//openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&processDefName="+event.point.id,"流程创建数量排名");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link active" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-1.png" /></div>
|
||||
<div class="cell-text"><p class="title">待办最多的流程</p><p class="text" id="mostDaiBanProcess"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-2.png" /></div>
|
||||
<div class="cell-text"><p class="title">超时处理最多的流程</p><p class="text" id="overTimeprocess"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table" >
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-3.png" /></div>
|
||||
<div class="cell-text"><p class="title">创建量最高的流程</p><p class="text" id="createMostprocess"></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-4.png" /></div>
|
||||
<div class="cell-text"><p class="title">平均审批耗时最长的流程</p><p class="text" id="avgUserTimeprocess"></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">待办最多的流程</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="daiBanTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">超时处理最多的流程</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="overTimeTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
</div><!--row-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">流程创建数量排名</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="createProcessTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
<div class="col-sm-6">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">平均审批耗时最长的流程</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="avgUserTimeTotal" style="min-width:500px;height:300px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,237 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>分析详情</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/appProcessDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#staffTotal").text(item.staffTotal);
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#doTaskAct").text(item.doTaskAct);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: -30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>待办数:{point.y}(个)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&processDefName="+event.point.id,"待办最多的流程");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link active" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/processAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计人数</p><p class="text" id="staffTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">待办流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">待办最多的流程</p><p class="text" id="doTaskAct"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}待办最多的流程</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="doTaskActTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
371
ebpm-process-manage/webapp/pages/processReport/appCount.jsp
Normal file
371
ebpm-process-manage/webapp/pages/processReport/appCount.jsp
Normal file
@@ -0,0 +1,371 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>租户统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
//加载待迁移的流程待办
|
||||
readytaskTransferList();
|
||||
//加载近一周的流程异常
|
||||
readyerrorList();
|
||||
//加载待迁移的流程资源
|
||||
//readyerrorResource();
|
||||
//加载近一天的流程运行
|
||||
readyinfoList();
|
||||
|
||||
//加载流程实例
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/appprocessModelCountIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processModel").hide();
|
||||
$("#processModelLoading").append("<div id='processModelCountIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data);
|
||||
$("#processModel").show();
|
||||
$("#processModel").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#processModelCountIndex").fadeOut();
|
||||
}
|
||||
});
|
||||
//加载流程定义
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/appprocessDefCountIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processDef").hide();
|
||||
$("#processDefLoading").append("<div id='processDefCountIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data);
|
||||
$("#processDef").show();
|
||||
$("#processDef").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#processDefCountIndex").fadeOut();
|
||||
}
|
||||
});
|
||||
//加载流程历史
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/apphistoryCountIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processHistory").hide();
|
||||
$("#processHistoryLoading").append("<div id='historyCountIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data);
|
||||
$("#processHistory").show();
|
||||
$("#processHistory").text(data.count);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#historyCountIndex").fadeOut();
|
||||
}
|
||||
});
|
||||
//加载流程任务待办
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/apptaskCountIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processTask").hide();
|
||||
$("#processTaskLoading").append("<div id='taskCountIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data);
|
||||
$("#processTask").show();
|
||||
$("#processTask").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#taskCountIndex").fadeOut();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function readytaskTransferList(){
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/apptaskTransferIndex.do?dataType=1",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processTransfer").hide();
|
||||
$("#TransferLoading").append("<div id='taskTransferIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
$("#processTransfer").show();
|
||||
$("#processTransfer").text(data.count);
|
||||
|
||||
}
|
||||
,
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#taskTransferIndex").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
function readyerrorList(){
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/apperrorListIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processError").hide();
|
||||
$("#processErrorLoading").append("<div id='errorListIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data);
|
||||
$("#processError").show();
|
||||
$("#processError").text(data.count);
|
||||
// binderrorList(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#errorListIndex").fadeOut();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function readyinfoList(){
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/appinfoListIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processRun").hide();
|
||||
$("#processRunLoading").append("<div id='infoListIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log(data.count);
|
||||
$("#processRun").show();
|
||||
$("#processRun").text(data.count);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#infoListIndex").fadeOut();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function readyerrorResource(){
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/apperrorResourceIndex.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#processRes").hide();
|
||||
$("#processResLoading").append("<div id='errorResourceIndex' align='center' class='bigpic'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#processRes").show();
|
||||
$("#processRes").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#errorResourceIndex").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#processRes").show();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
/*等待进度大css*/
|
||||
.bigpic{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url("${ctx}/resource/css/icons/loading.gif");
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
left: 0px;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="row" style="margin: 10px;">
|
||||
<div class="col-xs-3" style="padding-left: 0;padding-right: 6px;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
流程定义
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processDefLoading" style="height: 170px;">
|
||||
<a id="processDef" href="${ctx }/procDefMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3" style="padding-left: 6px;padding-right: 6px;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
流程实例
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processModelLoading" style="height: 170px;">
|
||||
<a id="processModel" href="${ctx }/procInstMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-3" style="padding-left: 6px;padding-right: 6px;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
流程任务
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processTaskLoading" style="height: 170px;">
|
||||
<a id="processTask" href="${ctx }/taskMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-3" style="padding-left: 6px;padding-right: 0;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
流程历史
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processHistoryLoading" style="height: 170px;">
|
||||
<a id="processHistory" href="${ctx }/procInstMgr/historyList.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin: 10px;">
|
||||
|
||||
<div class="col-xs-4" style="padding-left: 0;padding-right: 6px;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
近一天的流程运行
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processRunLoading" style="height: 170px;">
|
||||
<a id="processRun" href="${ctx }/processErrorLog/infoList.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: green;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4" style="padding-left: 6px;padding-right: 6px;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
近一周的流程异常
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="processErrorLoading" style="height: 170px;">
|
||||
<a id="processError" href="${ctx }/processErrorLog/errorList.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: red;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4" style="padding-left: 6px;padding-right: 0;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5>
|
||||
待迁移的流程待办
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body" id="TransferLoading" style="height: 170px;">
|
||||
<a id="processTransfer" href="${ctx }/taskMgr/taskTransferList.do?dataType=1" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: orange;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,242 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>平均耗时</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/avgUserTimeDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#modelTotal").text(item.modelTotal);
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#actUserTime").text(item.actUserTime);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: 0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return this.value+"h";
|
||||
},
|
||||
},
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>平均审批耗时:{point.y}(小时)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&processDefName="+event.point.id,"平均审批耗时最长的流程");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link active" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/processAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计流程定义数量</p><p class="text" id="modelTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">耗时流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">平均耗时最长的流程</p><p class="text" id="actUserTime"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}平均耗时最长的流程</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="actAvgUserTimeTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,246 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>创建最多的流程详情 </title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/createMaxProcessDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#total").text(item.total);
|
||||
$("#deal").text(item.deal);
|
||||
$("#un_deal").text(item.un_deal);
|
||||
$("#cancle").text(item.cancle);
|
||||
return;
|
||||
}
|
||||
var colors = ['#face1d','#2194ff','#37c461'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
categories: eval(item.list),
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
labels: {
|
||||
|
||||
rotation:0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
/* 图例显示顺序反转
|
||||
* 这是因为堆叠的顺序默认是反转的,可以设置
|
||||
* yAxis.reversedStacks = false 来达到类似的效果
|
||||
*/
|
||||
reversed: true
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>{point.title}</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
stacking: 'normal',
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/taskMgr/list.do?tenantId="+event.point.appId+"&processDefName="+event.point.id,"流程创建数量排名");
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link active" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/processAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">总共发起的流程</p><p class="text" id="total"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">已结束的流程</p><p class="text" id="deal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">已废弃的流程</p><p class="text" id="cancle"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">运行中的流程</p><p class="text" id="un_deal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}流程创建数量排名</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="createProcessTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
330
ebpm-process-manage/webapp/pages/processReport/index.jsp
Normal file
330
ebpm-process-manage/webapp/pages/processReport/index.jsp
Normal file
@@ -0,0 +1,330 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>租户统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getProcessData();
|
||||
getProcessMonitorTop();
|
||||
getSysLoadData();
|
||||
});
|
||||
function getProcessData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/sys/index/statisticsProcessByTime.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getPieDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getProcessMonitorTop(){
|
||||
//流程监控top
|
||||
$.ajax({
|
||||
url:"${ctx}/sys/index/getProcessMonitorTop.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
//topProcess(eval(data));
|
||||
getReportDataByZxt("topFlow","应用监控","说明:每月各应用流程执行排名",eval(data).row,eval(data).column,'');
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getSysLoadData(){
|
||||
//流程系统负载
|
||||
$.ajax({
|
||||
url:"${ctx}/sys/index/getSysLoadData.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
loadProcess(eval(data));
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getPieDatas(item){
|
||||
if(item.id =="singleCount"){
|
||||
$("#total").text(item.total);
|
||||
$("#cancle").text(item.cancle);
|
||||
$("#deal").text(item.deal);
|
||||
$("#un_deal").text(item.un_deal);
|
||||
return;
|
||||
}
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
plotBackgroundColor: null,
|
||||
plotBorderWidth: null,
|
||||
plotShadow: false,
|
||||
//spacing : [20, 0 , 20, 0]
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
floating:true,
|
||||
text: item.name+item.allCount,
|
||||
style:{
|
||||
"fontSize": "12px",
|
||||
"color":"#000"
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '{point.y}'
|
||||
},
|
||||
plotOptions: {
|
||||
pie: {
|
||||
allowPointSelect: true,
|
||||
cursor: 'pointer',
|
||||
size:90,
|
||||
innerSize:'20',
|
||||
dataLabels: {
|
||||
enabled: true,
|
||||
//format: '<b>{point.name}</b>: {point.percentage:.1f}%',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
//color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
|
||||
}
|
||||
},
|
||||
point: {
|
||||
events: {
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
type: 'pie',
|
||||
innerSize: '90%',
|
||||
name: item.name,
|
||||
data: item.datas
|
||||
}]
|
||||
}, function(c) { // 图表初始化完毕后的会掉函数
|
||||
// 环形图圆心
|
||||
var centerY = c.series[0].center[1],
|
||||
titleHeight = parseInt(c.title.styles.fontSize);
|
||||
// 动态设置标题位置
|
||||
c.setTitle({
|
||||
y:centerY + titleHeight/4
|
||||
});
|
||||
});
|
||||
}
|
||||
function loadProcess(data){
|
||||
$('#loadFlow').highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: '系统负载图',
|
||||
style:{
|
||||
"font-weight": "bold",
|
||||
"font-family": "微软雅黑"
|
||||
},
|
||||
},
|
||||
subtitle: {
|
||||
text: '说明:最近十天流程执行数量',
|
||||
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: 0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '执行数量: <b>{point.y}</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
column: {
|
||||
borderWidth: 0
|
||||
}
|
||||
},
|
||||
series: eval(data.datas)
|
||||
});
|
||||
}
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="process-page">
|
||||
|
||||
<div class="row" style="height: 200px;">
|
||||
<div class="col-sm-12">
|
||||
<div class="process-boxs">
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-8.png" />
|
||||
<div class="title">接入应用</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('/ebpm-process-manage/applicationMgr/list.do', '接入应用');">
|
||||
${allApp}
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-6.png" />
|
||||
<div class="title">流程定义</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('/ebpm-process-manage/procDefMgr/list.do?flag=true', '流程定义');">
|
||||
${procDefKeyCount}
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-3.png" />
|
||||
<div class="title">所有流程</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" id="total" onclick="openSysDialog('/ebpm-process-manage/sysMgr/sysProcessInstList.do?flag=true', '所有流程');">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-4.png" />
|
||||
<div class="title">流程执行</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('/ebpm-process-manage/processErrorLog/infoList.do?flag=true', '流程执行');">
|
||||
${info}
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-5.png" />
|
||||
<div class="title">运行时流程</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" id="un_deal" onclick="openSysDialog('/ebpm-process-manage/sysMgr/sysProcessInstList.do?procState=1&flag=true', '运行时流程');">
|
||||
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-7.png" />
|
||||
<div class="title">已结束流程</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" id="deal" onclick="openSysDialog('/ebpm-process-manage/sysMgr/sysProcessInstList.do?procState=5&flag=true', '已结束流程');">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-1.png" />
|
||||
<div class="title">作废流程</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" id="cancle" onclick="openSysDialog('/ebpm-process-manage/sysMgr/sysProcessInstList.do?procState=3&flag=true', '作废流程');">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<img class="list-img" src="${ctx }/resource/css/images/lc-icon-2.png" />
|
||||
<div class="title">异常流程</div>
|
||||
<div class="sz">
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('/ebpm-process-manage/processErrorLog/errorList.do?flag=true', '异常流程');">
|
||||
${error}
|
||||
</a>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process-boxs-->
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="align-center">
|
||||
<div id="allFlow" style="min-width:200px;height:200px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-3-->
|
||||
<div class="col-sm-3">
|
||||
<div class="align-center">
|
||||
<div id="yearFlow" style="min-width:200px;height:200px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-3-->
|
||||
<div class="col-sm-3">
|
||||
<div class="align-center">
|
||||
<div id="monthFlow" style="min-width:200px;height:200px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-3-->
|
||||
<div class="col-sm-3">
|
||||
<div class="align-center">
|
||||
<div id="weekFlow" style="min-width:200px;height:200px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-3-->
|
||||
</div><!--row-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="align-center">
|
||||
<div id="topFlow" style="min-width:400px;height:300px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
<div class="col-sm-6">
|
||||
<div class="align-center">
|
||||
<div id="loadFlow" style="min-width:400px;height:300px"></div>
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--process-page-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,241 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>超时处理最多的流程详情 </title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function openSysDialog(ctx, title){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-45)+"px";
|
||||
showDiaLog(ctx,title,'1400px',height);
|
||||
}
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/overTimeProcessDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#modelTotal").text(item.modelTotal);
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#actUserTime").text(item.actUserTime);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff','#37c461'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
numericSymbols: null // 不换算单位
|
||||
}
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
categories: eval(item.list),
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
labels: {
|
||||
formatter:function(){
|
||||
return this.value+"h";
|
||||
},
|
||||
rotation:-30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
/* 图例显示顺序反转
|
||||
* 这是因为堆叠的顺序默认是反转的,可以设置
|
||||
* yAxis.reversedStacks = false 来达到类似的效果
|
||||
*/
|
||||
reversed: true
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>{point.title}</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
stacking: 'normal',
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
openSysDialog("${ctx}/procInstMgr/historyList.do?tenantId="+event.point.appId+"&processDefName="+event.point.id,"超时处理最多的流程");
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link active" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/processAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计人数</p><p class="text" id="modelTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">超时流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">超时处理最多的流程</p><p class="text" id="actUserTime"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}超时处理最多的流程</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="overTimeTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,91 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>按流程定义统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="queryForm" name="queryForm" action="${ctx}/processReport/reportByDate.do" method="post" style="display: inline;">
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>按流程定义统计</h8>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group well well-sm">
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0"
|
||||
class="table-search">
|
||||
<tr>
|
||||
<td width="50px">年份:</td>
|
||||
<td width="100px">
|
||||
<select name="year" id="year">
|
||||
<option value="2014">2014</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button type="submit" class="btn btn-xs btn-primary">
|
||||
统 计
|
||||
<i class="ace-icon fa fa-bar-chart-o bigger-110"></i>
|
||||
</button>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<!--
|
||||
<div id="processDefZjt" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
var seriesValue=" {type: 'column',name: '运行个数',data: [${column}]}";
|
||||
getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
</script>
|
||||
-->
|
||||
<div id="processDefBar" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
//getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
getReportDataByZxt("processDefBar","按流程及时间统计","${year}年一共运行 ${total}个流程","${row}","${column}",'运行个数');
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- /.table-responsive -->
|
||||
</div>
|
||||
<!-- /span -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
137
ebpm-process-manage/webapp/pages/processReport/reportByDate2.jsp
Normal file
137
ebpm-process-manage/webapp/pages/processReport/reportByDate2.jsp
Normal file
@@ -0,0 +1,137 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>按流程耗时统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="queryForm" name="queryForm" action="${ctx}/processReport/reportByDate.do" method="post" style="display: inline;">
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>按流程耗时统计</h8>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group well well-sm">
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0"
|
||||
class="table-search">
|
||||
<tr>
|
||||
<td>年份:</td>
|
||||
<td>
|
||||
<select name="year" id="year">
|
||||
<option value="2015">2015</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button type="submit" class="btn btn-xs btn-primary">
|
||||
统 计
|
||||
</button>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<!--
|
||||
<div id="processDefZjt" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
var seriesValue=" {type: 'column',name: '运行个数',data: [${column}]}";
|
||||
getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
</script>
|
||||
-->
|
||||
<div id="processDefBar" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#processDefBar').highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
title: {
|
||||
text: '流程实例最长耗时统计'
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
categories: [
|
||||
'标准化办公室提出需求流程',
|
||||
'部门需求收集流程',
|
||||
'上级文件评审',
|
||||
'标准修订审批流程',
|
||||
'标准年审转化需求流程',
|
||||
'部门标准控制流程',
|
||||
'公司标准的征集意见流程'
|
||||
]
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: '小时'
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
headerFormat: '<table>',
|
||||
pointFormat: '<tbody><tr><td style="padding: 0px;">2014污水处理操作程序收集 </td></tr><tr>' +
|
||||
'<td style="padding: 0px;">总耗时<b>{point.y} 小时</b></td></tr>',
|
||||
footerFormat: '</tbody></table>',
|
||||
shared: true,
|
||||
useHTML: true
|
||||
},
|
||||
plotOptions: {
|
||||
column: {
|
||||
pointPadding: 0.2,
|
||||
borderWidth: 0
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
name: '流程',
|
||||
data: [12, 77, 88, 44, 8, 66, 22]
|
||||
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- /.table-responsive -->
|
||||
</div>
|
||||
<!-- /span -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
153
ebpm-process-manage/webapp/pages/processReport/reportByDate3.jsp
Normal file
153
ebpm-process-manage/webapp/pages/processReport/reportByDate3.jsp
Normal file
@@ -0,0 +1,153 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>按流程耗时统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="queryForm" name="queryForm" action="${ctx}/processReport/reportByDate.do" method="post" style="display: inline;">
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>按流程环节耗时统计</h8>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group well well-sm">
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0"
|
||||
class="table-search">
|
||||
<tr>
|
||||
<td>年份:</td>
|
||||
<td>
|
||||
<select name="year" id="year">
|
||||
<option value="2015">2015</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td>流程实例名称:</td>
|
||||
<td style="width: 200px">
|
||||
<input value="2014污水处理操作程序收集" type="text"></input>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button type="submit" class="btn btn-xs btn-primary">
|
||||
统 计
|
||||
</button>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<!--
|
||||
<div id="processDefZjt" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
var seriesValue=" {type: 'column',name: '运行个数',data: [${column}]}";
|
||||
getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
</script>
|
||||
-->
|
||||
<div id="processDefBar" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#processDefBar').highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
title: {
|
||||
text: '2014污水处理操作程序部门需求收集一共耗时77小时'
|
||||
},
|
||||
subtitle: {
|
||||
text: '流程起至时间:2014年-7月-1日至2014年9月18日'
|
||||
},
|
||||
xAxis: {
|
||||
categories: [
|
||||
'拟稿',
|
||||
'部门审核',
|
||||
'本部门审核',
|
||||
'相关部门审核',
|
||||
'管标办审核',
|
||||
'技标办审核',
|
||||
'管标办主任审核',
|
||||
'技标办主任审核'
|
||||
]
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: '小时'
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
headerFormat: '<table>',
|
||||
pointFormat: '<tbody>' +
|
||||
'<td style="padding: 0px;">XXX在此环节审批总耗时<b>{point.y} 小时</b></td></tr>',
|
||||
footerFormat: '</tbody></table>',
|
||||
shared: true,
|
||||
useHTML: true
|
||||
},
|
||||
plotOptions: {
|
||||
column: {
|
||||
pointPadding: 0.2,
|
||||
borderWidth: 0,
|
||||
dataLabels: {
|
||||
enabled: true,
|
||||
color: '',
|
||||
style: {
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
formatter: function() {
|
||||
return this.y+'小时';
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
name: '部门需求收集流程',
|
||||
data: [1, 7, 7, 26, 3, 3, 9,21]
|
||||
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- /.table-responsive -->
|
||||
</div>
|
||||
<!-- /span -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>按流程定义统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="queryForm" name="queryForm" action="${ctx}/processReport/reportByProcessDef.do" method="post" style="display: inline;">
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>按流程定义统计</h8>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group well well-sm">
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0"
|
||||
class="table-search">
|
||||
<tr>
|
||||
<td width="80px">开始时间:</td>
|
||||
<td width="100px">
|
||||
<input value="${query.roleName}" id="roleName" name="roleName" maxlength="30" />
|
||||
</td>
|
||||
<td width="80px"> 结束时间:</td>
|
||||
<td width="100px">
|
||||
<input value="${query.roleId}" id="roleId" name="roleId" maxlength="30" />
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button type="submit" class="btn btn-xs btn-primary">
|
||||
统 计
|
||||
<i class="ace-icon fa fa-bar-chart-o bigger-110"></i>
|
||||
</button>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<!--
|
||||
<div id="processDefZjt" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
var seriesValue=" {type: 'column',name: '运行个数',data: [${column}]}";
|
||||
getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
</script>
|
||||
-->
|
||||
<div id="processDefBar" style="height: 1200px; margin: 0 auto"></div>
|
||||
<script>
|
||||
//getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
getReportDataByBar("processDefBar","已运行流程统计","一共运行 ${total}个流程","${row}","${column}");
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- /.table-responsive -->
|
||||
</div>
|
||||
<!-- /span -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>按流程定义统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="queryForm" name="queryForm" action="${ctx}/processReport/reportByProcessDef.do" method="post" style="display: inline;">
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>按流程定义统计</h8>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group well well-sm">
|
||||
|
||||
<table border="0" cellspacing="0" cellpadding="0"
|
||||
class="table-search">
|
||||
<tr>
|
||||
<td width="80px">开始时间:</td>
|
||||
<td width="100px">
|
||||
<input value="${query.roleName}" id="roleName" name="roleName" maxlength="30" />
|
||||
</td>
|
||||
<td width="80px"> 结束时间:</td>
|
||||
<td width="100px">
|
||||
<input value="${query.roleId}" id="roleId" name="roleId" maxlength="30" />
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<button type="submit" class="btn btn-xs btn-primary">
|
||||
统 计
|
||||
<i class="ace-icon fa fa-bar-chart-o bigger-110"></i>
|
||||
</button>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<!--
|
||||
<div id="processDefZjt" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
var seriesValue=" {type: 'column',name: '运行个数',data: [${column}]}";
|
||||
getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
</script>
|
||||
-->
|
||||
<div id="processDefBar" style="height: 450px; margin: 0 auto"></div>
|
||||
<script>
|
||||
//getReportDataByZjt("processDefZjt","${row}","123",seriesValue,"已运行流程统计:一共运行 ${total}个流程");
|
||||
getReportDataByBar("processDefBar","已运行流程统计","一共运行 ${total}个流程","${row}","${column}");
|
||||
</script>
|
||||
|
||||
</div>
|
||||
<!-- /.table-responsive -->
|
||||
</div>
|
||||
<!-- /span -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>统计首页</title>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function sysCount(){
|
||||
if($("#sys").length > 0){
|
||||
if($("#sys").children().length>0){
|
||||
|
||||
}else{
|
||||
$("#sys").html(" <iframe height='1000px' width='100%' frameBorder=0 src='${ctx}/processReport/sysreport.do' allowTransparency='true'></iframe>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul id="myTab" class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#tenant" data-toggle="tab">应用统计</a>
|
||||
</li>
|
||||
<c:if test="${ebpmAdmin}">
|
||||
<li>
|
||||
<a href="#sys" data-toggle="tab" onclick="sysCount()">平台统计</a>
|
||||
</li>
|
||||
</c:if>
|
||||
</ul>
|
||||
|
||||
<div id="myTabContent" class="tab-content" style="padding: 0;">
|
||||
<div class="tab-pane fade in active" id="tenant">
|
||||
<iframe height="1000px" width="100%" frameBorder=0 src="${ctx}/processReport/appreport.do" allowTransparency="true"></iframe>
|
||||
</div>
|
||||
|
||||
<c:if test="${ebpmAdmin}">
|
||||
<div class="tab-pane fade" id="sys">
|
||||
|
||||
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
177
ebpm-process-manage/webapp/pages/processReport/staffAnalysis.jsp
Normal file
177
ebpm-process-manage/webapp/pages/processReport/staffAnalysis.jsp
Normal file
@@ -0,0 +1,177 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>人员分析</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<%-- <script src="${ctx}/resource/js/plugins/highcharts/highstock.js"></script> --%>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/staffAnalysisDetail.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#staffTop").text(item.staffTop);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'bar',
|
||||
},
|
||||
/* rangeSelector: {
|
||||
selected: 1
|
||||
}, */
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
scrollbar: {
|
||||
enabled: true
|
||||
},
|
||||
/* xAxis: {
|
||||
categories: eval(item.list),
|
||||
min: 25 //3.设置显示个数
|
||||
}, */
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: 0 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
/* scrollbar: {
|
||||
enabled: true,
|
||||
showFull: false
|
||||
} */
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>待处理流程最多的员工:{point.y}(个)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
stacking: 'normal',
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(event) {
|
||||
window.location.href="${ctx}/flow/monitor/staffPage.do?appId="+event.point.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link active" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-9.png" /></div>
|
||||
<div class="cell-text"><p class="title">待处理流程最多的员工</p><p class="text" id="staffTop"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">待处理流程最多的员工</h5>
|
||||
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="staffTopTotal" style="min-width:500px;min-height:550px;"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-6-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,216 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>人员详情</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
getAnalysisData();
|
||||
});
|
||||
function getAnalysisData(){
|
||||
//流程统计
|
||||
$.ajax({
|
||||
url:"${ctx}/flow/monitor/staffTopDetail.do?appId="+$("#appId").val(),
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
for (var i = 0; i < eval(data).length; i++) {
|
||||
getDatas(eval(data)[i]);
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
function getDatas(item){
|
||||
if(item.id =="params"){
|
||||
$("#processTotal").text(item.processTotal);
|
||||
$("#staffTotal").text(item.staffTotal);
|
||||
$("#staffTop").text(item.staffTop);
|
||||
return;
|
||||
}
|
||||
var colors = ['#2194ff'];
|
||||
//['#2194ff', '#face1d', '#37c461'];
|
||||
Highcharts.getOptions().colors = Highcharts.map(colors, function (color) {
|
||||
return {
|
||||
radialGradient: { cx: 0, cy: -0.8, r: 2.3 },
|
||||
stops: [[0, color], [2, Highcharts.Color(color).get('rgb')] // darken
|
||||
]
|
||||
};
|
||||
});
|
||||
$('#'+item.id).highcharts({
|
||||
chart: {
|
||||
type: 'column'
|
||||
},
|
||||
credits: {
|
||||
enabled: false //不显示LOGO
|
||||
},
|
||||
exporting: { enabled:false },//导出图表去掉
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
subtitle: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
labels: {
|
||||
rotation: -30 // 设置轴标签旋转角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: ''
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
tooltip: {
|
||||
pointFormat: '<b>待处理流程最多的员工:{point.y}(个)</b>',
|
||||
style: {
|
||||
"fontSize": "10px",
|
||||
"color":"#999",
|
||||
}
|
||||
},
|
||||
series: eval(item.datas)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<input id="appId" name="appId" value="${appId}" type="hidden"/>
|
||||
<div class="row process_monitor">
|
||||
<div class="col-sm-12">
|
||||
<div class="process_tabs">
|
||||
<a class="tabs_link" href="flow/monitor/processAnalysis.do">流程分析</a>
|
||||
<a class="tabs_link" href="flow/monitor/actAnalysis.do">节点分析</a>
|
||||
<a class="tabs_link active" href="flow/monitor/staffAnalysis.do">人员分析</a>
|
||||
<a class="btn-back" href="flow/monitor/staffAnalysis.do"><i class="ace-icon fa fa-reply"></i>返回上级</a>
|
||||
</div><!--process_tabs 顶部页签-->
|
||||
|
||||
<!-- <div class="process_screen">
|
||||
<div class="cell-clum">创建时间</div>
|
||||
<div class="cell-text">
|
||||
<a class="link active">不限</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<a class="link">近一周</a>
|
||||
<a class="link">近一月</a>
|
||||
<a class="link">近一季</a>
|
||||
<a class="link">近一年</a>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
<span class="text">至</span>
|
||||
<input class="link-input" type="text" placeholder="2020-02-01" />
|
||||
</div>
|
||||
<div class="cell-btn"><a class="btn-more">更多<i class="arrow fa fa-angle-down"></i></a></div>
|
||||
</div> --><!--process_screen 筛选查询-->
|
||||
|
||||
<div class="process_list">
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-12.png" /></div>
|
||||
<div class="cell-text"><p class="title">统计人数</p><p class="text" id="staffTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-13.png" /></div>
|
||||
<div class="cell-text"><p class="title">流程总数</p><p class="text" id="processTotal"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
<div class="list">
|
||||
<div class="list-table">
|
||||
<div class="cell-img"><img src="${ctx }/resource/css/images/lcjk-icon-14.png" /></div>
|
||||
<div class="cell-text"><p class="title">待处理流程最多的员工</p><p class="text" id="staffTop"></p></div>
|
||||
</div>
|
||||
</div><!--list-->
|
||||
</div><!--process_list 图标列表-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="widget-box ace-box-1">
|
||||
<div class="widget-header widget-header-flat widget-header-small">
|
||||
<h5 class="widget-title">${appName}待处理流程最多的员工</h5>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main algin-center">
|
||||
<div id="staffTopTotal" style="min-width:500px;min-height:550px"></div>
|
||||
</div><!--widget-main -->
|
||||
</div><!--widget-body -->
|
||||
</div>
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row-->
|
||||
|
||||
</div><!--col-sm-12-->
|
||||
</div><!--row process_monitor 流程监控-->
|
||||
|
||||
</div><!-- /.page-content -->
|
||||
</div><!--main-content-inner-->
|
||||
</div><!-- /.main-content -->
|
||||
|
||||
|
||||
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
435
ebpm-process-manage/webapp/pages/processReport/sysCount.jsp
Normal file
435
ebpm-process-manage/webapp/pages/processReport/sysCount.jsp
Normal file
@@ -0,0 +1,435 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp" %>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<%@ include file="/commons/meta.jsp" %>
|
||||
<base href="<%=basePath%>">
|
||||
<title>系统统计</title>
|
||||
<script type="text/javascript" src="${ctx }/resource/js/jquery-1.8.3.min.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/exporting.js"></script>
|
||||
<script src="${ctx}/resource/js/common/processReport.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysCount.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysIndexCount").hide();
|
||||
$("#sysCountLoading").append("<div id='sysCount' class='bigpic' style='position: absolute;margin: 0 auto;top: 75px;'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#sysIndexCount").show();
|
||||
$("#sysIndexCount").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysCount").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#sysIndexCount").show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysProcessDefCount.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysProcessDef").hide();
|
||||
$("#sysProcessDefLoading").append("<div id='sysProcessDefCount' class='bigpic' style='position: absolute;margin: 0 auto;top: 75px;'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#sysProcessDef").show();
|
||||
$("#sysProcessDef").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysProcessDefCount").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#sysProcessDef").show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysProcessModelCount.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysProcessModel").hide();
|
||||
$("#sysProcessModelLoading").append("<div id='sysProcessModelCount' class='bigpic' style='position: absolute;margin: 0 auto;top: 75px;'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#sysProcessModel").show();
|
||||
$("#sysProcessModel").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysProcessModelCount").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#sysProcessModel").show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysHistoryCount.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysProcessHistory").hide();
|
||||
$("#sysProcessHistoryLoading").append("<div id='sysHistoryCount' class='bigpic' style='position: absolute;margin: 0 auto;top: 75px;'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#sysProcessHistory").show();
|
||||
$("#sysProcessHistory").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysHistoryCount").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#sysProcessHistory").show();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysTaskCount.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysProcessTask").hide();
|
||||
$("#sysProcessTaskLoading").append("<div id='sysTaskCount' class='bigpic' style='position: absolute;margin: 0 auto;top: 75px;'></div>");
|
||||
},
|
||||
success:function(data){
|
||||
//console.log("Resource:"+data);
|
||||
$("#sysProcessTask").show();
|
||||
$("#sysProcessTask").text(data.count);
|
||||
//binderrorResource(data.page.result);
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysTaskCount").fadeOut();
|
||||
},
|
||||
error:function(){
|
||||
$("#sysProcessTask").show();
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysInfoM.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysInfoM").append("<div id='sysInfoMCount' style='padding:0 5px;' class='bigpic' ></div>");
|
||||
},
|
||||
success:function(data){
|
||||
|
||||
$("#sysInfoM").html(data.count);
|
||||
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysInfoMCount").fadeOut();
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysInfoD.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysInfoD").append("<div id='sysInfoDCount' style='padding:0 5px;' class='bigpic' ></div>");
|
||||
},
|
||||
success:function(data){
|
||||
|
||||
$("#sysInfoD").html(data.count);
|
||||
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysInfoDCount").fadeOut();
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysErrorM.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysErrorM").append("<div id='sysErrorMCount' style='padding:0 5px;' class='bigpic' ></div>");
|
||||
},
|
||||
success:function(data){
|
||||
|
||||
$("#sysErrorM").html(data.count);
|
||||
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysErrorMCount").fadeOut();
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url:"${ctx}/processReport/sysErrorD.do",
|
||||
type:"GET",
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
$("#sysErrorD").append("<div id='sysErrorDCount' style='padding:0 5px;' class='bigpic' ></div>");
|
||||
},
|
||||
success:function(data){
|
||||
|
||||
$("#sysErrorD").html(data.count);
|
||||
|
||||
},
|
||||
complete:function(xhr){
|
||||
/*数据加载完成后,将蒙版移除*/
|
||||
$("#sysErrorDCount").fadeOut();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
/*等待进度大css*/
|
||||
.bigpic{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url("${ctx}/resource/css/icons/loading.gif");
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
left: 0px;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.col-xs-5ths, .col-sm-5ths, .col-md-5ths, .col-lg-5ths {
|
||||
width: 20%;
|
||||
float: left;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="row" style="margin: 10px;">
|
||||
<div class="col-xs-5ths" style="padding-left: 0;padding-right: 6px;">
|
||||
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
应用系统
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body" id="sysCountLoading" style="height: 170px;position: relative;">
|
||||
|
||||
|
||||
<a id="sysIndexCount" href="${ctx }/applicationMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: orange;line-height: 170px;">0</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-5ths" style="padding-left: 6px;padding-right: 6px;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
流程定义
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body" id="sysProcessDefLoading" style="height: 170px;position: relative;">
|
||||
|
||||
<a id="sysProcessDef" href="${ctx }/procDefMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-5ths" style="padding-left: 6px;padding-right: 6px;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
流程实例
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body" id="sysProcessModelLoading" style="height: 170px;position: relative;">
|
||||
|
||||
<a id="sysProcessModel" href="${ctx }/procInstMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-5ths" style="padding-left: 6px;padding-right: 6px;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
流程任务
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body" id="sysProcessTaskLoading" style="height: 170px;position: relative;">
|
||||
|
||||
<a id="sysProcessTask" href="${ctx}/taskMgr/list.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-5ths" style="padding-left: 6px;padding-right: 0;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
流程历史
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body" id="sysProcessHistoryLoading" style="height: 170px;position: relative;" >
|
||||
|
||||
<a id="sysProcessHistory" href="${ctx }/procInstMgr/historyList.do" style="display: flex;justify-content: center;align-items: center;font-size: 50px;color: #438eb9;line-height: 170px;">0</a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin: 10px;">
|
||||
<div class="col-xs-6" style="padding-left: 0;padding-right: 6px;">
|
||||
|
||||
<!-- <h3>流程访问量 widget-box widget-color-blue widget-title lighter</h3> <br> -->
|
||||
|
||||
<div class="widget-box ">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
|
||||
流程访问量
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body">
|
||||
<div style="display:table;width:100%;padding: 20px;color: #555;font-size: 23px;">
|
||||
<div style="display:table-cell;vertical-align:middle;width:50%;text-align:center;border-right:1px dotted #999;">上月访问量<b style="color: green;padding:0 5px;font-size:36px;" id="sysInfoM"></b>次</div>
|
||||
<div style="display:table-cell;vertical-align:middle;text-align: center;">当日访问量<b style="color: green;padding:0 5px;font-size:36px;" id="sysInfoD" ></b>次</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="widget-main no-padding"> -->
|
||||
|
||||
<!-- <table id="dynamic-table" class="table table-striped table-bordered table-hover"> -->
|
||||
<!-- <thead class="thin-border-bottom"> -->
|
||||
|
||||
<!-- <tr> -->
|
||||
<!-- <th>统计时间段</th> -->
|
||||
<!-- <th>数量</th> -->
|
||||
<!-- </tr> -->
|
||||
<!-- </thead> -->
|
||||
|
||||
<!-- <tbody> -->
|
||||
<!-- <tr> -->
|
||||
<!-- <td>上月访问量:</td> -->
|
||||
<!-- <td ></td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- <tr> -->
|
||||
<!-- <td>当日访问量:</td> -->
|
||||
<!-- <td ></td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- </tbody> -->
|
||||
<!-- </table> -->
|
||||
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6" style="padding-left: 6px;padding-right: 0;">
|
||||
<div class="widget-box">
|
||||
<div class="widget-header">
|
||||
<h5 class="widget-title">
|
||||
流程异常
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget-body">
|
||||
|
||||
<div style="display:table;width:100%;padding: 20px;color: #555;font-size: 23px;">
|
||||
<div style="display:table-cell;vertical-align:middle;width:50%;text-align:center;border-right:1px dotted #999;">上月累计<b style="color: red;padding:0 5px;font-size:36px;" id="sysErrorM"></b></div>
|
||||
<div style="display:table-cell;vertical-align:middle;text-align: center;">当日累计<b style="color: red;padding:0 5px;font-size:36px;" id="sysErrorD" ></b></div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="widget-main no-padding"> -->
|
||||
<!-- <table id="dynamic-table" class="table table-striped table-bordered table-hover"> -->
|
||||
<!-- <thead class="thin-border-bottom"> -->
|
||||
<!-- <tr> -->
|
||||
<!-- <th>统计时间段</th> -->
|
||||
<!-- <th>数量</th> -->
|
||||
<!-- </tr> -->
|
||||
<!-- </thead> -->
|
||||
<!-- <tbody> -->
|
||||
<!-- <tr> -->
|
||||
<!-- <td>上月累计:</td> -->
|
||||
<!-- <td ></td> -->
|
||||
|
||||
<!-- </tr> -->
|
||||
<!-- <tr> -->
|
||||
<!-- <td>当日累计:</td> -->
|
||||
<!-- <td ></td> -->
|
||||
|
||||
<!-- </tr> -->
|
||||
<!-- </tbody> -->
|
||||
<!-- </table> -->
|
||||
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user