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的转发层功能,表单数据提交、删除等动作全部由模板层转发,提高前端后端的通用性。

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

五、关于作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPF+MVVM案例实战与特效(四十五)- 打造优雅交互:ListBox 的高级定制与行为触发(侧边菜单交互面板)

文章目录 1、引言2、案例效果3、案例实现1、依赖安装2、文件创建3、代码实现1、依赖引用与上下文2、个性化视觉效果:自定义 ItemContainerStyle3、页面样式与布局完整代码4、ViewModel 逻辑实现5、子界面代码:3、实现效果4、源代码获取5、总结1、引言 在WPF应用程序开发中,…

【优选算法】复写零

链接:1089. 复写零 - 力扣(LeetCode) 算法原理: 解法:双指针算法 根据“异地”操作,然后优化成双指针下的“就地”操作 1.先找到最后一个“复写”的数 1.先判断 cur 位置的值 2.决定 dest 向后移动一步或…

moviepy将图片序列制作成视频并加载字幕 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” -------------------------------------------------------------…

ubuntu20.04安装imwheel实现鼠标滚轮调速

ubuntu20.04安装imwheel实现鼠标滚轮调速 Ubuntu 系统自带的设置中仅具备调节鼠标速度的功能,而无调节鼠标滚轮速度的功能。其默认的鼠标滚轮速度较为缓慢,在查看文档时影响尚可接受,但在快速浏览网页时,滚轮速度过慢会给用户带来…

ubuntu开机进入initramfs状态

虚拟机卡死成功起后进入了initramfs状态,可能是跟文件系统有问题或者检索不到根文件系统,或者是配置错误,系统磁盘等硬件问题导致 开机后进入如下图的界面, 文中有一条提示 要手动fsck 命令修复 /dev/sda1 命令如下 fsck /de…

STL格式转换为OBJ格式

STL格式与OBJ格式简介 STL格式 STL(Stereo Lithography)文件是一种用于3D打印和计算机辅助制造(CAM)的文件格式。它最初由3D Systems公司开发,主要用于立体光刻技术。STL文件通常分为二进制和ASCII两种格式&#xff…

git命令恢复/还原某个文件、删除远程仓库中的文件

有时刚创建的远程仓库,可能无意中把一些没用的文件上传到仓库,本文介绍一下怎么删除这些文件。 一、git命令恢复某个文件 第一步:拉取最新代码 git pull 第二步: 查看git 修改的文件状态 git status 第三步:查看…

Chapter 3-1. Detecting Congestion in Fibre Channel Fabrics

Chapter 3. Detecting Congestion in Fibre Channel Fabrics This chapter covers the following topics: 本章包括以下主题: Congestion detection workflow. Congestion detection metrics. Congestion detection metrics and commands on Cisco MDS switches. Automatic A…

音视频入门基础:MPEG2-TS专题(20)——ES流简介

《T-REC-H.222.0-202106-S!!PDF-E.pdf》第27页对ES进行了定义。ES流是PES packets(PES包)中编码的视频、编码的音频或其他编码的比特流。一个ES流(elementary stream)在具有且只有一个stream_id的PES packets序列中携带&#xff1…

python+opencv+棋盘格实现相机标定及相对位姿估计

pythonopencv棋盘格实现相机标定及相对位姿估计 引言1,使用相机采集含棋盘格图像14张2,进行相机标定(1)测试软件1标定结果(内参及畸变系数)(2)测试软件2标定结果(内参及畸…

【笔记】学校教的SSH:远程连接到另一个电脑 并对其进行操作

前言:我开了两台虚拟机做这个实验 一台是主机A ubuntu 一台是主机B centos7 (一)这里是在ubuntu进行的操作 1.安装ssh sudo apt install ssh 2.确认ssh激活了 systemctl status ssh 然后如图 这里是在主机B操作 就是如此简单 远程连接…

(九)腾讯cloudstudio(ubuntu)+akiaaa大神 Stable Diffusion整合包 AI绘画教程

一、说明 在网上转了一圈,发现确实akiaaa大神的整合包不错,看看这界面就比我前面的流弊多了,后面我们就要把这个界面一步一步干出来 二、环境准备 这里和前面的一样 (七)腾讯cloudstudioStable-Diffusion-webui AI绘…

6UCPCI板卡设计方案:8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台

基于双TMS320C6678 XC7K420T的6U CPCI Express高速数据处理平台 1、板卡概述 板卡由我公司自主研发,基于6UCPCI架构,处理板包含双片TI DSP TMS320C6678芯片;一片Xilinx公司FPGA XC7K420T-1FFG1156 芯片;六个千兆网口&#xff…

【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p38654 在当今时代背景下,社会发展日新月异,人们的生活方式与消费观念正经历深刻变革。MoonFox 月狐数据的《2024 年悦己生活消费洞察报告》聚焦于这一充满活力与变化的消费领域。随着就业、婚姻等社会压力的…

路由器的原理

✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网路安全入门系列 目录 路由器的原理一,路由器基础及相关…

Elasticsearch-分词器详解

什么是分词器 1、分词器介绍 对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 常用的中文分词器有ik按照切词的粒度粗细又分为:ik_max_word和ik_smart&…

怿星科技联合赛力斯举办workshop活动,进一步推动双方合作

12月18日,由怿星科技与赛力斯汽车联合举办的workshop活动在赛力斯五云湖总部展开,双方嘉宾围绕智能汽车发展趋势、行业前沿技术、汽车电子网络与功能测试等核心议题展开了深度对话与交流,并现场参观演示了多套前沿产品。怿星科技CEO潘凯、汽车…

tomato靶场攻略

前提:kali和tomato的连接方式都为net模式 tomato的默认网络连接方式为桥接模式,导入前注意修改,将tomato.ova的镜像导入虚拟机中 出现此页面则表示导入成功,打开kali虚拟机终端,切换为root权限 arp-scan -l 浏览器访…

深度学习中,用损失的均值或者总和反向传播的区别

如深度学习中代码: def train_epoch_ch3(net, train_iter, loss, updater):"""The training loop defined in Chapter 3."""# Set the model to training modeif isinstance(net, torch.nn.Module):net.train()# Sum of training lo…

K8S Ingress 服务配置步骤说明

部署Pod服务 分别使用kubectl run和kubectl apply 部署nginx和tomcat服务 # 快速启动一个nginx服务 kubectl run my-nginx --imagenginx --port80# 使用yaml创建tomcat服务 kubectl apply -f my-tomcat.yamlmy-tomcat.yaml apiVersion: apps/v1 kind: Deployment metadata:n…