思泉軟體開發平臺如何在已存在的流程記錄上發起流程?

leiwencheng發表於2020-11-25

   目前在思泉軟體開發平臺上發起流程,會在與流程關聯表單的實體表中新建一條記錄,儲存提交後流轉審批。如果記錄已經存在了,就不能在該記錄上發起流程了。換個思路吧,重新建一個實體表關聯到該存在的實體表,然後再新建一個流程,難點就在新的表單中要巢狀顯示原表單。

  案例分析:開票表單,走開票流程,完成之後呼叫遠端介面開具電子發票。然後發現發票開錯了,要衝正,就要再發起一個衝紅流程。

  開票管理實體:

開票衝紅實體: (很簡單,只需要有個關聯欄位就可以了)

再看下錶單設計,開票管理的表單ID為1200188,詳細內容就不介紹了:

開票衝紅表單設計,要先自動生成,然後再改為自定義設計: 取消選擇右側的“重構表單”,在原始碼檢視下面加一些程式碼。一條分隔線,一個iframe用於內嵌顯示開票表單(注意要設定高度),然後有一個遮罩,讓內嵌的表單不能編輯。我還有寫一個隱藏的input控制元件,如果你的應用中不需要可以刪除。注意修改後切換出原始碼檢視,再儲存。

  還需要設計開票衝紅表單的指令碼以及事件觸發:

  下面來細看一下指令碼:

// 選擇開票管理後觸發事件

function afterChooseKP(id, textValue, ctl) {

   if (id == null || id <= 0) {

       return;

   }

//formID 為開票表單ID, listid和rm為開票列表ID

   var url = "../FormDesign/BaseInfoForm.aspx?formId=1200188&listid=1200136&rm=1200136&bizId=" + id;

// frameKP 為自定義的iframeID

$("#frameKP").attr("src", url);

// 載入內嵌表單1秒後,隱藏工具欄按鈕

   setTimeout(function () {

       $("#frameKP").contents().find("#vista_toolbar").hide();

   }, 1000);

}

然後再為開票衝紅表單建立一個工作流:

 

然後就可以執行了,執行效果如下(紅色區域為內嵌的表單):


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22737988/viewspace-2736965/,如需轉載,請註明出處,否則將追究法律責任。

相關文章