JeecgBoot集成积木报表 === [TOC] ## #快速集成 ### 第一步: 引入 JimuReport 依赖 jar ``` <dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimureport-spring-boot-starter</artifactId> <version>${version}</version> </dependency> ``` 最新版本可以从 http://jimureport.com/doc/log 中查询到 ### 第二步:application.yml 增加minidao配置(可忽略) ~~~ #JimuReport[minidao配置] minidao : base-package: org.jeecg.modules.jmreport.desreport.dao* ~~~ ### 第三步: 执行初始化脚本 [jimureport.sql](https://github.com/zhangdaiscott/JimuReport/blob/master/db "jimureport.sql") ### 第四步: 排除权限拦截 修改org.jeecg.config.shiro.ShiroConfig加入以下代码 ``` //积木报表请求排除 filterChainDefinitionMap.put("/jmreport/**", "anon"); filterChainDefinitionMap.put("/**/*.js.map", "anon"); filterChainDefinitionMap.put("/**/*.css.map", "anon"); ``` ### 第五步: 访问积木报表 访问地址: {项目前缀}/jmreport/list?token=${token} ![](https://oscimg.oschina.net/oscnet/up-3d2ab4d3eaaa1c011220e64003372988e28.png) ### 第六步: Vue2 配置菜单—报表集成到菜单里 ``` {{ window._CONFIG['domianURL'] }}/jmreport/list?token=${token} ``` 参数说明 - {{ window._CONFIG['domianURL'] }} :后台项目访问地址 - ${token} :登录token用于权限控制 - 前端组件:layouts/IframePageView 菜单配置截图 ![](https://img.kancloud.cn/2b/28/2b28f238e4433fa1059c98c2a6e776e0_665x910.png) ### 第七步: Vue3菜单配置—报表集成到菜单里 >[warning] vue2与vue3菜单配置有区别,请对照截图 ``` {{ window._CONFIG['domianURL'] }}/jmreport/list?token=${token} ``` 详细配置参考截图 ![](https://img.kancloud.cn/79/e7/79e75cfe794501cb033bcb309f3c5205_698x995.png) ## #高级配置 - 自定义鉴权 如果不自定义,则积木报表所有请求都不做权限控制 参考将这个类 [JimuReportTokenService.java](https://github.com/jeecgboot/JimuReport/blob/master/jimureport-example/src/main/java/org/jeecg/modules/jmreport/config/JimuReportTokenService.java)到项目中即可(类路径org.jeecg.config.jimureport),其他项目参考改造。 ## #常见问题 - 1、JeecgBoot3.4.3之前老版本集成会报autpoi错误 错误原因:是因为autopoi版本不一致 解决方案:引入依赖的时候排除autopoi,因为最新版本(1.3.6-beta及以上)积木报表用的是autopoi最新版(poi升级到4) ~~~ <dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimureport-spring-boot-starter</artifactId> <version>1.4.0-beta</version> <exclusions> <exclusion> <groupId>org.jeecgframework</groupId> <artifactId>autopoi-web</artifactId> </exclusion> </exclusions> </dependency> ~~~