O2OA红头文件流转与O2OA版式公文编辑器基本使用

O2OA开发平台在流程管理中,提供了符合国家党政机关公文格式标准(GB/T 9704—2012)的公文编辑组件,可以让用户在包含公文管理的项目实施过程中,轻松地实现标准化公文格式的在线编辑、痕迹保留、手写签批等功能。并且可以快速将版式公文编辑器集成到O2OA开发平台之外的其他协同办公系统中。

一、适用范围

  公文编辑器不同于我们其他的在线文档编辑器,它基本上只限于公文系统中对红头文件的编辑和查看,规定了标准的格式、字体、行距、字据等,编辑自由度是比较低的。O2OA的公文编辑器适用于红头文件的处理,或是对格式要求非常严格的文书编辑。其他情况下的在线文档编辑功能,我们可以选择OnlyOffice、WPS等其他产品,您可以在我们的文档库中找到相关的内容。

二、公文格式简介

  O2OA公文编辑器中的格式规范,是参照《党政机关公文格式》国家标准(GB/T9704—2012)来设定的,下面简略说明一下红头文件的组成和相关格式规范。

一个标准的红头文件,基本上是下面的样式:

公文红头.png

当然不同的文种的格式会略有不同,但主要元素基本一致。下面我们对规范上要求的各个标准做一个简要的说明。

版面

  公文用纸采用A4型纸,幅面尺寸为:210mm x 297mm。

页边与版心尺寸

  公文用纸天头(上白边)为37mm(相当于约104.9pt),公文用纸订口(左白边)为28mm(相当于约74.9pt),版心尺寸为:156mm x 225mm,由此可计算出,下白边为:35mm(相当于约99.2pt),右白边为:26mm(相当于约73.7pt)。

字体和字号

  无特殊说明,公文各要素一般使用3号仿宋字体。

行数和字数

  每页22行,每行28个字。

颜色

  无特殊说明,公文中的文字颜色都为黑色。

版头

  版头内容包括:份号、密级和保密期限、紧急程度、发文机关标志(红头)、发文字号、签发人。

红头基本使用.png

份号、密级和保密期限、紧急程度

  左上角顶格编排,份号一般用6位阿拉伯数字,3号黑体字。

发文机关标志(红头)

  推荐使用小标宋体字,颜色为红色。

发文字号

  发文机关标志下空两行,上行文居左空一字编排,平行文下行文居中编排。采用3号仿宋字体。

签发人

  只有上行文应标注签发人姓名。发文机关标志下空两行编排,“签发人”三字加全角冒号和签发人姓名组成。“签发人”三字用3号仿宋字体,签发人姓名用3号楷体字体,多个签发人每行编排两个姓名。

主体

  主体部分包括:标题、主送、正文、附件说明、发文机关署名、成文日期、印章、附注。

红头样式

标题

  一般用2号宋体字,分一行或多行居中排布。至于标题的位置,规范中说明在红线下方空两行,但在实际使用中,几乎所有项目的客户都反馈反馈,要求标题在红线下方空一行,所以现在公文编辑组件的默认模板设置为红线下空一行编排标题。可以通过自定义模板修改这一规则。

主送单位

  在标题下空一行位置,居左顶格。最后一个单位名称后标全角冒号,使用3号仿宋字体。

正文

  用3号仿宋字体,编排于主送单位名称下一行,每个自然段左空两字,回行顶格。

  文中结构层次用:“一”、“(一)”、“1.”、“(1)”标注,第一层用3号黑体字,第二层用3号楷体字,第三第四层用仿宋字体,

附件说明

  如有附件,在正文下空一行,左空两字编排“附件”二字,后标全角冒号和附件名称。多个附件使用阿拉伯数字标注序号,附件名称较长需要回行时,与上一行附件名称的首字对齐。

