报表模板
菜单路径:模型管理 → 报表模板。 报表模板定义 PDF 或 Excel 的生成逻辑与配置,供 RPC 输出报表时复用。生成后的记录在日志管理 → 报表记录查看。
新增与配置
| 字段 | 必填与用途 |
|---|---|
| 标识码 | 必填,用于标识模板,与显示名称分开填写。 |
| 名称 | 必填,显示在模板列表中。 |
| 模板类型 | 必填,支持 PDF、Excel;新增初值为 PDF。 |
| 备注 | 可选,描述报表用途。 |
| 变更说明 | 可选,记录本次修改内容与原因。 |
| 配置参数(config) | 模板自带的 JSON 配置,如标题、图表标题、工作表名称。 |
| 传入参数示例(input) | 编辑器预览使用的 JSON 样例,如设备名称和数据行。 |
编辑器提供“配置”“JSON配置”“预览”页签。列表支持按标识码、名称、模板类型查询,并有导入、导出入口。系统平台也提供报表模板管理,其表单额外包含“组织”;配置前应确认当前处于租户侧还是系统侧。
预览数据与实际调用
报表由服务端执行。展开编辑器中的“可用参数说明”可查看输入、工具和执行限制。
| 变量 | 实际输出时 | 编辑器预览时 |
|---|---|---|
config | 模板配置;RPC 可通过 dnMsg.data.config 按 key 覆盖。 | 使用配置参数编辑器中的内容。 |
input | RPC 通过 dnMsg.data.input 传入的本次数据。 | 使用传入参数示例编辑器中的内容。 |
device | 触发报表的设备上下文。 | 空对象 {}。 |
params | 本次 RPC 入参。 | 空对象 {}。 |
org_params | 当前组织参数。 | 与实际调用使用同一组织参数来源。 |
meta | 模板、生成时间、设备、RPC、触发来源和操作人信息。 | meta.preview 为 true,设备及 RPC 相关字段为空。 |
实际调用不会回退到 input 示例。 RPC 没有传 input 时,模板拿到的是空对象;预览里有数据不能证明实际执行已经传入数据。依赖 device、params 的模板也需要处理预览上下文为空的情况。
meta 包括 preview、generate_time、tenant_code、template_id、template_code、template_name、template_type、eui、rpc_id、rpc_method、source_type、operator_id、operator_name。generate_time 为 ISO 8601 时间字符串。
工具与执行约束
| 工具或限制 | 说明 |
|---|---|
ctx | 提供 chart(option)、formatDate、formatNumber、escape 等报表工具。输出外部文本到 HTML 时使用转义。 |
axios、fetch | 可从外部系统取数;单次 HTTP 请求上限 15 秒。fetch 收到 404/500 时需检查 resp.ok,不能只依赖异常捕获。 |
dayjs、Buffer、console | 日期处理、受限二进制处理和服务端日志。 |
setTimeout / clearTimeout | 可用;没有 setInterval。 |
AbortController / AbortSignal | 可配合 HTTP 请求取消或缩短等待时间。 |
| Promise 等待 | 页面说明 new Promise / Promise.all 上限为 25 秒。 |
| 整体执行 | 模板整体上限 30 秒;多个串行慢请求可能先触及整体超时。 |
| 不提供的环境 | 没有 window、document、require、setInterval。 |
预览使用服务端报表运行环境,包含真实组织参数和 HTTP 工具。预览前应检查模板是否会访问外部服务;页面可打开或配置可保存,不代表取数和报表生成已经验证成功。
排查顺序
- 核对模板类型、标识码及实际调用选用的模板。
- 核对实际
input与config,不要只检查预览样例。 - 检查依赖的设备上下文、组织参数和外部取数结果。
- 检查超时与运行环境不支持的 API。
- 在报表记录中确认生成记录、文件类型、存储方式和时间。