RuoyiOffice头像
关注
2026 合同管理系统推荐:SpringBoot3+Vue3架构,支持在线编辑,根据模版生成合同正文封面图

2026 合同管理系统推荐:SpringBoot3+Vue3架构,支持在线编辑,根据模版生成合同正文

2026 合同管理系统推荐:SpringBoot3+Vue3架构,支持在线编辑,根据模版生成合同正文

🌐 文档地址:https://ruoyioffice.com
📦 源码1·GitHub:https://github.com/yuqing2026/ruoyi-office
📦 源码2·GitCode:https://gitcode.com/zhouzhongyan/ruoyi-office
📦 源码3·Gitee:https://gitee.com/yqzy1688/ruoyi-office
💬 微信:17156169080(备注「RuoYi Office」)

2026 年再上合同系统,最容易买错的不是「有没有列表」,而是正文还在某人电脑上。编号、金额、到期日进了台账,Word 仍靠下载、改完、再上传;模板变量对不上表单;审批通过后正文和履约计划各走各的。RuoYi Office 用 Spring Boot 3.5 + Vue3 + OnlyOffice,把「套模板 → 打开即编 → 审批 → 台账履约」收进同一模块。本文按能点的页面讲怎么选、怎么配。

2026 合同选型:三种断层对照打开即编闭环

▲ 上排是 Excel 台账、下载再上传、SaaS 拆单三种断层;下排是模板套变量、打开即编、审批不改稿、履约到期同一套栈


引言:合同系统差在哪,2026 一眼能看出来

选型材料里几乎都写「全生命周期」。真正拉开差距的是四件事:

你问对方的问题答不上来时实际会发生什么
正文能不能在浏览器里改?法务改一版、业务再传一版,系统永远不是最新稿
模板变量从哪来?甲方名称手填两遍,表单和 Word 对不上
草稿和已生效合同是不是两张表?导出台账还要过滤「别把草稿算进去」
收付款计划和正文在不在同一单?履约登记对不上条款,到期提醒找不到责任人

一句话:先选「打开正文即编辑」的栈,再谈审批流和到期 Job。 只有台账、没有可回存正文的产品,2026 已经不够用。

下面用 RuoYi Office 合同模块当样本:不是再复述一遍九种状态机,而是回答「为什么推荐这一套 SpringBoot3 + Vue3,以及打开即编要配哪些开关」。


一、先给出可直接抽取的定义

1.1 什么叫「可在线编辑的合同管理系统」

可在线编辑,不是预览 PDF,而是起草人在浏览器里改 Word/富文本,保存后系统持有最新正文文件或 HTML,审批人按权限只读。 下载链接可以保留,但不能当主路径。

RuoYi Office 的独立页是 /contract/doc-editor,从起草详情里点「合同文件」打开。全局只有一种编辑方式:onlyofficerichtext,由后端 /contract/onlyoffice/editor-mode 下发。

1.2 模板套变量和「套红」不是一回事

套变量,是用 {{甲方}}{{totalAmount}}、表格循环行 {{items}} 把起草单字段灌进 docx。 套红是公文红头,不要混进合同选型问卷。合同这边用 poi-tl 在原始 docx 上替换,排版(字号、编号、表格)跟着模板走,再交给 OnlyOffice 继续编。

1.3 起草单和台账为什么必须分开

起草单是可改、可驳回的草稿;台账是审批通过后的资产。 混在一张 contract 表里,导出「现有合同」永远要写一长串 status 过滤。RuoYi Office 用起草单承载编辑与提交,台账只承接生效后的履约、收付款、到期。


二、2026 怎么选:四类产品对照

市面上常见四类,不要被「合同」两个字糊弄过去。

类型正文模板审批履约适合谁
Excel + 网盘邮件手工10 人以下、年合同个位数
只做台账的开源 CRUD附件上传无或静态 Word可外挂 BPM只要编号查询
纯 SaaS 电子签部分能编厂商模板常在签章产品里常另购接受数据在云上、不改引擎
SpringBoot3+Vue3+文档服务器打开即编变量 + 循环行同平台 BPM计划 + 登记 + Job要源码、要私有化、要和 OA/HRM 一套登录