发文机关署名和成文日期

  成文日期一般右空四字编排,发文机关在成文日期之上,以成文日期为准居中编排。

  发文机关署名长于成文日期,发文机关署名居右空二字编排,成文日期发文机关首字为准,右移二字。

  采用3号仿宋字体。

附注

  如有附注,居左空二字加圆括号,采用3号仿宋字体。

版记

  版记内容包括:抄送单位、印发单位和印发日期。版记要置于最后一页的最后位置。

版记.png

版记中的分隔线

  分隔线与版心等宽,首条分隔线和末条分隔线使用粗线,中间分隔线用细线。

抄送单位

  一般用4号仿宋字体,左右各空一字编排。

印发单位和印发日期

  一般用4号仿宋字体,印发机关左空一字,印发日期右空一字。

  以上是简略的说明公文中的一些要素编排的格式规范,参考自《党政机关公文格式》国家标准应用指南(GB/T9704—2012),中国质检出版社、中国标准出版社。

三、O2OA版式公文的基本使用

  下面我们介绍一下公文编辑组件的基本用法。公文编辑器可以在流程表单和内容管理表单中使用,它的使用比较简单,我们直接将公文编辑器组件拖动到表单中合适的位置,然后设置相关属性即可。

红头属性.png

基本属性

属性.png

属性介绍:

  

属性

默认值

可选项

说明

标识

documenteditor

组件唯一标识

名称

描述

延时加载

是,否

如果选择“是”,在打开表单时,不会加载公文编辑器组件,您需要通过active方法激活组件。如:

this.form.get("documenteditor").active();

文件模板

系统模板

系统模板

自定义模板

如果选择系统模板,您可以从下面的下拉框中选择系统内置模板,包括:“标准公文类”、“纪要通报类”、“党委既要类”、“函类”、“命令类”、“党委纪委类”、“联合发文类”和“空模板(仅正文)”;

如果选择自定义模板,您需要在下方的模板路径中输入模板html文件的URL。一般情况下,会将自定义模板文件放到Web服务器的非系统目录下,如filetemplete目录下,那么在模板路径中输入:../filetemplete/filename.html

编辑

允许

允许,不允许,

根据脚本

控制是否允许编辑正文。如果选择“根据脚本”,在下面的脚本编辑框中输入脚本,返回true表示允许编辑,否则不允许编辑正文。

打印正文

允许

允许,不允许,

根据脚本

控制是否允许打印正文。如果选择“根据脚本”,在下面的脚本编辑框中输入脚本,返回true表示允许打印,否则不允许打印正文。打印正文是将公文转换为word文件下载,用户直接打印word文件即可。转换word的设置与下面的“word转换”属性配置有关。

查看痕迹

允许

允许,不允许,

根据脚本

控制是否允许查看痕迹。如果选择“根据脚本”,在下面的脚本编辑框中输入脚本,返回true表示允许查看痕迹,否则不允许查看痕迹。

设置缩放

不允许

允许,不允许

是否允许用户对公文进行缩放查看

全角转换

是,否

如果选择“是”,用户在正文中输入或粘贴的所有空格,都会自动转换为全角空格

段落缩进

是,否

如果选择“是”,用户输入回车换行,或粘贴的内容,都会在段落首行自动缩进二字。

双页显示

是,否

默认情况下,公文编辑器在web端不分页,只在转换word后翻页。如果选择“是”,编辑器右上角会出现“双页”按钮,点击后在web端进行模拟分页。

全屏

允许

允许,不允许

是否允许全屏展示公文编辑器

WORD转换

是,否

是否自动将公文转换为Word文件。当选择“是”时,会有下表的配置属性。

当WORD转换选择“是”时,会有下面的配置属性。

配置属性.png

属性

默认值

可选项

说明

转换方式

OOXML

OOXML

Service

Service选项在默认情况下,是为了兼容旧版本而保留的,它转换的word文件在格式上并不符合规范。已经不推荐使用。当然当使用Service选项时,我们可以更新后端服务,使用不同的服务来转换,配合不同的第三方包,可实现word、pdf、ofd等多总格式的转换。这将在后面的章节详细说明。

