目前在思泉軟體開發平臺上發起流程,會在與流程關聯表單的實體表中新建一條記錄,儲存提交後流轉審批。如果記錄已經存在了,就不能在該記錄上發起流程了。換個思路吧,重新建一個實體表關聯到該存在的實體表,然後再新建一個流程,難點就在新的表單中要巢狀顯示原表單。
案例分析:開票表單,走開票流程,完成之後呼叫遠端介面開具電子發票。然後發現發票開錯了,要衝正,就要再發起一個衝紅流程。
開票管理實體:
開票衝紅實體:(很簡單,只需要有個關聯欄位就可以了)
再看下錶單設計,開票管理的表單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);
}
然後再為開票衝紅表單建立一個工作流:
然後就可以執行了,執行效果如下(紅色區域為內嵌的表單):
本作品採用《CC 協議》,轉載必須註明作者和本文連結