简体中文
bpm.remindCard.render.before
约 636 字大约 2 分钟
2025-12-16
该事件用于业务流待办卡片渲染之前执行额外的动作,包括但不限于以下功能: 1. 获取卡片数据 2. 获取按钮数据 3. 自定义按钮
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| getTaskData | 获取卡片数据(示例) | Function |
| getButtons | 获取按钮数据(示例) | Function |
| customButtons | 自定义按钮(示例) | Function |
基础示例
一、getTaskData
功能描述
用于获取待办页面卡片数据
参数
无
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| name | 任务名称 | String |
| taskId | 任务ID | String |
| state | 任务状态 | String |
参数代码示例
无
代码示例
// getTaskData()
export default class Plugins{
apply() {
return [
{
event: 'bpm.remindCard.render.before',
functional: this.remindCardRenderBefore.bind(this)
}
]
}
remindCardRenderBefore(api) {
let taskData = api.getTaskData();
console.log(taskData);
}
}二、getButtons
功能描述
用于获取待办页面卡片按钮数据
参数
无
返回结果
| 参数 | 说明 | 类型 |
|---|---|---|
| buttons | 每一个任务卡片对应的buttons | Object |
参数代码示例
无
代码示例
// getButtons()
export default class Plugins{
apply() {
return [
{
event: 'bpm.remindCard.render.before',
functional: this.remindCardRenderBefore.bind(this)
}
]
}
remindCardRenderBefore(api) {
let buttons = api.getButtons();
console.log(buttons);
}
}三、customButtons
功能描述
用于自定义按钮
注意: 首先,通过调用api.getButtons()获取buttons数据,然后遍历这些数据。在遍历过程中,针对特定的taskId,自定义并修改其对应的按钮数据。最后,确保返回的是修改后的完整buttons数据,以避免其他卡片按钮数据的丢失。
参数
| 参数 | 说明 | 类型 |
|---|---|---|
| content | 自定义按钮数据 | Object |
返回结果
无
参数代码示例
let buttons = api.getButtons();
for (let key in buttons) {
//改名
if (key === '65d7266ec26b8d323e19d2e8') {
buttons[key].forEach(item => {
if (item.action === 'suspend') {
item.label = '暂不处理自定义名称';
} else if (item.action === 'Complete') {
item.label = '完成自定义名称';
}
})
}
//改顺序
if (key === '65debd15c237fb1f55a5f337') {
buttons[key].forEach(item => {
if (item.action === 'UpdateAndComplete') {
item.label = '保存并完成自定义名称第二个展示';
item.order = 1
} else if (item.action === 'Update') {
item.label = '填写按钮自定义名称第一个展示';
item.order = 0
}
})
}
//隐藏
if (key === '65ddb0f9297cc13e01456df1') {
buttons[key] = buttons[key].filter(item => item.action !== 'suspend');
}
}代码示例
// getButtons()
export default class Plugins{
apply() {
return [
{
event: 'bpm.remindCard.render.before',
functional: this.remindCardRenderBefore.bind(this)
}
]
}
remindCardRenderBefore(api) {
let tasksData = api.getTasksData();
console.log(tasksData, 'tasksData');
let buttons = api.getButtons();
console.log(buttons, 'buttons');
for (let key in buttons) {
//改名
if (key === '65d7266ec26b8d323e19d2e8') {
buttons[key].forEach(item => {
if (item.action === 'suspend') {
item.label = '暂不处理自定义名称';
} else if (item.action === 'Complete') {
item.label = '完成自定义名称';
}
})
}
//改顺序
if (key === '65debd15c237fb1f55a5f337') {
buttons[key].forEach(item => {
if (item.action === 'UpdateAndComplete') {
item.label = '保存并完成自定义名称第二个展示';
item.order = 1
} else if (item.action === 'Update') {
item.label = '填写按钮自定义名称第一个展示';
item.order = 0
}
})
}
//隐藏
if (key === '65ddb0f9297cc13e01456df1') {
buttons[key] = buttons[key].filter(item => item.action !== 'suspend');
}
}
api.customButtons(buttons)
}
}