文件名

转换后存储在文档中的附件名称,如果为空,文件名将会是:“本文档的标题.docx”

附件site

$doc

此处可设定转换后的附件的site属性,这意味着转换后的附件会在设置了相同site的附件组件中展现出来。

转换印章

是,否

转换Word文件时,是否将模拟盖章的图片也转换到WORD文件中。

何时转换

提交时

提交时、保存时

保存时:当文件被保存时,将公文转换为Word文件。它会发生在:用户点保存按钮时,用户按Ctrl+S时,执行脚本this.form.save()时。但是当执行this.data.save()时,不会触发转换动作。当然,当文件提交继续流转时,系统会自动保存文档,所以此时也会执行word转换。

提交时:当文件提交继续流转时,自动转换为word文件。通过点击“继续流转”来提交文件,或通过脚本this.form.process(); 都可触发文件转换。

转换条件

始终转换

始终转换,满足条件时转换

当选择“满足条件时转换”选项时,除了要符合上述“何时转换”的选项外,还需要提供一段脚本,在下方的脚本编辑器中输入,只有当脚本运行返回true时,在进行转换。

公文编辑器数据结构和默认值

基本属性在往下,是默认值的配置:

数据结构.png

当公文编辑器存储的数据是一个JSON对象数据,每个数据都对应公文中的元素的显示内容,它的结构大概是下面的样子:

{"annotation": "附注","attachment": ["logo_new_blue","logo_new_grey_x"],"attachmentTitle": "附件:","copies": " ","copyto": "[抄送]","copyto2": "[发]","copyto2Title": "发:","copytoTitle": "抄送:","editionDate": "[印发日期]","editionUnit": "[印发机关]","fileno": "[文号]","filetext": "u003cdivu003e
u003cdivu003e
u003cdivu003e  正文内容u003c/divu003eu003cdivu003eu003c/divu003e
u003c/divu003e
u003c/divu003e
","issuanceDate": "[成文日期]","issuanceUnit": "[发文机关]","mainSend": "[主送单位:]","meetingAttend": "","meetingAttendTitle": "出席:","meetingLeave": "","meetingLeaveTitle": "请假:","meetingRecord": "","meetingSit": "","meetingSitTitle": "列席:","priority": " ","redHeader": "文件红头","secret": " ","signer": "[签发人]","signerTitle": "签发人:","subject": "[文件标题]","seals": ["http://develop.o2oa.net:20020/x_processplatform_assemble_surface/jaxrs/attachment/download/b6941e81-c24b-47a4-ad22-2a31898b936c/work/9994247e-bd6d-4ffb-85aa-04bbc1fd356f"]
}

我们还是通过表格来说明每个字段的含义。

字段

含义

类型

copies

份号

text

secret

密级

text

priority

紧急度

text

redHeader

发文机关标志(红头)

html

fileno

文号

text

signerTitle

签发人标题

text

signer

签发人姓名

html

subject

文件标题

html

mainSend

主送单位

text

filetext

正文

html

attachmentTitle

附件说明的标题

text

attachment

附件标题

array

issuanceUnit

发文机关署名

html

issuanceDate

成文日期

text

annotation

附注

text

copytoTitle

抄送标题

text

copyto

抄送单位

text

copyto2Title

版记中第二个抄送标题

text

copyto2

版记中第二个抄送单位

text

editionUnit

印发单位

text

editionDate

印发时间

text

meetingAttendTitle

出席标题(会议纪要类的模板中)

text

meetingLeaveTitle

请假标题(会议纪要类的模板中)

text

meetingSitTitle

列席标题(会议纪要类的模板中)

text

meetingAttend

出席人(会议纪要类的模板中)

html

meetingLeave

请假人(会议纪要类的模板中)

html

meetingSit

列席人(会议纪要类的模板中)

html

meetingRecord

记录人(党委会议纪要类的模板中)

