所谓任意加签,指的是任务操作用户可以请求其他用户的审批意见。如用户A可以把任务给B,C要求加签,B,C输入意见提交后,任务重新分配给A,A可以看到B,C的意见。
QuickFlow提供了MoreApprove活动来实现加签功能。
看一个示例。
1)设计工作流。
用QFD新建一个工作流,添加一个工作流变量:approver,这个变量用于传递审批用户账号。
2)托拽一个MoreApprove活动到设计器,画线连接Start和moreApprove,将其User属性绑定到工作流变量aprover
3)发布工作流
4)设计工作流表单
在启动表单中添加一个输入用户账号的文本框:
<QFL:ListFormControl ID="ListFormControl1" runat="server">
<uc1:DataEdit ID="DataEdit1" runat="server" />
<table width="735" border="0" align="center" cellpadding="0" cellspacing="0" class="table_stroke">
<tr>
<td align="right">
审批人:<asp:TextBox runat="server" ID="txtApprovor" />
<QFC:StartWorkflowButton Text="提交"
WorkflowName="MoreApproveExample" ID="StartWorkflowButton1" runat="server" />
<input type=button onclick="history.back()" value="返回" />
</td>
</tr>
</table>
</QFL:ListFormControl>
添加如下代码:
protected void Page_Load(object sender, EventArgs e)
{
this.StartWorkflowButton1.Executing += new EventHandler<System.ComponentModel.CancelEventArgs>(StartWorkflowButton1_Executing);
}
void StartWorkflowButton1_Executing(object sender, System.ComponentModel.CancelEventArgs e)
{
QuickFlow.Core.WorkflowContext.Current.UpdateWorkflowVariable("approver", this.txtApprovor.Text.Trim());
}
5)更新表单后,我们就可以来看下效果了。
启动工作流,输入审批人。
审批页面。
选择加签用户。
任务跟踪:
示例代码下载:
http://cid-7f5a25cdf47d03e6.skydrive.live.com/self.aspx/QuickFlow/QuickFlowExample^_MoreApprove.zip
浙公网安备 33010602011771号