推荐 RuoYi Office 的理由很具体:

  1. 栈新:Spring Boot 3.5、Vue3、文档服务器可切 OnlyOffice;不是 2018 年的 iframe 套 Word 插件。
  2. 正文在系统里:生成 docx 后点文件名即可编,回存换新 URL,避免缓存读旧稿。
  3. 和审批同登录:合同发起审批走自定义表单路径 /contract/contract-info-detail,不必把 Word 再导进另一套 OA。
  4. 履约不另买模块:收付款计划、履约登记、到期提醒在同一合同域。

不推荐它当「纯电子签 SaaS」替代品:如果你只需要第三方签章、不需要私有化源码,买签章云服务更省。本文推荐的是可二开的合同管理,签章可以后接,正文和台账必须先在自己库里。


三、打开即编:全局一种 editorMode

3.1 为什么不能前端自己选编辑器

简单确认函用富文本就够;正式销售合同要 Word 级排版。如果每个页面自己判断,会出现「模板用 OnlyOffice、起草用富文本、台账又变成附件」三套体验。RuoYi Office 规定:整个系统统一一种方式,启动后读一次、缓存,模板和正文共用。

后端接口:

@GetMapping("/editor-mode")
public CommonResult<String> getEditorMode() {
    return success(onlyOfficeService.getEditorMode());
}

public String getEditorMode() {
    String configured = StrUtil.trimToNull(properties.getEditorMode());
    if (configured != null) {
        return "richtext".equalsIgnoreCase(configured)
                ? "richtext" : "onlyoffice";
    }
    // 未配时:启用且有文档服务器地址 → onlyoffice,否则富文本
    return isEnabled() ? "onlyoffice" : "richtext";
}

显式配置优先;没配就看文档服务器是否启用。前端失败时降级富文本,避免起草页卡死。

3.2 前端只读一次

const editorMode = ref<ContractEditorMode>('richtext');
let loaded = false;

async function ensureLoaded(): Promise<ContractEditorMode> {
  if (loaded) {
    kickOffWarm();
    return editorMode.value;
  }
  editorMode.value =
    (await getContractEditorMode()) === 'onlyoffice'
      ? 'onlyoffice'
      : 'richtext';
  loaded = true;
  kickOffWarm();
  return editorMode.value;
}

OnlyOffice 模式下会空闲预热文档服务器的 api.js,减少第一次打开正文的白屏。同地址只加载一次脚本,避免重复注入冲突。

3.3 独立编辑页怎么开

起草详情里「合同文件」不是下载按钮,而是打开独立页。可编辑时先落草稿拿到 id,再带 bizTypeideditable、版本参数 v。版本跟着文件 URL 变,避免浏览器复用同名弹窗时一直显示旧稿。

真机起草详情里能看到相对方、金额、正文来源和文件链接:

合同起草详情:表单字段与合同文件入口

▲ 起草单上填的是结构化数据;正文通过「合同文件」进入在线编辑,而不是先另存到桌面

独立编辑页标题会标明当前是「高保真在线编辑」还是「富文本编辑」:

在这里插入图片描述

/contract/doc-editor:OnlyOffice 模式走文档服务器;富文本模式走编辑器保存接口

OnlyOffice 保存走文档服务器回调,前端不一定有「保存」按钮;富文本模式才在页头提供保存,写回 contentHtml


四、模板套变量:占位符必须落在对的位置

模板库是卡片墙,不是另一张 Excel。选模板后可以「使用该模版起草」,起草单带上 templateId

在这里插入图片描述

▲ 模板是可复用的正文资产;卡片上能进设计、能直接起草,不要做成只有管理员看得见的隐藏菜单

生成高保真 Word 时,后端用 poi-tl 灌数据。这里有三条必须写进实施清单的约定:

约定正确做法写错时的现象
文档级字段{{合同名称}} / {{totalAmount}}占位符原样留在 Word 里
金额大写{{amount2CN(totalAmount)}} 需公式语法普通 {{ }} 识别不了函数
明细 / 收付款循环标记必须在表格单元格内,同行字段用 [itemName]段落里写 {{items}} 会 templateRow 为空,整份生成失败

核心生成逻辑(节选):