html

seals

模拟盖章图片的url

array

再往下是CSS属性,我们可以给版式正文定义额外的样式。接着是校验,这两部分我们将在后续的章节说明。

配置属性

  公文编辑组件属性的“配置”部分,主要是控制公文中各个内容项的显示和值的绑定。

配置属性.png

通用配置

先看每个内容元素的通用配置

通用配置.png

属性

默认值

可选项

说明

是否显示

自动

显示,隐藏,自动,根据脚本

此属性配置本内容元素的显示状态。

显示:无论有没有值,都显示(占位)

隐藏:不显示此内容元素,也不占位

自动:根据此元素的值来确定,空则隐藏,有值则显示

根据脚本:在下方脚本编辑器中输入脚本,运行返回true则显示,否则隐藏。

绑定值

表单数据

表单数据

脚本

设置此元素要显示什么内容。

表单数据:将此元素的值与表单中的字段绑定,(在下方的表单数据属性中输入表单字段标识),当表单中的字段发生变化时,此元素的值也立即变化。

脚本:通过脚本计算此元素的值(在下方的脚本编辑器中输入脚本),当文档保存后,或者公文编辑器执行resetData方法后更新元素值。

编辑文件标题和发文单位

  文件标题元素一般会绑定到文档subject字段,此字段一般是Textfield类型的字段。文件标题过长时,会自动换行,规范要求标题换行要词义完整、长短适宜,这就需要用户手工进行换行,在这种情况下,我们就需要设置文件标题元素为可编辑。

文件标题元素.png

文件标题配置有“允许编辑”属性,三个选项为:“允许”、“不允许”和“根据脚本”,默认值为“不允许”。

  允许:可以让用户在公文编辑器中直接编辑标题,一般都是进行换行分隔操作。

  不允许:不可在公文编辑器中直接编辑标题。

  根据脚本:通过脚本运行返回true表示“允许”,否则“不允许”。

  注意:当标题可编辑时,不要绑定表单数据(保持绑定值选“表单数据”;表单数据为空)。因为如果绑定了数据,用户的修改会被表单上的值重新覆盖。

  我们还可以配置“同步数据路径”,将编辑的内容同步回表单字段,在此处输入表单上的字段标识即可。

  发文单位和标题一样,由于一些格式要求,可设置允许编辑,但没有同步回表单数据的功能。

成文单位.png

一些特殊的元素值

  一般情况下,公文元素内容绑定的值都是字符串,但有以下一些内容,可绑定特殊的值:

  附件:表单数据可以绑定一个附件组件,会计算此附件组件中上传的所有附件,作为公文附件展示在公文内容中。

  签发人:可绑定组织类型的表单字段。选择类型为“身份”。

  主送单位和抄送单位:可绑定组织类型的表单字段。选择类型为“组织”。

自定义元素配置

  在公文编辑器属性的“配置”页面中,有一个“自定义元素配置”,这是用在系统默认元素不够用的情况下,可以在模板中增加自定义元素,并将其要显示的内容,与业务数据绑定。假设需要在版记之前加上一个“其他说明”,如下图:

其他说明.png

可以按以下步骤来实现:

1、拷贝模板文件

  系统模板路径在webserver/x_component_process_FormDesigner/Module/Documenteditor/templete目录下,我们看到templete.json文件,里面设定了每种类型的模板对应的html文件。拷贝一个标准文件模板(standard.html)进行修改。

2、修改模板文件

  在拷贝后的模板文件中,找到Class为“doc_layout_editionArea”的div元素,在此元素上面加如下html代码:

<p class="doc_block doc_layout" data-doc-layout="doc_data_other"></p>

image.png

其中P元素的class设置了“doc_layout”代表这是公文编辑器中的一个有效元素,“data-doc-layout”属性定义了此元素的自定义名称。

  编辑完成后,保存文件,并上传到服务器。本例中,上传到了webserver的filetemplate目录中。

