简体中文
bpm.taskPage.render.before
约 638 字大约 2 分钟
2025-12-16
该事件用于业务流任务落地页渲染之前执行额外的动作,包括但不限于以下功能: 1. 获取当前任务数据 2. 自定义当前任务按钮展示
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| getTaskDetail | 获取当前任务数据(示例) | Function |
| customButtons | 自定义当前任务按钮展示(示例) | Function |
基础示例
一、getTaskDetail
功能描述
用于获取当前任务的数据。
参数
无
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| name | 任务名称 | String |
| taskId | 任务ID | String |
| state | 任务状态 | String |
| buttons | 外露按钮 | Object |
| moreButtons | 更多按钮 | Array |
| errorButtons | 异常任务展示的外露按钮(只有任务状态异常时存在) | Array |
参数代码示例
无
代码示例
// getTaskDetail()
export default class Plugins{
apply() {
return [
{
event: "bpm.taskPage.render.before",
functional: this.taskPageRenderBefore.bind(this)
}
]
}
taskPageRenderBefore(api) {
let taskDetail = api.getTaskDetail();
console.log(taskDetail);
}
}二、customButtons
功能描述
自定义当前任务下按钮的名称,顺序,显示与隐藏。
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| content | 自定义按钮内容 | Object |
返回结果
无
参数代码示例
let customTaskPageBtns = {
taskButtons,
moreButtons,
errorButtons
};代码示例
// forceShowEditForm()
export default class Plugins{
apply() {
return [
{
event: 'bpm.taskPage.render.before',
functional: this.bpmTaskPageRenderBefore.bind(this)
}
]
}
bpmTaskPageRenderBefore(api) {
let taskDetail = api.getTaskDetail();
console.log(taskDetail, 'taskDetail');
let taskButtons = taskDetail.buttons;
let moreButtons = taskDetail.moreButtons;
let errorButtons = taskDetail.errorButtons;
//可以根据state 或者 taskId 处理数据
if(taskDetail.state === "in_progress"){
//自定义外漏按钮
for (let key in taskButtons) {
if (taskButtons[key].action === "suspend") {
taskButtons[key].label = "暂不处理第二个展示";
taskButtons[key].order = 0;
} else if (taskButtons[key].action === "Complete") {
taskButtons[key].order = 1;
taskButtons[key].label = "我在测试按钮自定义先展示完成";
}
}
//自定义更多按钮
moreButtons && moreButtons.forEach((i)=>{
if(i.code==="Discuss"){
i.label = "转发1111";
}else if(i.code==="ChangeBPMApprover"){
i.label = "更换处理人4444";
}
})
}
if(taskDetail.state === "error"){
errorButtons && errorButtons.forEach((i)=>{
if(i.executeType=== 1 ){
i.executeName = "重试1第二个展示1111";
}else if(i.executeType=== 0){
i.executeName = "忽略第一个展示";
}
})
}
}
}三、agreeOpinionRequired
功能描述
产品现状
- 业务流审批节点目前不支持必填配置
若在配置此PWC插件,则在业务流审批节点,同意审批节点时,审批意见必填
参数
无
返回结果
无
参数代码示例
无
代码示例
// agreeOpinionRequired()
export default class Plugins{
apply() {
return [
{
event: 'bpm.taskPage.render.before',
functional: this.bpmTaskPageRenderBefore.bind(this)
}
]
}
bpmTaskPageRenderBefore(api) {
api.agreeOpinionRequired();
}
}四、rejectOpinionRequired
功能描述
产品现状
- 业务流审批节点目前不支持必填配置
若在配置此PWC插件,则在业务流审批节点,不同意审批节点时,审批意见必填
参数
无
返回结果
无
参数代码示例
无
代码示例
// rejectOpinionRequired()
export default class Plugins{
apply() {
return [
{
event: 'bpm.taskPage.render.before',
functional: this.bpmTaskPageRenderBefore.bind(this)
}
]
}
bpmTaskPageRenderBefore(api) {
api.rejectOpinionRequired();
}
}