public String generateDocx(ContractInfoDO info, String docTemplateUrl) {
    byte[] bytes = sanitizeLoopRowVMerge(downloadBytes(docTemplateUrl));
    FormulaModel values = new FormulaModel();
    values.putAll(resolveFieldValues(info));

    boolean itemsLoop = isTagInsideTable(bytes, "items");
    boolean plansLoop = isTagInsideTable(bytes, "paymentPlans");
    values.put("items", itemsLoop ? buildItemRows(info.getId()) : "");
    values.put("paymentPlans", plansLoop ? buildPaymentRows(info.getId()) : "");

    ConfigureBuilder builder = Configure.builder()
            .buildGrammerRegex(FORMULA_AWARE_GRAMMER_REGEX);
    if (itemsLoop) {
        builder.bind("items", new LoopRowTableRenderPolicy(true));
    }
    if (plansLoop) {
        builder.bind("paymentPlans", new LoopRowTableRenderPolicy(true));
    }
    // 文件名带时间戳,避免同名覆盖导致编辑器不刷新
    String fileName = info.getContractName() + "_" + System.currentTimeMillis() + ".docx";
    return stripQuery(fileApi.createFile(out.toByteArray(), fileName, "contract", DOCX_MIME));
}

模板里如果把明细行设了纵向合并(vMerge),poi-tl 复制行时会把副本当成续行,结果「明细只剩第一行」。生成前会剥掉循环行的 vMerge。这是实施时最容易被当成「代码没灌数据」的坑。

模板还可以规定「生成后是否允许二次编辑」。contentEditable = false 时,OnlyOffice 和富文本都只读,适合「标准文本不准改、只改填空」的法务模板。


五、台账与履约:正文编完之后系统还要干什么

打开即编解决的是稿在不在系统里。合同能不能交货、能不能收款,靠台账。

台账列表是查询面,不是编辑面:

合同台账列表:生效后的资产查询

▲ 台账列表给法务/财务查已成立合同;草稿不应出现在这里

进台账详情切「收付款计划」,能看到待收付 / 已收付 / 已逾期。履约登记会回写计划并汇总已履约金额。到期前 N 天由定时任务扫,而不是靠谁记得续签。

台账详情:收付款计划

▲ 计划和正文同一合同域;不要把回款另做一张跟合同编号对不上的 Excel

和「只有在线编辑、没有台账」的文档产品对比:那类产品适合协作写稿,不适合当合同系统。2026 选型要把「编」和「履约」写进同一张验收表。

起草态与资产态对照:

维度起草单台账
谁在改起草人、被驳回后的修改原则上不改正文,改走变更流程
正文可生成、可在线编、可上传已生效文本,审批中只读
查询我的草稿 / 审批中公司现有合同资产
下游提交 BPM收付款、履约登记、到期提醒

三条流程(发起审批、变更、签署)是否插入签署环节,由配置 signEnabled 决定:有的公司审批通过即生效,有的必须回传扫描件。同一套代码兼容两种模式,不要为「要不要盖章」再买一套系统。


六、文档 key 与回存:打开能编,还要改完能看见

OnlyOffice 文档服务器按 document.key 缓存。key 不变就会读旧文件。RuoYi Office 的 key 种子是 bizType + bizId + fileUrl,再拼一次打开用的短 id。这样:

  • 保存后换新 URL → 新 key,能看到新稿;
  • 两个模板碰巧同一存储路径 → 仍因 bizId 不同而分开;
  • 某次下载失败被服务器缓存成「假文档」→ 下次打开换 openId,不永久黑屏。

下载和回调都带短时令牌,文档服务器拉文件、回写文件时校验,不把原始存储地址裸暴露到公网。回调识别 bizType:模板回写模板文件,合同回写 contractDocUrl

实施时文档服务器必须能访问到后端的 download / callback 地址(callbackBaseUrl)。只把前端 5800 配进文档服务器是不够的——编辑器在浏览器里,拉文件的是文档服务器进程。


七、和「下载再上传」对比:同一条操作链

把一次改条款走两遍:

步骤下载再上传打开即编
找到合同台账里搜编号,再去网盘找 Word起草单/台账点文件名
修改本地 Word,文件名 最终版-2-法务改.docx浏览器里改,autosave
回系统有人上传、有人忘了回调写新 URL
审批人看到的不一定是最新附件只读打开同一份
履约对条款再打开网盘台账详情同一单

这就是推荐「2026 最新可在线编辑」时,真正要买的能力。UI 漂不漂亮是加分项;回存和权限从后端下发才是及格线。

权限不要前端自己写死:同一份文档,起草人 edit=true,审批预览 editable=0。模板禁止二次编辑时,即便登录人是起草人,也只能看。


八、页面地图:验收时按这条点

