简体中文
approval.opinions.render.before
约 696 字大约 2 分钟
2025-12-16
说明:该事件用于审批意见渲染之前调用
该事件用于审批意见渲染之前执行额外的动作,包括但不限于以下功能: 1. 获取审批意见数据 2. 自定义审批意见区域
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| getOpinionsData | 获取审批意见数据(示例) | Function |
| setCustomData | 自定义审批意见区域(示例) | Function |
示例
一、getOpinionsData
功能描述
获取当前审批意见的一些数据,用户可以据此做一些判断,运行不同的业务逻辑,自定义设置展示内容等。
参数
无
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| entityId | 对象的ApiName | String |
| workflowId | 流程定义ID | String |
| id | 实例ID | String |
| objectId | 对象ID | String |
| tasks | 节点内容 | Array |
| ... | ... | ... |
参数代码示例
无
代码示例
// 一、getOpinionsData()
export default class Plugin {
apply() {
return [
{
event: "approval.opinions.render.before",
functional: this.approvalOpinionsRenderBefore.bind(this)
}
]
}
approvalOpinionsRenderBefore(api) {
let opinionsData = api.getOpinionsData();
console.log(opinionsData);
}
}二、setCustomData
功能描述
用户可以自定义审批意见区域,设置审批意见区域的展示内容和样式等。
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| content | 自定义设置审批意见内容 | Object |
返回结果
无
参数代码示例
无
代码示例
// setCustomData()
export default class Plugin{
apply(){
return [{
event: "approval.opinions.render.before",
functional: this.approvalOpinionsRenderBefore.bind(this)
}]
}
approvalOpinionsRenderBefore(api){
let originalInstance = api.getOpinionsData()
console.log("-----instance------",originalInstance)
let instance = JSON.parse(JSON.stringify(originalInstance));
let tasks = instance && instance.tasks;
if(tasks){
tasks.forEach(task=>{
// 设置审批节点状态文案
task.stateLabel = '这个是自定义节点状态文案'
//设置审批节点状态文案颜色
task.stateLabelColor = "#e23451"
//任务节点中获取意见,并不是所有节点均有审批意见的(type==start是开始节点)
let opinions = task && task.opinions;
if(opinions){
opinions.forEach(op=>{
//设置审批意见状态文案
op.stateLabel = '协助';
//设置审批意见状态文案颜色
op.stateLabelColor = '#e23451';
//是否自定义审批意见,设置为true时,不再拉取审批意见
op.useCustomOpinion = true;
//将意见修改为:‘这是插件修改’
op.opinion='这是插件修改';
//将意见设置为不可回复
// op.canReply=false;})
})
}
// 并行网关
let parallelGateWayTasks = task.tasks
if(parallelGateWayTasks){
parallelGateWayTasks.forEach(pt=>{
pt.stateLabel = "并行节点状态";
pt.stateLabelColor = '#e23451';
})
}
//将节点设置为不可回复
task.canReply=false;
if(task.state === 'pass'){
task.name="这个节点已经完成了"
}
});
}
console.log("--------customInstance",instance)
api.setCustomData(instance)
}
}注意
- 此api不可修改起始节点,结束节点内容
- 节点的数据在opinionsData.tasks中, 若想修改某一节点的内容,需要用户遍历tasks
- 自定义task.stateLabel,修改节点状态文案
- 自定义task.stateLabelColor,修改某一节点状态文案颜色
- 自定义opinion.stateLabel,修改审批意见状态文案
- 自定义opinion.stateLabelColor,修改审批意见状态文案颜色
- 是否自定义审批意见,opinion.useCustomOpinion(true/false)(自定义审批意见后不再渲染附件、图片等)
