添加一个 隐藏的字段 到第一个窗体,设置ID 为“ID”,并将下面的值添加到 默认值。第一种表单是指在流程活动映射中映射到 运行流程实体的表单。
#requestParam.recordId# |
这样,如果加载了现有记录,则在创建新流程实例时,流程实例将随后引用该记录。
在相同的表单,创建一个新的分区,保持空白。编辑该部分,将加载绑定器 设置 为 Bean Shell表单绑定器。将下面的代码插入它。
import org.joget.apps.form.lib.SaveAsDraftButton;
import org.joget.apps.form.lib.CustomHTML;
import org.joget.apps.form.model.Column;
import org.joget.apps.form.model.Element;
import org.joget.apps.form.model.FormAction;
import org.joget.apps.form.model.FormData;
import org.joget.apps.form.model.Section;
import org.joget.apps.form.service.FormUtil;
import java.util.ArrayList;
import java.util.Collection;
Collection formActions = new ArrayList();
String saveButtonLabel = "Save As Draft";
Element saveButton = new SaveAsDraftButton();
saveButton.setProperty(FormUtil.PROPERTY_ID, "saveAsDraft");
saveButton.setProperty("label", saveButtonLabel);
formActions.add(saveButton);
Section section = element;
ArrayList columns = (ArrayList) section.getChildren();
Column column = columns.get(0);
column.setProperty("horizontal", "true");
column.setChildren(formActions);
//add a custom html to fix the layout issue
Element html = new CustomHTML();
String script = "<script>$(document).ready(function(){";
script += "$(\"#"+section.getPropertyString("id")+"\").find(\".form-cell\").prependTo(\"#section-actions .form-column\");";
script += "$(\"#"+section.getPropertyString("id")+"\").remove();";
script += "});</script>";
html.setProperty("id", "button_layout_fixes");
html.setProperty("label", "");
html.setProperty("value", script);
formActions.add(html);
return null; |
在用户视图中,添加一个 运行流程,将自定义ID 命名为 “ startApplication ”。正确设置标签,例如“ 启动应用程序 ”
这样用户可以启动一个新的流程实例。 |
将标签设置为“ 编辑 ”。
这样用户就可以访问他们已经启动的草稿应用程序。 |
该列表可能会显示所有其他用户启动的所有草稿。您可能想要编辑Datalist Builder中的列表,以仅显示发起它的人的条目。请参阅高级表单绑定器了解如何过滤列表。 |