Engage 报表开发包括:报表配置、报表开发、往不同的环境部署三部分,其中报表配置包含两部分:在 GVP 项目中配置和在 Engage admin 中配置。
# 报表配置
# 在 GVP 项目中集成报表
- 后端开发人员根据报表需求,在应用自己的数据库中创建视图。视图一定要包含 profile_id、organization_id、position_id 三列,用于做数据范围筛选
- 后端开发人员前往 GVP 项目:http://xxx.gridsumdissector.com/#/main/40524/54674/show
- 后端开发人员配置数据源的连接,使用 PostgreSQL
- 后端开发人员创建数据表,选择对应的数据库视图,选择字段,配置时间列(如果需要的话),保存
- 后端开发人员前往数据表的字段设置页面,设置字段别名(中文)
- 前端开发人员根据业务需求,创建若干仪表盘
- 前端开发人员发布仪表盘。选中一个仪表盘,点击导出->发布:
然后选择嵌入,输入回调地址,比如 https://xxx.gridsumdissector.com/platform/api/v1/gvp ,点击确定,得到仪表盘的发布地址(如 http://xxx.gridsumdissector.com/#/full-screen/40524/54674?publishId=xxxxx)
# 在 Engage admin 端配置报表
新建报表:包含 报表名称、租户、应用、报表标题、报表链接地址、报表详情 URL、APIS、类别、显示在报表、报表描述
,其中:
- 报表名称:必填。最好为英文,和 GVP 项目中集成报表时生成的仪表盘发布地址对应,不能重复。B 端报表详情组件开发时
reportName
属性使用该名称,用来获取仪表盘发布地址 - 租户:可选。不填时表示该报表对所有租户可见,填写时表示该报表仅对当前租户可见
- 应用:必填。报表和应用绑定,可以控制报表在 B 端列表是否显示
- 报表标题:必填。显示在 B 端报表列表的名称
- 报表链接地址:必填。GVP 系统中生成的仪表盘发布地址,如:http://xxx.gridsumdissector.com/#/full-screen/40524/54674?publishId=xxxxx
- 报表详情 URL:必填。B 端点击名称跳转到报表详情的报表详情地址,如:/xxx/report-detail
- APIS:可选。给后端做权限判断使用
- 类别:可选。报表类别
- 显示在报表:可选。是否在 Engage 平台报表列表显示,默认显示
- 报表描述:可选。报表描述
# 报表开发说明
创建一个新的视图 vue 文件,使用 EView/gvp-dashboard 组件,并将 reportName
属性设置为 admin 配置的报表名称,示例如下:
<template>
<EView template="gvp-dashboard" :config="config" :report-name="'example'" />
</template>
<script>
export default {
data() {
return {
config: {
title: '报表名称', // 实体名称
icon: 'chart-pie', // 实体 logo,也可以直接填写 font icon 名称
appId: 'example', // 应用 id
dataScopeApi: '/xxx/report-detail', // 用来做权限校验的 api
},
};
},
};
</script>
示例效果如下:
# 往不同环境部署
- 前端开发人员前往 GVP 项目:http://xxx.gridsumdissector.com/#/main/40524/54674/show
- 前端开发人员使用仪表盘的导出功能,比如从集成环境导出:使用 GVP 项目集成环境,点击需要导出的报表->导出
- 前端开发人员使用仪表盘的导入功能,比如往测试环境导入:使用 GVP 项目测试环境,点击添加图标->导入仪表盘,选择上一步导出的文件,选择导入的目标文件导入即可
- 仪表盘导出导入之后,后端开发人员修改数据源为对应环境的数据源
- 前端开发人员填写发布时的回调地址,发布仪表盘,生成对应的仪表盘发布地址
- 前端开发人员在 Engage Admin 端对应的环境配置报表