3、使用自定义模板

  在表单编辑中,设置公文编辑器属性中的文件模板为“自定义模板”,模板路径输入上传的模板文件路径。在本例中就是“../filetemplate/standard.html”。

自定义模板.png

4、配置数据绑定

  在公文编辑器属性的“配置”页中,配置自定义元素如下:

image (1).png

其中“doc_data_other”为模板中定义的元素的“data-doc-layout”属性值。

  explain为表单中的任意文本类字段的标识。

  保存表单后,只要explain字段值改变,并触发“change”事件,公文编辑器中的对应元素的显示内容就会发生改变。

文件红头.png

  配置完以上内容后,我们就可以使用公文编辑组件了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT gridlayout 循环设置组件,表格也通用 已解决

在需求中。经常遇到&#xff0c;表格 展示需求。 几乎都是json格式的。 // 列表配置文件QJsonArray listJsonArray getCfgJsonData("details_tab_table_config.json");if (listJsonArray.isEmpty()){return;}ui->gridWidget->setMaximumSize(QSize(310, 180)…

【Mysql】面试题汇总

1. 存储引擎 1-1. MySQL 支持哪些存储引擎&#xff1f;默认使用哪个&#xff1f; 答&#xff1a; MySQL 支持的存储引擎包括 InnoDB、MyISAM、Memory 等。 Mysql 5.5 之前默认的是MyISAM&#xff0c;Mysql 5.5 之后默认的是InnoDB。 可以通过 show engines 查看 Mysql 支持…

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据&#xff0c;由一个主要数据文件&#xff08;.mdf&#xff09;和若干个次要数据文件&#xff08;.ndf&#xff09;构成&#xff1b;日志文件用于存储事物日志&#xff0c;由.ldf文件…

创龙教仪基于瑞芯微3568的ARM Cortex A-55教学实验箱 适用于人工智能 传感器 物联网等领域

适用课程 Cortex-A55 ARM嵌入式实验箱主要用于《ARM 系统开发》、《ARM 应用开发》《物联网通信技术》、《嵌入式系统设计》、《移动互联网技术》、《无线传感器网络》、《物联网设计方法与应用》、《人工智能》等课程。 适用专业 Cortex-A55 ARM嵌入式实验箱主要面向电子信…

Java项目:71 ssm基于ssm+vue的外卖点餐系统+vue

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统功能 系统分为前台订餐和后台管理&#xff1a; 1.前台订餐 用户注册、用户登录、我的购物车、我的订单、商品列表 2.后台管理 商品管理&#xf…

Linux:文件读取指令

Linux&#xff1a;文件读取指令 cat指令more指令less指令head指令 & tail指令grep指令 cat指令 cat指令用于查看目标文件的内容。 语法&#xff1a;cat [选项][文件] 比如直接使用cat读取一个文件&#xff1a; 可以看到&#xff0c;其直接在指令的下方&#xff0c;输出了t…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow&#xff1a; Git flowGithub flowGitlab flow 三种工作流程&#xff0c;有一个共同点&#xff1a;都采用"功能驱动式开发&…

7-Zip 23.00 beta以上版本的压缩包兼容性问题

7-Zip 23.00 beta加入了ARM64 filter&#xff0c;7-Zip 24.02 beta加入了RISCV filter&#xff0c;这两个filter不能在之前的版本解压&#xff0c;这两个filter目前只适用于ARM64/RISCV的扩展名是exe/dll的可执行文件&#xff0c;其中ARM64的exe/dll目前比较常见&#xff0c;RI…

kafka2.x版本配置SSL进行加密和身份验证

背景&#xff1a;找了一圈资料&#xff0c;都是东讲讲西讲讲&#xff0c;最后我还没搞好&#xff0c;最终决定参考官网说明。 官网指导手册地址&#xff1a;Apache Kafka 需要预备的知识&#xff0c;keytool和openssl 关于keytool的参考&#xff1a;keytool的使用-CSDN博客 …

