当前位置: 首页 > article >正文

onlyoffice连接器 二次开发 合同等制式模板化技术开发方案【三】

一、期望效果

        目前曹瑞版本onlyoffice已经实现:书签模式 和 控件模式,用以支持该方案。

【图1】字段绑定
【图2】模板发起
【图3】接入表单

思路讲解:

        业务系统开发中通常希望能够通过绑定form字段给word,从而达到双向同步效果,在产品和实际体验层面就会比传统的表单好很多。

        1、线下\线上制作好基础文件备用。

        2、开发字段绑定相关的业务功能或者说业务系统,这个部分是与onlyoffice无关的独立部件,但是本身逻辑也不简单。后面会着重讲。

        3、开发模板绑定业务功能或者说业务系统,这里与【2】并不冲突,模板化技术并不是只有字段绑定。后面会着重讲。

        4、对于模板设置固定数据,然后为word绑定form字段。

        5、业务系统验证功能,如【图3】。

二、字段绑定系统

        字段绑定有两种方式:

                书签模式:书签模式在线Demo

                控件模式:控件模式在线Demo

        这里着重讲书签模式。参考【图1】中,一般通过选中一段文字确定绑定字段的位置,也就是:word中选中文字->右侧【添加字段按钮】->设置字段配置。

        字段本身有很多配置功能可以搞,比如:amount字段就是金额大小写,字符串字段、人员选择器、部门选择器、字典、其他等等,这里实现起来不容易,但是在模板化技术中必不可少。

        这里需要关注:字段与绑定关系是一对多【图4】,比如说:【合同金额】这个字段在word文件中要出现很多次,并且每个地方的显示会不一样,有地方【小写】有地方【大写】,所以对于书签与字段关系通常采用以下设计:

bookmark1 -> amount

bookmark2 -> amount

【图4】

        

三、模板管理功能

        这里和【字段绑定】是要拆开讲的,【字段绑定】只是模板管理中的一块。在实际业务中我们发现,为了实现【图3】中的效果,实际上应该有:静态form+动态form两个部分组成,单一的靠某一个是行不通的。

        静态form用于处理无需绑定的数据,比如:合同分类,备注、record本身的关联信息、附件等等各种与当前业务表强关联的信息、字段等等,这部分数据哪怕是做成动态form,本身的意义并不大,而且会导致系统出问题的概率几何级别的上升。比如:【图5】。

        动态form用于处理比如合同文件中通用化较高的数据,比如:合同名称、甲方/乙方信息、金额、时间、条款等等常规数据,类似这样的字段对于经常使用业务系统的人来说,就有很大的价值做双向绑定了。

【图5】

四、通用模板数据中间转发层设计思路

        对于业务数据通常是有自己的增删查改接口的,对于比如:合同保存,从业务设计上可以由前端老师决定,是否需要调用特定的业务接口。也可以在模板管理功能中做出类似:save/update的转发层功能,表单数据提交、删除等动作全部由模板层转发,提高前端后端的通用性。

        这个模板层转发思路只作为启发,是否需要你可以自己多思考。各有各的好处。

五、关于作者


http://www.kler.cn/a/446258.html

相关文章:

  • UDP系统控制器_音量控制、电脑关机、文件打开、PPT演示、任务栏自动隐藏
  • 安卓环境配置及打开新项目教程,2024年12月20日最新版
  • Go 1.24即将到来!
  • 【系统】Windows11更新解决办法,一键暂停
  • 我的性能优化经验
  • linux java 查看异常堆栈
  • 嵌入式软件C语言面试常见问题及答案解析(二)
  • 视频点播系统|Java|SSM|VUE| 前后端分离
  • ollama部署本地大模型,Linux以及python调用
  • Mac配置 Node镜像源的时候报错解决办法
  • Mybatis使用xml及纯注解实现增删改查操作
  • 【Verilog】实验八 有限状态机设计
  • vue2实现word在线预览
  • Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量添加文本水印
  • 负载均衡+LNMP+rsync+NFS+lsync部署流程
  • QT exe文件设置图标【终极解决方案!】
  • word实现两栏格式公式居中,编号右对齐
  • 解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
  • Java 单元测试中 JSON 相关的测试案例
  • 【C++算法】48.分治_归并_数组中的逆序对
  • uniapp 图片上传功能以及给图片添加水印
  • 数据分析实战—鸢尾花数据分类
  • 诸葛智能CTO文革:放大数据价值,释放金融营销原动力
  • Day29 C++ 模板
  • day-95 定长子串中元音的最大数目
  • 计算机视觉:原理、分类与应用