1. 使用场景
当您需要根据当前的流程节点在自定义页面显示当前进度的时候,可以用到这个场景
当您需要根据当前的流程节点在自定义页面显示当前进度的时候,可以用到这个场景
首先创建一个流程表单,在表单里拖拽需要的组件

表单页面
创建一个自定义页面,拖拽一个进度指示器组件和一个下拉单选组件。点击左边的数据源,创建一个远程 API,也就是接口,名称可以随意更改,请求地址可以参考文档。请求参数可以看到参数名。

自定义页面
首先创建一个流程表单,在表单里拖拽需要的组件

表单页面
创建一个自定义页面,拖拽一个进度指示器组件和一个下拉单选组件。点击左边的数据源,创建一个远程 API,也就是接口,名称可以随意更改,请求地址可以参考文档。请求参数可以看到参数名。

自定义页面
参数名为 formUuid,参数值为下图的表单 ID

表单 ID
创建三个变量,名字可以任意取;
在 getInstances 接口中,点击数据处理,创建完成回调函数,复制以下代码。

数据处理
在此处代码中,"text": item.data.textField_kpz5h90e, 后面的唯一标识需要修改成流程表单里流程名称的唯一标识,点击保存。
function didFetch(content) {
// content.b = 1; 修改返回数据结构中的 b 字段为1
console.log("流程实例详情", content)
let arr = []
content.data.map((item) => {
arr.push({
"text": item.data.textField_kpz5h90e,
"value": item.processInstanceId
})
})
this.setState({
options: arr
})
return content; // 重要,需返回 content
}在 getOperationRecords 接口里,关闭自动加载

自动加载关闭
在请求参数里绑定变量

点击进度条组件,找到右边的百分比,去绑定变量。

绑定变量
点击下拉单选,找到右下角的新建动作,创建一个 Onchange 事件。点击完成后会自动弹出一个 JS 面板。

新建 onchange 事件
可以复制以下代码。
export function onChange({ value, actionType, item }) {
console.log('onChange', value);
this.setState({
processInstanceId: value
})
this.dataSourceMap.getOperationRecords.load().then((res) => {
console.log("流程审批记录", res)
let num = Math.ceil(100 / res.length)
let newname = 0
res.map((item) => {
if (item.action) {
newname += 1
}
})
if (newname * num <= 100) {
this.setState({
proportion: newname * num
})
} else {
this.setState({
proportion: 100
})
}
})
}设置完毕之后点击保存,返回首页即可。
无雀数字化公众号
无雀数字化抖音号

