大数跨境

审批单据怎么一键打印:可视化打印模板 + 字段/明细/审批记录占位的设计

审批单据怎么一键打印:可视化打印模板 + 字段/明细/审批记录占位的设计 企业软件源码
2026-07-07
9
导读:报销单、用车单、合同审批,盖完章常常还得打印一份归档。本文以 RuoYi Office 的打印模板能力为样本,拆解它如何在流程模型上挂一份可视化 HTML 打印模板、用富文本编辑器把表单以占位符方式插

审批单据怎么一键打印:可视化打印模板 + 字段/明细/审批记录占位的设计

🌐 演示地址:http://ruoyioffice.com | 📦 源码1·GitHub:ruoyi-office | 📦 源码2·GitCode:ruoyi-office | 📦 源码3·Gitee:ruoyi-office | 💬 微信:17156169080(备注「RuoYi Office」)

▲ 一份审批单据的打印,分三步:在流程模型上用富文本设计一份带"@占位符"的 HTML 模板 → 模板随流程模型保存 → 单据详情点"打印"时,把占位符替换成这张单的真实字段、明细和审批记录,再交给浏览器打印。模板归模板、数据归数据,改格式不用动代码。

引言:盖完章,还得打印一份——格式别再写死在代码里

走完审批的单据,很多时候还需要打印出来盖章、归档、交给对方:

  • 报销单要打出来贴发票、走财务
  • 用车单、出差单要打出来留底
  • 合同审批单要打出来附在合同后面

如果每种单据的打印格式都写死在代码里,麻烦就来了:财务想把"合计金额"挪个位置、行政想在抬头加个公司 Logo,都得提需求、改代码、重新发版。打印格式本该是"配置",不该是"代码"。

RuoYi Office 的思路是:把打印模板做成可视化配置,挂在流程模型上,和这条流程的表单字段、明细表、审批记录天然对齐,运行时自动填数,浏览器一键打印。


一、模板挂在流程模型上:和这条单据的字段天生对齐

RuoYi Office 的打印模板不是一个孤立的"画布",而是挂在具体流程模型上的一项设置。在流程模型管理里选中某条流程(比如 OA 通用报销),进入"更多设置",打开"自定义打印模板"开关,就能为这条流程单独设计一份打印样式。

▲ 流程模型管理:每条业务流程都是一行,进入编辑后可在"更多设置"里为它单独开启并设计打印模板。模板和流程绑定,所以它"认识"这条单据有哪些字段、哪张明细表。

这个设计的好处是:模板天然知道这条流程的表单结构。设计报销单模板时,能直接选报销单的字段;设计用车单模板时,选的就是用车单的字段——不会出现"模板和数据对不上"的尴尬。


二、富文本 + 占位符:像写 Word 一样设计,但能自动填数

打印模板的编辑器基于富文本(TinyMCE),用起来像写一篇文档:排版、表格、对齐都可以可视化操作。不同的是,左侧有一个字段面板,把表单字段、明细表、审批流程记录以"@占位符"的方式点一下或拖一下插入到正文里。

▲ 打印模板编辑器:左侧是这条流程的表单字段 / 明细表 / 审批记录面板,中间是富文本画布。把"@申请人"“@报销金额”“@审批记录"插进版面,排好版即可。设计的是"模板 + 占位符”,不是某一张具体单据。

可以插入的占位大致分四类:

占位类型
举例
表单字段
申请人、申请部门、事由、金额
系统字段
单据编号、提交时间
明细表
报销明细 / 费用清单(自动渲染成表格)
审批流程记录
各节点审批人、意见、时间

设计完保存,这份模板(一段 HTML + 占位符)就随流程模型一起存下来了。


三、运行时一键打印:占位符换成真实数据,交给浏览器

模板设计好之后,业务侧就简单了。打开任意一张走了这条流程的单据详情,底部会出现"打印"按钮。点击后,系统拉取这张单据的真实数据,把模板里的 @申请人@报销金额、明细表、审批记录占位替换成实际内容,生成最终版面,再调用浏览器打印。

▲ 单据详情页:走完审批的单据,底部就有"打印"按钮。点击后系统拉取这张单的真实字段、明细和审批记录,套用模板生成打印版面,再交给浏览器打印或导出 PDF——同一份模板套不同单据,数据自动变、格式始终一致。

一份模板,套所有同类单据。换一张报销单打印,数据自动变,格式始终一致——这就是"模板 + 数据"分离的价值。


四、诚实地说说能力边界

为了不误导,需要把当前能力的边界讲清楚:

  • 这套打印能力主要面向走 BPM 审批的业务单据(报销、用车、出差、合同审批等),打印入口在带流程的单据详情里;
  • 模板是富文本 HTML + 占位符,运行时做字符串替换并交给浏览器打印 / 导出 PDF,覆盖绝大多数"单据打印"场景;
  • 不是一个面向所有页面、像专业报表工具那样精确到毫米定位的独立打印设计平台。对快递面单、不干胶标签这类需要硬件级精确定位的场景,更适合接专门的打印控件。

对于"非审批的普通 CRUD 单据也要一键打印""要更复杂的套打定位"这类需求,因为整套系统基于 Spring Boot + Vue3,完全可以在现有打印数据接口的基础上二开扩展——把打印能力从"流程单据"推广到更多业务页面。先用现成的覆盖主流场景,再按需扩展,是更务实的路径。


五、为什么放进平台一起做

打印这件事,单独做没意义,和业务、流程绑在一起才有价值:

  • 和表单天然对齐
    :模板能直接选到这条流程的字段和明细,不用手工映射;
  • 和审批打通
    :审批节点、意见、时间能作为占位印在单据上,盖章归档时一目了然;
  • 和文件服务打通
    :生成的 PDF 可沉淀到统一文件服务,和单据一起归档;
  • 二开成本低
    :打印数据有统一接口,扩展到更多单据时不用从零造轮子。

六、适合谁

适合
不太适合
报销 / 用车 / 合同等审批单据需要打印归档的企业
完全无纸化、从不打印任何单据的团队
希望行政 / 财务能自己改打印格式、不提需求的组织
需要快递面单、不干胶标签等硬件级精确套打的场景
想让审批意见、明细一并打印留底的单位
需要独立专业报表打印平台、毫米级定位的需求
已用 RuoYi Office 流程审批、想补打印能力的团队

打印不该是"开发写死的一张版面"。当打印格式变成行政、财务自己能拖能改的模板,审批单据的"最后一公里"——打印盖章归档,才真正顺起来。

📎 打印模板和审批流程深度绑定,想看流程和表单怎么搭可对照阅读本站的表单设计器与主子表。


💡 想要体验 RuoYi Office 的强大功能?

🌐 在线演示:http://ruoyioffice.com/web/(账号 admin / admin123)

📦 源码仓库:GitHub | GitCode | Gitee

💬 技术咨询:添加微信 17156169080,备注「RuoYi Office」

⭐ 如果觉得不错,请给个 Star 支持一下!

【声明】内容源于网络
0
0
企业软件源码
RuoyiOffice 是一套基于 Spring Boot + Vue3 +Uniapp 的企业一体化管理平台,集 OA、CRM、ERP、工作流、HR、资产、合同、项目、AI应用等业务于一体,帮助企业用一个系统协同管理多类核心业务。
内容 44
粉丝 0
企业软件源码 RuoyiOffice 是一套基于 Spring Boot + Vue3 +Uniapp 的企业一体化管理平台,集 OA、CRM、ERP、工作流、HR、资产、合同、项目、AI应用等业务于一体,帮助企业用一个系统协同管理多类核心业务。
总阅读159
粉丝0
内容44