目前在思泉軟件開發平臺上發起流程,會在與流程關聯表單的實體表中新建一條記錄,保存提交後流轉審批。若是記錄已經存在了,就不能在該記錄上發起流程了。換個思路吧,從新建一個實體表關聯到該存在的實體表,而後再新建一個流程,難點就在新的表單中要嵌套顯示原表單。ide
案例分析:開票表單,走開票流程,完成以後調用遠程接口開具電子發票。而後發現發票開錯了,要衝正,就要再發起一個衝紅流程。工具
開票管理實體:
url
開票衝紅實體:(很簡單,只須要有個關聯字段就能夠了)
spa
再看下錶單設計,開票管理的表單ID爲1200188,詳細內容就不介紹了:
設計
開票衝紅表單設計,要先自動生成,而後再改成自定義設計:
3d
取消選擇右側的「重構表單」,在源碼視圖下面加一些代碼。一條分隔線,一個iframe用於內嵌顯示開票表單(注意要設置高度),而後有一個遮罩,讓內嵌的表單不能編輯。我還有寫一個隱藏的input控件,若是你的應用中不須要能夠刪除。注意修改後切換出源碼視圖,再保存。orm
還須要設計開票衝紅表單的腳本以及事件觸發:
blog
下面來細看一下腳本:接口
//選擇開票管理後觸發事件事件
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);
}
而後再爲開票衝紅表單創建一個工做流:
而後就能夠運行了,運行效果以下(紅色區域爲內嵌的表單):