Springboot+vue的作业管理系统+数据库+报告+免费远程调试

项目介绍: Springbootvue的作业管理系统&#xff0c;Javaee项目&#xff0c;springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的作业管理系统&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&…

485问题汇总

485问题汇总 485 通信波形没有负电压 问题描述&#xff1a;设备在没有外设的时候通信波形是正常的&#xff0c;即5V可以出来&#xff0c;在连接上设备后&#xff0c;设备的通信波形的-5V会随着设备的增多&#xff0c;电压会慢慢上升。当设备连接到24台设备后&#xff0c;485总…

蓝桥杯十四届 试题E接龙数列

思路&#xff1a; 做题要想到用对立面解题&#xff0c;要求最短的&#xff0c;就可以先求最长的 //先求最长的接龙序列的长度maxx&#xff0c;再用长度n减去maxx //先声明dp数组&#xff0c;记录以0-9结尾的最长的接龙数列的长度 //以字符串的形式输入 //更新以b结尾的最大接…

linux系统------------MySQL 存储引擎

目录 一、存储引擎概念介绍 二、常用的存储引擎 2.1MyISAM 2.1.1MYlSAM的特点 2.1.2MyISAM 表支持 3 种不同的存储格式⭐&#xff1a; &#xff08;1&#xff09;静态(固定长度)表 &#xff08;2&#xff09;动态表 &#xff08;3&#xff09;压缩表 2.1.3MyISAM适…

使用 Dify 和 AWS Bedrock 玩转 Anthropic Claude 3

本篇文章&#xff0c;聊聊怎么比较稳定的使用 Anthropic Claude 3&#xff0c;以及基于目前表现非常好的模型&#xff0c;来做一些有趣的 AI Native 小工具。 写在前面 在实际体验了半个多月&#xff0c;月初上线的 Anthropic Claude Pro 后&#xff0c;发现 Claude 3 系列模…

学习几个地图组件(基于react)

去年开发时用的公司封装的地图组件&#xff0c;挺方便的&#xff0c;但是拓展性不强&#xff0c;所以看看有哪些优秀的开源地图组件吧 1、React Leaflet 介绍&#xff1a;开源的JavaScript库&#xff0c;用于在web上制作交互式地图&#xff0c;允许你使用React组件的方式在应…

QT作业。。

1.使用手动连接&#xff0c;将登录框中的取消按钮使用t4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数将登录按钮使用t5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断u界面上输入的账号是否为"admin"&#xff0c;密码是否为&q…

Web前端笔记+表单练习+五彩导航

一、笔记 表单&#xff1a;数据交互的一种方式 登录、注册、搜索 <from> <input type""> --- <input type"text"> --- 普通输入框&#xff0c;内容在一行显示 <input type"password"> --- 密码框 <input type"…

内存卡损坏怎么修复数据,内存卡损坏修复数据方法

内存卡损坏是许多用户都可能面临的问题。当我们的内存卡损坏时,其中存储的重要数据可能会受到威胁,承载着我们无尽回忆的数据,一旦失去,将成为大家心中永远的遗憾。因此我们迫切需要找到一种方法来修复这些数据。本文将介绍一些内存卡损坏修复数据方法,帮助大家解决因为内…

【计算机视觉】Gaussian Splatting源码解读补充(一)

本文旨在补充gwpscut创作的博文学习笔记之——3D Gaussian Splatting源码解读。 Gaussian Splatting Github地址&#xff1a;https://github.com/graphdeco-inria/gaussian-splatting 论文地址&#xff1a;https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gauss…

物联网数据报表分析

随着物联网技术的迅猛发展&#xff0c;越来越多的企业开始将物联网解决方案应用于各个领域&#xff0c;从提高生产效率到优化用户体验&#xff0c;物联网都发挥着至关重要的作用。然而&#xff0c;如何有效地分析和管理物联网产生的海量数据&#xff0c;成为企业面临的挑战之一…