|
一、实现效果
如图1所示,展示某段时间的用户的审批效率柱状图,那么这个柱状图是怎么做出来的呢?
二、实现思路
文字描述,可以配图。
三、具体操作
1、创建JS数据源,如图2所示:
2、做一个柱状图,载入数据源,配置查询选择。如图3所示:
3、在创建数据源的时候,ajax调用后端,后端写controller,如图4所示,写controller,service,util:
4、创建一个菜单,类型是图表,将该图挂到该菜单上即可。
四、相关代码(可选)
1、创建数据源代码
- /*必须按照如下格式返回数据,否则数据出错,params(过滤条件)可以省略*/
- function(params){
- debugger;
- var results = new Array();
- //获取查询条件
- var startTime = Ext.value(params.startTime,"");
- var endTime = Ext.value(params.endTime,"");
- //如果条件为空,展示样例
- if(JE.isEmpty(startTime) || JE.isEmpty(endTime)) {
- var map = {
- "人员": "张三",
- "平均审批时长": 4.55
- };
- results.push(map);
- var map = {
- "人员": "李四",
- "平均审批时长": 3.4
- };
- results.push(map);
- return {fields: ["人员", "平均审批时长"], data: results};
- }
- //如果查询条件不为空
- //获取全部需要展示的审批人
- var approvers = JE.ajax ({
- url:"/je/load",
- params:{
- tableCode:"JE_CORE_ENDUSER",
- whereSql:"and instr(ROLECODES,'ROLE_2021090126')>0 "
- }
- }).rows;
- //将要展示的人加入到结果集中
- results = new Array();
- var duration = "";
- for (var i = 0; i < approvers.length; i++) {
- //计算审批耗时
- var userId = approvers[i].USERID;
- //查询该用户在该时间段的平均审批时间 格式:小时
- var duration = JE.ajax ({
- url: "/je/project/bfsy/approveInfo/getWfDurationByUserId",
- params: {
- userId: userId,
- startTime: startTime,
- endTime: endTime
- }
- });
- var hours = (duration * 1).toFixed(2);
- var map = {
- "人员":approvers[i].USERNAME,
- "平均审批时长":hours
- }
- results.push(map);
- }
- return {fields: ["人员", "平均审批时长"], data: results};
- }
复制代码
五、总结(可选)
这里面的具体步骤如果不会的话,可以根据关键字搜索帖子,具体的做法帖子里面都有。
六、关键字
柱状图,图表
|
|