1.1K Star 10.8K Fork 4.4K

GVPanji-plus / AJ-Report

 / 详情

折叠柱状图折线图动态数据图例无法配置及js脚本简单配置问题

已完成
创建于  
2021-11-26 16:54

该问题是怎么引起的?

堆叠图动态数据配置时,SQL返回的数据没有中文信息,导致图例无法配置
思路是将数据格式转换成静态数据的格式,需要借助到js脚本

重现步骤

原始SQL查询出来的json格式

[{
	"weekNewPayUserNum": 149.0,
	"weekNewUserBindPenNum": 1224.0,
	"weekNewUserNum": 2726.0,
	"weekNewPayUserBindPenNum": 70.0,
	"start_date": "2021-08-09"
}, {
	"weekNewPayUserNum": 168.0,
	"weekNewUserBindPenNum": 1090.0,
	"weekNewUserNum": 2458.0,
	"weekNewPayUserBindPenNum": 86.0,
	"start_date": "2021-08-16"
}]

通过js脚本需要转成以下格式即可实现动态图例

[
  {
    "data": 2726,
    "name": "每周新增用户",
    "axis": "2021-08-09"
  },
  {
    "data": 1224,
    "name": "每周新增用户(绑笔)",
    "axis": "2021-08-09"
  },
  {
    "data": 149,
    "name": "每周新增付费用户数",
    "axis": "2021-08-09"
  },
  {
    "data": 70,
    "name": "每周新增付费用户数(绑笔)",
    "axis": "2021-08-09"
  },
  {
    "data": 2458,
    "name": "每周新增用户",
    "axis": "2021-08-16"
  },
  {
    "data": 1090,
    "name": "每周新增用户(绑笔)",
    "axis": "2021-08-16"
  },
  {
    "data": 168,
    "name": "每周新增付费用户数",
    "axis": "2021-08-16"
  },
  {
    "data": 86,
    "name": "每周新增付费用户数(绑笔)",
    "axis": "2021-08-16"
  }
]

报错信息

编写js后,后台数据转换时候报错,数据转换异常
解决方式,更改后台JsTransformServiceImpl.java
思路:执行invokeFunction方法返回值toString,
再次通过JSONArray解析强转List,解决invocable.invokeFunction返回Map数据结构强制转换List异常问题
下图为后台代码改动截图

/*fix:执行invokeFunction方法返回值toString,
                再次通过JSONArray解析强转List<JSONObject>,解决 invocable.invokeFunction
                返回Map数据结构问题*/
                String jsonStr = invocable.invokeFunction("dataTransform", data).toString();
                return (List<JSONObject>) JSONArray.parse(jsonStr);

后台代码更改
下图为js代码示例
Js代码示例
下图为大屏堆叠柱状配置
大屏柱状图配置】
下图为大屏效果
大屏效果
欢迎大家学习交流,感谢作者开源

评论 (0)

唐先森 创建了任务
唐先森 修改了描述
Foming 任务状态待办的 修改为已完成
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
1510990 tangxian 1578953269
Java
1
https://gitee.com/anji-plus/report.git
git@gitee.com:anji-plus/report.git
anji-plus
report
AJ-Report

搜索帮助