今天主要是分享积木报表如何嵌入若依项目菜单,上一篇文件已经分享过若依集成积木报表,这里就不再多费口舌了,有需要的朋友可以移步上一篇文章查看:若依前后分离版集成积木报表-优快云博客
1、首先是后端配置:
1.1添加后台访问接口
新建文件,在/ruoyi-framework/src/main/java/com/ruoyi/framework/web/controller/下新建JeecgController.java文件,没有controller路径的需要自己手动创建一下,下面的代码直接C、V就行
@RestController
@RequestMapping("/system/jeecg")
public class JeecgController {
@PreAuthorize("@ss.hasPermi('system:jeecg:index')")
@GetMapping(value = "/getReport")
public String getReport(HttpServletRequest request) {
String scheme = request.getScheme();
String serverName = request.getServerName();
int serverPort = request.getServerPort();
String baseUrl = scheme + "://" + serverName + ":" + serverPort;
return baseUrl + "/jmreport/list";
}
}
后端配置完成!
2、接下来是前端配置
2.1新增index.vue,该vue的文件路径接下来会用到,所以需要新建一个包跟其他页面放在一起。
ruoyi-ui\src\views\system\jeecg
2.2 index.vue文件内容,直接C+V即可,无需修改:
<template>
<div v-loading="loading" :style="'height:'+ height">
<iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto"/>
</div>
</template>
<script>
import {
getToken
} from '@/utils/auth'
import {
indexUrl
} from '@/api/system/jeecg/index'
export default {
name: "Jeecg",
data() {
return {
src: "",
height: document.documentElement.clientHeight - 94.5 + "px;",
loading: true,
};
},
created() {
indexUrl().then(res => {
this.src = res + '?token=' + getToken()
})
},
mounted: function () {
setTimeout(() => {
this.loading = false;
}, 230);
const that = this;
window.onresize = function temp() {
that.height = document.documentElement.clientHeight - 94.5 + "px;";
};
}
};
</script>
2.3 在/api/system包下新建jeecg文件夹,然后新建index.js文件
index.js文件内容,直接C+V即可,无需修改:
import request from '@/utils/request'
export function indexUrl() {
return request({
url: '/system/jeecg/getReport',
method: 'get'
})
}
3、添加菜单
防止出错照着抄!!!
OK,刷新页面!点击刚才添加的菜单
成功!
下次分享集成积木报表之后的权限token传递