You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

468 lines
17 KiB
Plaintext

11 months ago
<!DOCTYPE html>
<html class="x-admin-sm">
<head>
<meta charset="UTF-8" />
<title>单个流程数据分析</title>
<meta name="renderer" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link href="../Portal2020/css/font.css" rel="stylesheet" />
<link href="../Portal2020/css/xadmin.css" rel="stylesheet" />
<script type="text/javascript" src="../../Scripts/bootstrap/js/jquery.min.js"></script>
<script src="../../Scripts/QueryString.js" type="text/javascript"></script>
<script type="text/javascript" src="../../Scripts/config.js"></script>
<script type="text/javascript" src="../../Comm/Gener.js"></script>
<script src="../../Portal2020/lib/layui/layui.js" charset="utf-8"></script>
<script src="../../Scripts/echartsjs/echarts.min.js"></script>
<script>
$(function () {
var FlowName = null;
var FK_flowNo = GetQueryString("FK_Flow");
var ens = new Entities("BP.WF.GenerWorkFlows", "FK_Flow", FK_flowNo);
for (var i = 0; i < ens.length; i++) {
//通过json访问属性.
var jsonEn = ens[i];
var en = new Entity("BP.WF.GenerWorkFlow", jsonEn);
FlowName = en.FlowName;
break;
}
$("#flowName").html("<h2 style='margin-left:15px;'>流程名称:"+FlowName+"</h2>");
});
</script>
<style>
h2{
}
</style>
</head>
<body>
<div id="Msg"></div>
<h3 id="flowName"></h3>
<div class="layui-fluid">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body ">
<ul class="layui-row layui-col-space10 layui-this x-admin-carousel x-admin-backlog">
<li class="layui-col-md2 layui-col-xs2">
<a href="javascript:;" class="x-admin-backlog-body">
<h3>实例总数</h3>
<p>
<cite id="FlowInstaceNum">0</cite>
</p>
</a>
</li>
<li class="layui-col-md2 layui-col-xs2">
<a href="javascript:;" class="x-admin-backlog-body">
<h3>运行中</h3>
<p>
<cite id="RunNum">0</cite>
</p>
</a>
</li>
<li class="layui-col-md2 layui-col-xs2">
<a href="javascript:;" class="x-admin-backlog-body">
<h3>待办数</h3>
<p>
<cite id="TodolistNum">0</cite>
</p>
</a>
</li>
<li class="layui-col-md2 layui-col-xs2">
<a href="javascript:;" class="x-admin-backlog-body">
<h3>逾期数</h3>
<p>
<cite id="OverTimeNum">0</cite>
</p>
</a>
</li>
<li class="layui-col-md2 layui-col-xs2">
<a href="javascript:;" class="x-admin-backlog-body">
<h3>退回数</h3>
<p>
<cite id="ReturnNum">0</cite>
</p>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">流程发起数-月份</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="FlowsByNY" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">流程发起数-部门</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="FlowsByDept" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">待办数-部门</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="TodolistByDept" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">逾期数-人员</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="OverTimeByEmp" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">逾期数-部门</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="OverTimeByDept" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
<div class="layui-col-sm12 layui-col-md6">
<div class="layui-card">
<div class="layui-card-header">逾期数-节点</div>
<div class="layui-card-body" style="min-height: 280px;">
<div id="OverTimeByNode" class="layui-col-sm12" style="height: 300px;"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//页面启动函数.
$(function () {
var FK_Flow = GetQueryString("FK_FLOW");
var FlowsByNY_X = new Array();
var FlowsByNY_Y = new Array();
var FlowsByDept_X = new Array();
var FlowsByDept_Y = new Array();
var TodolistByDept_X = new Array();
var TodolistByDept_Y = new Array();
var OverTimeByEmp_X = new Array();
var OverTimeByEmp_Y = new Array();
var OverTimeByDept_X = new Array();
var OverTimeByDept_Y = new Array();
var OverTimeByNode_X = new Array();
var OverTimeByNode_Y = new Array();
$("#Msg").html("<img src=../../Img/loading.gif />&nbsp;正在加载,请稍后......");
//获得数数量,并把数量绑定.
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrFlow");
handler.AddPara('FK_Flow', FK_Flow);
var data = handler.DoMethodReturnJSON("GraphicalAnalysis_Init");
GenerFullAllDivVal(data);
//绑定- 流程发起数
data = handler.DoMethodReturnJSON("GraphicalAnalysis_DataSet");
//流程发起-按月份.
var FlowsByNYs = data.FlowsByNY;
$.each(FlowsByNYs, function (i, FlowsByNY) {
FlowsByNY_X[i] = FlowsByNY.FK_NY;
FlowsByNY_Y[i] = FlowsByNY.Num;
})
queryChart_FlowsByNY(FlowsByNY_X, FlowsByNY_Y);
//流程发起-按部门.
var FlowsByDepts = data.FlowsByDept;
$.each(FlowsByDepts, function (i, FlowsByDept) {
FlowsByDept_X[i] = FlowsByDept.DeptName;
FlowsByDept_Y[i] = FlowsByDept.Num;
})
queryChart_FlowsByDept(FlowsByDept_X, FlowsByDept_Y);
//待办-按部门.
var TodolistByDepts = data.TodolistByDept;
$.each(TodolistByDepts, function (i, TodolistByDept) {
TodolistByDept_X[i] = TodolistByDept.DeptName;
TodolistByDept_Y[i] = TodolistByDept.Num;
})
queryChart_TodolistByDept(TodolistByDept_X, TodolistByDept_Y);
//逾期-按人员.
var OverTimeByEmps = data.OverTimeByEmp;
$.each(OverTimeByEmps, function (i, OverTimeByEmp) {
OverTimeByEmp_X[i] = OverTimeByEmp.name;
OverTimeByEmp_Y[i] = OverTimeByEmp.Num;
})
queryChart_OverTimeByEmp(OverTimeByEmp_X, OverTimeByEmp_Y);
//逾期-按部门.
var OverTimeByDepts = data.OverTimeByDept;
$.each(OverTimeByDepts, function (i, OverTimeByDept) {
OverTimeByDept_X[i] = OverTimeByDept.DeptName;
OverTimeByDept_Y[i] = OverTimeByDept.Num;
})
queryChart_OverTimeByDept(OverTimeByDept_X, OverTimeByDept_Y);
//逾期-按节点.
var OverTimeByDepts = data.OverTimeByNode;
$.each(OverTimeByDepts, function (i, OverTimeByNode) {
OverTimeByNode_X[i] = OverTimeByNode.NodeName;
OverTimeByNode_Y[i] = OverTimeByNode.Num;
})
queryChart_OverTimeByNode(OverTimeByNode_X, OverTimeByNode_Y);
$("#Msg").html("");
});
//流程发起-按月份.
function queryChart_FlowsByNY(FlowsByNY_X, FlowsByNY_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('FlowsByNY'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: FlowsByNY_X
},
yAxis: {
type: 'value'
},
series: [{
name: '流程数',
data: FlowsByNY_Y,
type: 'line',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
//流程发起-按部门.
function queryChart_FlowsByDept(FlowsByDept_X, FlowsByDept_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('FlowsByDept'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: FlowsByDept_X
},
yAxis: {
type: 'value'
},
series: [{
name: '流程数',
data: FlowsByDept_Y,
type: 'bar',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
//待办-按部门.
function queryChart_TodolistByDept(TodolistByDept_X, TodolistByDept_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('TodolistByDept'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: TodolistByDept_X
},
yAxis: {
type: 'value'
},
series: [{
name: '待办数',
data: TodolistByDept_Y,
type: 'bar',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
//逾期-按人员.
function queryChart_OverTimeByEmp(OverTimeByEmp_X, OverTimeByEmp_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('OverTimeByEmp'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: OverTimeByEmp_X
},
yAxis: {
type: 'value'
},
series: [{
name: '流程数',
data: OverTimeByEmp_Y,
type: 'bar',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
//逾期-按部门.
function queryChart_OverTimeByDept(OverTimeByDept_X, OverTimeByDept_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('OverTimeByDept'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: OverTimeByDept_X
},
yAxis: {
type: 'value'
},
series: [{
name: '流程数',
data: OverTimeByDept_Y,
type: 'bar',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
//逾期-按节点.
function queryChart_OverTimeByNode(OverTimeByNode_X, OverTimeByNode_Y) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('OverTimeByNode'));
// 指定图表的配置项和数据
var option = {
grid: {
top: '5%',
right: '1%',
left: '1%',
bottom: '10%',
containLabel: true
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: OverTimeByNode_X
},
yAxis: {
type: 'value'
},
series: [{
name: '流程数',
data: OverTimeByNode_Y,
type: 'bar',
smooth: true
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
</script>
</body>
</html>