通用JS方法
/// <reference path="../../../Scripts/jquery-1.4.1.js" />
/// <reference path="../../../Scripts/Global.js" />
/// <reference path="../../../Scripts/WF/WFlowGlobal.js" />
//***************工作流相关**************************
//==工作流工具栏相关==
var flowFilterCon = ""; //如果同一实体有多个流程,此参数用来判断查找对应的流程(对应流程区分标识),
//为空或NULL表示不过滤,即只有一个流程
//提交
wm.wf.gridSubmit(flowFilterCon);
//网格批量提交
wm.wf.gridBatchSubmit(flowFilterCon);
//通用反提交:Grid
wm.wf.unSumbit();
//审批明细
wm.wf.gridOpenHistory();
//通用提交:Form
var recordId = "1111-111";
wm.wf.formSubmit(flowFilterCon, recordId);
//通用审批情况查看 Form页面
wm.wf.formOpenHistory();
//设置审核时业务展现URL
var url = "Sys/View/XSLT/Form?Entity=SysUser&UniqueNo=0";
wm.wf.setFormUrl(url);
//==工作流相关操作==
//获取当前步骤审核人
var users = wm.wf.getActivityAuditUser(recordId);
//获取当前步骤名称
var caption = wm.wf.getActivityCaption(recordId);
//获取流程图“提交”步骤所设置的用户列表
var users = wm.wf.getSubmitActUsers(wfObjectId, recordId);
//取提交前选择的用户
var users = wm.wf.getSumbitDynaUsers(xmlRoot, wfObjectId, recordId);
//获取流程图某步骤所设置的用户列表
var users = wm.wf.getOneActivityUsers(xmlRoot, activityId, recordId);
//设置下步执行人按钮点击时,打开的是角色选择窗口,默认是打开用户选择窗口
wm.wf.setOpenRoleSelect();
//设置审批时不需要填写审批意见,方法写在页面LOAD事件
wm.wf.setNoOption();
//审核步骤中,显示的业务流程展现不一样,传入不同的UniqueNo
var uniqueNo = "11";
wm.wf.setFormUniqueNo(uniqueNo);
//取得当前页面的mappingId
var mappingId = wm.wf.getActualSysMappingId();
//打开审批记录具体内容页面
var stateId = "";
wm.wf.openHistoryPage(stateId);
//==工作流相关事件==
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
gridSubmit
概述
- 网格页面通用的工作流提交方法
参数
function gridSubmit(FlowFilterCon)
参数FlowFilterCon:同实体多流程标识内容,非必传
示例
<Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交"
Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage"
Script="wm.wf.gridSubmit()"></Button>
2
3
formSubmit
概述
- 表单编辑页面通用提交方法
参数
formSubmit(FlowFilterCon,RecordId)
参数FlowFilterCon:同实体多流程标识内容,非必传
参数RecordId:一般不传,系统直接默认为当前FORM页面的记录ID,如果是特殊提交,则传对应的记录ID
示例
<Button Target="Form" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="wm.wf.formSubmit()"></Button>
1
2
3
gridBatchSubmit
概述
- 网格页面批量提交方法,即可勾选多条记录批量提交
参数
wm.wf.gridBatchSubmit(FlowFilterCon)
参数FlowFilterCon:同实体多流程标识内容,非必传
示例
<Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="wm.wf.gridBatchSubmit()"></Button>
1
2
3
setFormUniqueNo
概述
- 设置审批过程中不同步骤的审批页面显示不同的业务展现FORM页面
参数
setFormUniqueNo(FormUniqueNo)
参数FormUniqueNo:字符型,要加单引号,对应FORM配置UniqueNo
示例
一般是在流程图中的各步骤JS设置页面中对应的“页面加载事件”调用,如下图:
如:wm.wf.setFormUniqueNo('111')
setFormUrl
概述
- 设置审批过程中不同步骤的审批页面显示不同的业务展现FORM页面,直接设置URL地址
参数
setFormUrl(Url)
参数Url:具体的Url地址
示例
一般是在流程图中的各步骤JS设置页面中对应的“页面加载事件”调用,如下图:
如:wm.wf.setFormUrl('View/XLST/Form?Entity=SysUser&UniqueNo=0')
setOpenRoleSelect
- 概述
- 设置下步执行人按钮点击时,打开的是角色选择窗口,默认是打开用户选择窗口
- 参数
- //设置下步执行人按钮点击时,打开的是角色选择窗口,默认是打开用户选择窗口 wm.wf.setOpenRoleSelect(); //设置审批时不需要填写审批意见,方法写在页面LOAD事件
- 示例
- //设置下步执行人按钮点击时,打开的是角色选择窗口,默认是打开用户选择窗口 wm.wf.setOpenRoleSelect(); //设置审批时不需要填写审批意见,方法写在页面LOAD事件
setNoOption
概述
- 设置在审批时不需要填写审批意见,即可进行审批
参数
wm.wf.setNoOption()
无参数
示例
一般是在流程图中的各步骤JS设置页面中对应的“页面加载事件”调用,如下图:
如:wm.wf.setNoOption()
gridSimpleSumbit
概述
普通的直接启动工作流的方法,不会弹出任何的提示信息对话框,也没有提交前、提交后事件。
一般是在特殊情况下使用。如在某些操作过程中调用。
参数
//TableName:表名,必传 //RecordId:记录ID,必传 //FlowFilterCon: 如果同一实体有多个流程,此参数用来判断查找对应的流程(对应流程区分标识), // 为空或NULL表示不过滤,即只有一个流程,非必传 //NewUser:提交到的用户,非必传 //MemoSQL:备注SQL语句,非必传 //CurrentUserId:提交人,非必传,当流程是自动启动的话,提交人不一定是当前用户 20100831 wm.wf.simpleSumbit(TableName,RecordId,FlowFilterCon,NewUser,MemoSQL,CurrentUserId)
1
2
3
4
5
6
7
8
getSubmitActUsers
概述
- 获取流程图中“提交”步骤所设置的用户列表信息
参数
getSubmitActUsers(WFObjectId,recordId)
参数WFObjectId:流程图对应ID(流程图XML文件名)
示例
直接调用
wm.wf.getSubmitActUsers(WFObjectId,recordId)
1
getActivityAuditUser
概述
- 获取当前步骤审核人
参数
wm.wf.getActivityAuditUser(RecordId)
示例
调用:
wm.wf.getActivityAuditUser(RecordId)
1
getSumbitDynaUsers
概述
- 取提交前选择的用户
参数
- //取提交前选择的用户 var users = wm.wf.getSumbitDynaUsers(xmlRoot, wfObjectId, recordId);
示例
//取提交前选择的用户
var users = wm.wf.getSumbitDynaUsers(xmlRoot, wfObjectId, recordId);
1
getOneActivityUsers
概述
- 获取流程图中某步骤所设置的用户列表
参数
getOneActivityUsers(WFObjectId,ActivityId,RecordId)
参数WFObjectId:流程图对应ID(流程图XML文件名)
参数ActivityId:步骤ID
示例
直接调用
wm.wf.getOneActivityUsers(WFObjectId,ActivityId,RecordId)
1
CA验证调用
概述
/*
用户签名验证
showMsg:是否显示错误信息 true/false 默认为true
返回值: true/false
*/
CheckCA(showMsg);
参数
showMsg:是否显示错误信息 true/false 默认为true
示例
调用:CA //导入js if(window.importScript){ var url=window.Global_ProjectName+"/CA/CA.js"; window.importScript(url,true); } //调用 用户签名验证 var showMsg=true;//是否显示错误提示 var ok=CheckCA(showMsg); if(ok==true){ //验证成功 }else{ //验证失败 } 使用说明: 1.可以在工作流程审批前事件调用 2.要在登陆时调用CA认证(对所有用户) web.config增加以下配置(根节点内) <location path="CA" allowOverride="false"> <system.web> <authorization> <allow users="?"/> </authorization> </system.web> </location> 系统设置里要开启CA签名认证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
formOpenHistory
概述
- 通用审批情况查看 Form页面
参数
formOpenHistory(id)
参数id:当前记录ID
示例
直接调用
wm.wf.formOpenHistory();
1
gridOpenHistory
概述
- 通用审批情况查看 grid页面
示例
wm.wf.gridOpenHistory();
1
__OnBeforeWFlowSumbit
概述
- 网格通用提交前事件
参数
functon __OnBeforeWFlowSumbit(selRows)
参数selRows:提交的行对象
示例
在配置页面上重载,如果该事件返回False,则不再继续执行,即不会提交。
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __OnBeforeWFlowSumbit(selRows){ //重载,系统自动会调用执行此函数 //提交前要处理的代码段 //.... return true; //返回 true 或 false } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
:__OnBeforeWFSubmitForm
概述
- 表单通用提交前事件
示例
在配置页面上重载,如果该事件返回False,则不再继续执行,即不会提交。
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Form" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFSubmitForm()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __OnBeforeWFlowSumbitForm(){ //重载,系统自动会调用执行此函数 //提交前要处理的代码段 //.... return true; //返回 true 或 false } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
:__OnBeforeWFlowBatchSumbit
概述
- 网格批量提交前事件
参数
function __OnBeforeWFlowBatchSumbit(recordId)
参数recordId:对应批量中的每条记录Id,分别执行的
示例
在配置页面上重载,如果该事件返回False,则不再继续执行,即不会提交。
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFBatchSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __OnBeforeWFlowBatchSumbit(recordId){ //重载,系统自动会调用执行此函数 //提交前要处理的代码段 //.... return true; //返回 true 或 false } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
__OnAfterWFlowSumbit
概述
- 网格表单通用提交后事件
参数
function __OnAfterWFlowSumbit(RecordId)
参数ReocrdId:对应的记录ID
示例
在配置页面上重载
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __OnAfterWFlowSumbit(selRows){ //重载,系统自动会调用执行此函数 //提交后要处理的代码段 //.... } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
__OnAfterWFlowBatchSumbit
概述
- 网格通用批量提交后事件
参数
function __OnAfterWFlowBatchSumbit(cReocrdId)
参数cRecordId:批量记录中对应的每条记录ID,分别执行的
示例
在配置页面上重载
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFBatchSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __OnAfterWFlowBatchSumbit(cRecordId){ //重载,系统自动会调用执行此函数 //提交后要处理的代码段 //.... } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
__WFGetSumbitUserList
概述
工作流提交时,自动根据当前记录去指定对应的用户,比如自动指定对应的部门经理,
就是通过 __WFGetSumbitUserList 这个JS函数来实现
示例
工作流提交要自动根据当前记录去指定对应的用户,比如自动指定对应的部门经理,此时就无法用选择窗口,
就要自己写代码来处理,这里是通过 __WFGetSumbitUserList 这个JS函数来实现,该函数需返回要提交
的用户ID字符串,多个ID则以分号隔开,如“aaaid;bbbid;cccid;dddid”,该函数是写在对应的配置XML文件对应
UniqueNo里,一般写在 ToolBar节点下的Script里,如下例子:
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __WFGetSumbitUserList(){ //重载,返回提交用户ID集合,系统自动会调用执行此函数 //代码段,如调用Webservice //.... return "aaaid;bbbid;cccid"; //返回 } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20相关链接
__WFGetBatchSumbitUserList
概述
工作流提交时,自动根据当前记录去指定对应的用户,比如自动指定对应的部门经理,
就是通过这个JS函数来实现
示例
工作流提交要自动根据当前记录去指定对应的用户,比如自动指定对应的部门经理,此时就无法用选择窗口,
就要自己写代码来处理,这里就是通过这个JS函数来实现,该函数需返回要提交
的用户ID字符串,多个ID则以分号隔开,如“aaaid;bbbid;cccid;dddid”,该函数是写在对应的配置XML文件对应
UniqueNo里,一般写在 ToolBar节点下的Script里,如下例子:
<ToolBar UniqueNo="0"> <UserButtons> <Button Target="Grid" Name="cmd提交" Text="提交" ToolTip="提交" Type="Normal" Image="WebToolBar/16_Import.gif" DisplayMode="TextAndImage" Script="WFBatchSubmit()"></Button> </UserButtons> <Scripts> <Script> <![CDATA[ function __WFGetBatchSumbitUserList(){ //重载,返回提交用户ID集合,系统自动会调用执行此函数 //代码段,如调用Webservice //.... return "aaaid;bbbid;cccid"; //返回 } ]]> </Script> </Scripts> </ToolBar>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
getActivityAuditUser
概述
- 获取工作流审批过程中 当前步骤审核人
参数
getActivityAuditUser(RecordId)
参数RecordId:当前记录Id,必传
示例
用法: var result = wm.wf.getActivityAuditUser(RecordId); 返回值: 用户Id串;若多个用户则以封号间隔(若审批完成则返回:"流程已结束",若无数据则返回"")。
1
2
3
4
getActivityCaption
概述
- 获取工作流审批过程中 当前步审批骤名称
参数
wm.wf.getActivityCaption(RecordId)
参数RecordId:当前记录Id,必传
示例
用法: var result = wm.wf.getActivityCaption(RecordId); 返回值: 当前审批步骤名称;若有多个同时审批步骤则以封号间隔(若审批完成则返回:"流程已结束",若无数据则返回"")。
1
2
3
4
openHistoryPage
概述
- 打开审批记录具体内容页面
参数
//打开审批记录具体内容页面 var stateId = ""; wm.wf.openHistoryPage(stateId);
示例
//打开审批记录具体内容页面 var stateId = ""; wm.wf.openHistoryPage(stateId);
1
2
3
getActualSysMappingId
概述
- 打开审批记录具体内容页面
参数
//打开审批记录具体内容页面 var stateId = ""; wm.wf.openHistoryPage(stateId);
示例
//打开审批记录具体内容页面 var stateId = ""; wm.wf.openHistoryPage(stateId);
1
2
3