作为开源协同办公项目,O2OA提供了符合国家党政机关公文格式标准(GB/T 9704—2012)的公文编辑组件,可以让用户在不需要付出额外成本,就可以实现标准化公文格式的编辑。

适用范围

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

一、公文格式简介

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

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

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

版面

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

页边与版心尺寸

  

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

字体和字号

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

行数和字数

  每页22行,每行28个字。

颜色

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

版头

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

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

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

发文机关标志(红头)

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

发文字号

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

签发人

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

主体

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

标题

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

主送单位

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

正文

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

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

附件说明

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

发文机关署名和成文日期

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

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

  采用3号仿宋字体。

附注

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

版记

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

版记中的分隔线

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

抄送单位

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

印发单位和印发日期

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

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

二、基本使用

  接着我们介绍一下公文编辑组件的基本用法。

  公文编辑器可以在流程表单和内容管理表单中使用。

  直接将公文编辑器组件拖动到表单中合适的位置,然后设置相关属性即可。

下面我们来说明每个属性配置。

基本属性

基本属性

属性

默认值

可选项

说明

标识

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转换选择“是”时,会有下面的配置属性。

属性

默认值

可选项

说明

转换方式

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时,在进行转换。

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

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

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

{"annotation": "附注","attachment": ["logo_new_blue","logo_new_grey_x"],"attachmentTitle": "附件:","copies": " ","copyto": "[抄送]","copyto2": "[发]","copyto2Title": "发:","copytoTitle": "抄送:","editionDate": "[印发日期]","editionUnit": "[印发机关]","fileno": "[文号]","filetext": "\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e  正文内容\u003c/div\u003e\n\n\u003cdiv\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n","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属性,我们可以给版式正文定义额外的样式。接着是校验,这两部分我们将在后续的章节说明。

配置属性

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

通用配置

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

属性

默认值

可选项

说明

是否显示

自动

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

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

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

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

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

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

绑定值

表单数据

表单数据

脚本

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

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

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

编辑文件标题和发文单位

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

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

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

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

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

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

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

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

一些特殊的元素值

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

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

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

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

自定义元素配置

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

  假设需要在版记之前加上一个“其他说明”,如下图:

可以按以下步骤来实现:

1、拷贝模板l文件

  系统模板路径在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>

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

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

3、使用自定义模板

  在表单编辑中,设置公文编辑器属性中的文件模板为“自定义模板”,模板路径输入上传的模板文件路径。在本例中就是“../filetemplate/standard.html”。(关于自定义模板的制作,我们将在第三章中详细描述)

4、配置数据绑定

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

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

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

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

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

开源OA的公文编辑器详解:公文格式和基本使用相关推荐

  1. Java开源项目Hibernate包作用详解

    Java开源项目Hibernate包作用详解 本文引自:http://hi.baidu.com/nick6610/blog/item/70b58afa0d0eab9259ee90f7.html Jav ...

  2. FreeModbus开源协议栈的移植和详解(三)- RTU协议代码分析

    FreeModbus开源协议栈的移植和详解(三) 目录 概述 一.RTU文件夹的文件 二.mbrtu.c文件 2.1数据类型说明 2.2函数说明 2.1eMBRTUInit()函数 2.2eMBRTU ...

  3. FreeModbus开源协议栈的移植和详解(一)- FreeModbus的下载和文件结构

    FreeModbus开源协议栈的移植和详解(一) 引言 一.FreeModbus的获取 二.FreeModbus文件夹的介绍 三.Modbus文件夹介绍 四.小结 引言 很多做单片机或者嵌入式的朋友对 ...

  4. ubuntu 文件权限命令详解使用格式和方法

    为什么80%的码农都做不了架构师?>>>    在 Ubuntu Linux 中用源码文件安装软件时经常都会用到chmod命令来更改文件的权限使其在安装时有执行的权限.由于 Ubun ...

  5. 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)

    Datawhale 作者:赵楠.杨开漠.谢文昕.张雨 寄语:本文针对5大机器学习经典算法,梳理了其模型.策略和求解等方面的内容,同时给出了其对应sklearn的参数详解和代码实现,帮助学习者入门和巩固 ...

  6. EasyPR中文开源车牌识别系统 开发详解

     在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...

  7. ionic 修改组件默认样式_开源Magpie:组件库详解

    开源项目专题系列(八)1.开源项目名称:magpie_fly2.github地址: https://github.com/wuba/magpie_fly 3.简介:magpie_fly 是58集体出品 ...

  8. 6.Linux中vi/vim编辑器详解

    文章目录 前言 一.vim/vi 介绍 二.vi/vim学习图(初级) 三.文本编辑(状态)概览 四.使用vi打开文本的方式 五.命令模式 1.进入插入模式(进行文本编辑) 2.从插入模式切换为命令行 ...

  9. chmod命令详解使用格式和方法

    Linux系统中文件调用的权限分为三级:文件拥有者(u).群组(g).其他(o).用chmod就可以更改文件的权限.chmod是一个相当灵活的命令,对同一个文件的权限的修改可以用多种风格的命令格式来实 ...

  10. Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解

    http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5 Ffmpeg快速命令使用 From Ffmpeg工程组 Jump to: navigatio ...

最新文章

  1. 2021年春季学期-信号与系统-第十四次作业参考答案-第八小题参考答案
  2. 维护一套同时兼容 iOS 6 和 iOS 7,并且能够自动适应两个系统的 UI 风格的代码...
  3. Web项目中引进EasyUI的路径问题
  4. (转ORCLE导入导出命令)
  5. 京东到家程序员删库跑路 ! 讲一讲 MySQL 数据备份杀手锏 binlog
  6. 教你学习CI框架codelgniter——CI框架基本配置
  7. 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法
  8. 品优购案例之横向列表伪元素的应用
  9. 使用derby导入mongodb数据
  10. 快手批量下载-支持作者所有视频无水印带标题
  11. linux启动盘制作
  12. SGD,Momentum,优化算法原理及实现
  13. 三菱伺服自动调谐_MR-J3-700B4-RJ004 更为先进的实时自动调谐通过设定响应值, 三菱MR-J3-700B4-RJ004 - 广州凌控...
  14. 皇家骑士团 100问
  15. CNCC 2022| 隐私计算:理论、技术、应用与未来
  16. 学python编程从入门到实践方法-python自学Day07(自学书籍python编程从入门到实践)...
  17. selenium:class属性内带有空格的定位坑
  18. web应用防火墙检测恶意流量的方法
  19. 错误解决---void value not ignored as it ought to be
  20. 【mqtt】centos搭建EMQ mqtt服务器

热门文章

  1. c语言召唤窗口,如何设计出高点击率的行为召唤按钮?
  2. 相似图片搜索——感知哈希算法
  3. godaddy购买域名
  4. win7计算机相机,笔记本win7怎么拍照_win7电脑照相机如何打开
  5. hdmi接口线_学会这几招,从此购买HDMI高清线不再被坑
  6. 单片机STM32入门——(2)按键控制
  7. 矢量网络分析仪(矢网)组成和原理简介
  8. 电路图中电阻分类字母速记说明图文
  9. 从产品模式到生活方式,苏宁小Biu车联网迈过了哪些坎?
  10. Element-UI下拉框el-select实现拼音搜索