SharePoint Online 提交表單

  前言前端

  上一篇文章,咱們介紹瞭如何定製工做流表單,也就是使用佈局和控件,把表單畫成HTML頁面。佈局

  這篇文章,咱們會深刻介紹裏面的詳細功能,包括初始化字段、保存表單、初始化表單、編輯表單,提交工做流。測試

  初始化審批人字段ui

  從最開始看這個系列文章的朋友應該瞭解,咱們流程裏的審批人字段,是來自SharePoint Group的,裏面加的人能夠在流程裏選擇。因此,工做流表單裏的人,也須要選擇組裏的人。spa

  1.咱們須要用到JQuery插件,首先下載JQuery庫,上傳到Library文檔庫裏(咱們以前建立好的),而後添加引用,以下圖:插件

  這個很簡單,若是有不明白的,能夠參考以前上傳layui庫的過程,同樣同樣的3d

 

  2.在審批人的控件上添加一個ID屬性,爲初始化控件作準備,以下圖:對象

  添加ID爲了讓JQuery更方便、準確的找到這個控件blog

 

  3.添加一個獲取組內人員的方法,同時,用JQuery綁定到對應控件上,以下圖:ip

  標註(1)是初始化審批人控件,讓下拉框裏的值是SharePoint Group裏的人員;標註(2)是根據SharePoint Group的ID獲取組;標註(3)是若是URL上存在ItemId這個參數,說明當前頁面是編輯狀態,要在初始化下拉框之後,初始化表單。

 

  4.在頁面初始化保存和提交方法後,初始化審批人這個字段,以下圖:

  咱們能夠看看整個邏輯,先判斷ItemId是否是存在,而後分別進入新建項目或者編輯項目的方法,在方法的最後傳入Save仍是Submit的標識(bool類型)

 

  5.咱們能夠看到綁定之後的效果,審批人這個字段變成能夠選擇的樣式了,以下圖:

 

  6.咱們再看看以前建立的SharePoint Group,審批人都是來自這個組裏的用戶,以下圖:

  至此,初始化表單審批人字段的工做,就完成了

 

  編寫保存功能

  表單的保存功能,顧名思義就是把數據存到列表裏。主要包括新建項目(直接保存到列表),編輯項目(加載頁面的時候,根據Url上的ItemId初始化表單,把這條數據初始化到表單上,而後編輯後再進行保存)。

  7.新建表單功能仍是比較簡單的,主要操做就是讀取頁面中控件的值,而後保存到列表裏便可,以下圖:

  這裏須要注意的就是,若是Submit的時候,會多存一個狀態值Status爲Submit(保存時是Draft,默認值不須要提交),這個是爲下一步操做的。其次就是新建之後要跳轉,就是把當前頁面的Url後面加個參數ItemId,參數的值就是新建的項目的ID,讓編輯的時候能夠獲取到項目。

 

  8. 初始化表單,就是爲了編輯表單作準備,當這個項目是保存過的狀態,須要先初始化一下,以下圖:

  代碼邏輯很簡單,就是根據Url的參數ItemId獲取到項目,把項目裏的值初始化到表單上,讓用戶再編輯

 

   9.編輯表單和新建表單的代碼幾乎同樣,惟一的區別就是要先初始化表單,而後再將表單修改後的值更新到這個項目裏,以下圖:

 

  10.下面咱們看一看編輯表單的效果,就是會根據Url參數把ItemId爲9的項目初始化到表單上,而後編輯這個項目,編輯完畢還會保存到這個項目,以下圖:

 

  11.同時,若是這個項目已經提交了,還會根據表單的Status狀態,禁用頁面上的控件,隱藏提交和保存按鈕,讓表單變成僅查看狀態,以下圖:

 

  修改提交工做流

  修改提交工做流,是爲了完成提交功能,整個修改也是很是簡單的,利用了一個叫作[等待域更改]的操做。

  12.咱們添加了一個字段叫Status,默認值是Draft,在表單點擊提交的時候,會更新爲Submit,以下圖:

 

  13.流程圖後半部分和以前是同樣的,只更改了紅色圈內的部分,以下圖:

  項目新建的時候,會啓動工做流。點擊保存的時候Status的值是Draft,流程走否的分支,進入等待狀態,直到點擊提交Status變爲Submit繼續。表單點擊提交按鈕,Status的值是Submit,新建的時候點提交直接進入後面的流程;編輯的時候點提交結束等待域更改,進入後面的流程。

 

  14.咱們看到兩條測試數據,分別是提交和保存之後的狀態,以下圖:

  若是是保存的項目,編輯後點擊提交,會和提交一個狀態

 

  15.咱們看保存流程的詳情,狀態是咱們在流程裏更新爲Draft的,沒有分配任務給審批人,同時也沒有寫歷史記錄,以下圖:

 

  16.咱們在ItemId爲15的這條數據的編輯模式下,點擊提交,以下圖:

 

  17.咱們再看看工做流狀態,裏面工做流狀態變爲In Process,審批任務已經分配給審批人,同時歷史記錄也已經記錄下來了,以下圖:

 

  結束語

  至此,整個提交表單的功能都已經結束了。本文比較偏重動手能力,簡單的總結一下,就是利用前端表單控件和SharePoint JavaScript進行結合,配合工做流調整,完成整個表單的提交功能。

  本文的重點是前端表單控件,能夠選擇你喜歡並熟悉的;SharePoint JavaScript對象模型,是必需要了解到;一塊兒配合工做流,添加點想象力,完成這樣的功能。固然,咱們還能夠直接用JavaScript對象啓動工做流,可是代碼量很大,後面有機會,也會介紹給你們。

相關文章
相關標籤/搜索