O2OA紅頭文件流轉與O2OA版式公文編輯器基本使用

O2OA開發平臺在流程管理中,可以讓用戶在包含公文管理的項目實施過程中,輕鬆地實現標準化公文格式的在線編輯、痕跡保留、手寫籤批等功能。並且可以快速將版式公文編輯器集成到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/divu003e

u003cdivu003eu003c/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

  配置完以上內容後,我們就可以使用公文編輯組件了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章