菜单 / 路由验收看什么
合同模板 /contract/template卡片能设计、能「使用该模版起草」
合同起草 /contract/contract-draft-list草稿列表;点详情进起草单
起草详情 /contract/contract-info-detail相对方、金额、模板/上传、合同文件链接
正文编辑 /contract/doc-editor能改、能回存;只读时没有可写工具栏
合同台账 /contract/contract-info-list只有生效后资产
台账详情 收付款计划计划行与逾期状态

自定义流程表单的创建路径也指向起草详情,这样「待办里点办理」看到的是同一张单,而不是通用表单设计器里再画一遍合同字段。

台账详情还有「合同文件」页签,和起草单上的文件链接是同一份资产:生效后从这里打开只读预览,履约登记、发起变更、归档、终止仍在页头。

正文来源只有两条,实施时不要再发明第三条:

来源用户动作系统写出的字段
套用模板选模板 → 填可填项 → 生成templateId + contractDocUrlcontentHtml
上传现成文件上传 doc/docx/pdfcontractDocUrlcontentEditable 恒为可编)

上传组件在 maxNumber=1v-model字符串不是数组。如果按数组取 [0],会把 URL 的第一个字符写进库,预览必挂。这是前端最容易用「看起来上传成功了」掩盖的 bug。

相对方不要每张合同手打一遍公司名。起草单应弹出相对方选择(名称、信用代码、地址),套变量时 {{甲方}} 才能稳定。启用 CRM 时可以从客户带入;未启用就用合同域自己的相对方表。选型问卷里要问清「相对方是否已有主数据」,避免上线后再对账对出两套名称。


九、配置清单:上线前对这 8 项

建议配错的现象
全局 editorMode正式合同用 onlyoffice有的页富文本、有的页 Word,用户不会用
文档服务器地址独立进程,HTTPS 与后端互信编辑器转圈、download 401
callbackBaseUrl文档服务器能访问的后端根能打开不能保存
JWT 密钥下载令牌与回调令牌同一套回调 401,正文不回存
模板循环行标记在表格单元格,同行 [字段]明细空或生成失败
文件名唯一生成带时间戳,存库去 query改了还是旧稿
模板二次编辑法务锁定用 contentEditable=false标准文本被业务改花
签署开关按公司是否必须回传扫描件审批通过却不能进台账,或反过来跳过签署

本地开发可以先富文本把起草、审批、台账跑通,再切 OnlyOffice。不要反过来:文档服务器没就绪时硬切 onlyoffice,起草人会卡在「暂无可在线编辑的正文文件」。独立编辑页在没有 contractDocUrl 时会明确提示:请先在起草单生成或上传合同正文。这是预期空态,不是 404。

数据对象可以记三张表的分工,避免实施时再加一张「合同附件汇总」Excel:

存什么不存什么
起草单草稿字段、模板、正文 URL/HTML、流程状态不要当现有合同资产导出
台账生效后的编号、金额、状态、履约进度不要在这里直接改条款
收付款计划计划金额、日期、已收付、逾期不要和财务总账科目混一张表

Spring Boot 3.5 这一档,定时扫描到期与逾期是相邻能力:到期前 N 天发站内信,逾期改计划状态。本文不展开 Job 参数,验收时只要能在台账详情看到计划行和状态标签即可。


十、配的时候容易踩的坑

坑 1:循环行写在段落里。 {{items}} 必须在表格单元格。生成日志里会警告「未放在表格单元格内,已跳过明细循环」。看起来合同生成成功了,明细却是空的。

坑 2:循环行开了纵向合并。 只显示第一条明细。生成前会 sanitize vMerge;自己用 Word 调模板时不要把数据行合并。

坑 3:回存文件名不变。 同名覆盖后 URL 不变,编辑器不重挂载。文件名必须带时间戳,存库时去掉预签名 query,避免二次签名 404。

坑 4:文档服务器访问不到 download。 浏览器能打开合同页,编辑器花屏或报下载失败。检查 callbackBaseUrl 是否是文档服务器能打到的后端地址。

坑 5:把云盘当合同。 企业云盘解决的是文件协作;合同还要相对方、审批、履约计划。不要用「能在线编 Word」替代合同模块。

坑 6:草稿进台账导出。 双表分离就是为了避免这事。实施时不要图省事把两张表并回去。

坑 7:编辑页当普通菜单打开。 /contract/doc-editor 是无侧栏的纯净页,应从起草单文件链接弹出。把它挂进菜单,用户会迷路,也容易丢掉 bizType/id/v 参数。

坑 8:把 OnlyOffice 和云盘编辑器配成两套 key 规则。 合同正文的 document.key 必须含业务主键。云盘文件协作可以按文件版本号;两套混用会出现「该文件版本已经改变了」。合同模块不要复用云盘的 key 生成函数,除非种子字段对齐。

选型谈判时可以要对方现场打开一份正式合同,改一个条款,刷新页面仍在。做不到这一步,再多「全生命周期」文案也不要签。RuoYi Office 用独立编辑页 + 回存换 URL 把这一步做成默认路径;富文本模式则靠页头保存写回 HTML。两种模式都算打开即编,差别只在排版保真度。

模板卡片上的「引用次数」能看出哪份标准文本真在用。引用为 0 的模板可以先冻结,避免法务维护一套没人套的 Word。起草从卡片「起草」进入时会带 templateId,比在起草单里再找一次模板更不容易选错版本。


十一、和周边模块怎么划界

能力放哪不要放哪
相对方主数据合同相对方 / CRM 客户(按你们是否启用 CRM)不要每个合同手打一遍却不落主数据
打开即编合同 doc-editor不要只在云盘里编再手工贴 URL
审批BPM + 合同自定义表单不要邮件传 Word
履约金额合同履约登记不要财务另做一套对不上编号的表
到期提醒合同配置 + 通知模板不要只靠日历备忘

启用 CRM 时,商机转合同可以带相对方;没启用 CRM 时,合同模块自己维护相对方即可。选型时把「是否必须先上 CRM」问清楚,避免被捆绑销售。

私有化还要问三句和 SaaS 无关的:文档服务器能否部署在内网;回调是否必须走公网;正文文件是否进对象存储还是本地盘。RuoYi Office 正文走文件服务,预签名下载给文档服务器拉文件,不把存储密钥下发到浏览器。这和「把 Word 插件装在每个员工电脑」完全不是一个运维模型。

2026 年常见的错误采购是:买了电子签账号,再买一个网盘,再用 Excel 做台账。三份订阅加起来比一套可二开合同模块更贵,还对不上编号。打开即编不是为了炫技,是为了让法务改条款的那 15 分钟发生在系统里。

演示环境里模板卡片能直接「起草」,起草单能提交审批,台账能看收付款——这三条点得通,才叫合同系统,而不是「带附件的 CRUD」。

采购或立项时可以把验收写成签字项,避免上线后才发现「其实还是下载 Word」:

序号验收动作通过标准
1用模板起草一份销售合同相对方、金额进入表单,正文由模板生成
2点合同文件进入编辑浏览器内可改,不是只触发本地下载
3保存后关闭再打开看到刚改的字,而不是旧稿
4提交审批,审批人打开正文只读,结构化字段按节点权限
5生效后进台账看收付款计划行金额与合同总额对得上
6到期前看提醒能找到责任人,而不是只有日期字段

六条里第 2、3 条专门卡「可在线编辑」。过不了就不要在合同里写 OnlyOffice/在线编辑作为已交付能力。RuoYi Office 把第 2 条做成 /contract/doc-editor,把第 3 条做成文件名时间戳 + document.key 含 URL。你可以按同一张表验收其它厂商。


十二、快速体验

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

推荐路径:

  1. 打开「合同模板」,确认卡片能点「使用该模版起草」;
  2. 进入起草详情,看相对方、金额、正文来源(模板 / 上传);
  3. 生成或确认已有「合同文件」后点击文件名,看是否进入在线编辑而不是直接本地下载;
  4. 改几个字保存(OnlyOffice 靠自动保存/强制保存),关掉再打开,确认是新稿;
  5. 提交审批后用审批人打开,确认正文只读;
  6. 到「合同台账」找生效合同,打开「收付款计划」,对照金额是否与起草单一致。

本地启动:后端单体默认 48080,前端 pnpm dev:antd 默认 5800。文档服务器要单独部署,并保证能回调到后端 /admin-api/contract/onlyoffice/callback

源码仓库:GitHub:https://github.com/yuqing2026/ruoyi-office | GitCode:https://gitcode.com/zhouzhongyan/ruoyi-office | Gitee:https://gitee.com/yqzy1688/ruoyi-office


版本锚点:本文描述的是 Spring Boot 3.5 + Vue3 合同模块「全局 editorMode + poi-tl 套变量 + 起草单/台账分离」这一档。到期逾期扫描、云盘在线编辑是相邻能力,不要把三篇文章的菜单配成同一个入口。

和已有合同长文怎么分工:讲九种状态、三条 BPM、双表分离的看全生命周期那篇;讲富文本与文档服务器脚本加载、回存命名的看在线编辑双模式那篇;本文只回答「2026 怎么选一套可打开即编的 SpringBoot3 + Vue3 合同管理,以及验收时点哪几个菜单」。不要三篇复制同一段 poi-tl 循环行说明当续集。


结语

2026 推荐一套 SpringBoot3 + Vue3 合同管理,核心不是再列功能清单,而是把正文从桌面搬进浏览器,并且和模板、审批、履约共用登录与数据。Excel 适合启动期;纯台账 CRUD 适合只查编号;SaaS 电子签适合只做签署。要源码、要私有化、要打开即编,就按「模板变量 → 独立编辑页 → 双表分离 → 收付款计划」这条链验收。

相关阅读建议:合同全生命周期状态机看起草到归档怎么推;在线编辑双模式回存看富文本与文档服务器怎么切换。本文只解决「2026 怎么选、打开即编怎么配」。

欢迎在评论区说说你们现在是下载再上传,还是已经在浏览器里改 Word。若模板循环行只出第一行,也可以对照本文的表格单元格和 vMerge 两条先查。

附录:打开即编相关接口(便于对照 Network)

方法路径用途
GET/contract/onlyoffice/editor-mode全局 onlyoffice / richtext
GET/contract/onlyoffice/document-server-url前端预热 api.js
GET/contract/onlyoffice/config下发 document.key、权限、callback
GET/contract/onlyoffice/download文档服务器拉原文(令牌)
POST/contract/onlyoffice/callback保存后回写模板或合同正文
POST合同生成正文接口poi-tl 套变量产出新 docx URL

前端独立页 /contract/doc-editor 只消费 config 与两种编辑器组件,不自己发明第三套保存协议。联调时按上表从上往下看 401/404,比先怀疑 Vue 组件更快。

常见问题(FAQ)

2026 选合同系统,最小及格线是什么?

三件事同时成立:正文能在浏览器编辑并回存;草稿和已生效资产能分开查询;收付款/履约和合同编号在同一模块。缺任何一项,后期都会用 Excel 补洞。

OnlyOffice 和富文本怎么选?

正式合同、要保留 Word 排版、要循环明细表 → OnlyOffice。内部确认函、条款很少 → 富文本。RuoYi Office 是全局一种模式,不要每个合同类型再分叉一套编辑器接口。

必须上电子签才能叫合同系统吗?

不是。电子签解决的是「怎么变成有法律效力的签署件」。合同系统先解决稿在哪、谁批过、款收到哪一步。可以后接签章,不要颠倒顺序。

模板里的 {{items}} 生成后为什么是空的?

先看标记是否在表格单元格内;再看循环行有没有纵向合并;循环行内字段要用 [itemName] 而不是再套一层 {{ }}。生成成功但明细空,多半是降级成了空字符串而不是抛错。

打开编辑器一直转圈或提示文件版本已改变,是哪里错了?

常见是文档 key 没随文件 URL 变,或文档服务器缓存了失败响应。key 应包含业务主键和文件地址,每次打开再加短 id。同时确认 download 接口返回的是文件流而不是登录页 HTML。

为什么审批通过后不能在台账里直接改金额?

生效合同是资产。改金额、改相对方应走变更流程,避免台账和已签署文本分叉。起草单才是可反复改的地方。

只有 Vue3 后台、没有文档服务器,还能叫在线编辑吗?

能,但是富文本模式:条款进 HTML,打印排版弱于 Word。2026 若合同要给对方律师改稿,仍建议上文档服务器。RuoYi Office 允许先富文本跑通审批和台账,再把 editorMode 切到 onlyoffice,业务表不用推倒重来。

合同模块和 OA 用印、公文是什么关系?

用印管的是章;公文管的是红头文件流转。合同管的是相对方、金额、正文、履约。三者会在「用印申请关联合同编号」处交叉,但不要买一套 OA 就以为合同正文也能在线编。验收时分别点用印申请和合同文件链接。


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

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

📦 源码仓库:GitHub:https://github.com/yuqing2026/ruoyi-office | GitCode:https://gitcode.com/zhouzhongyan/ruoyi-office | Gitee:https://gitee.com/yqzy1688/ruoyi-office

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

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

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/zhouzhongyan/article/details/164230444

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--