常见案例需求及对应配置。
需求:
UX中的【指标卡】控件可以展示【我的任务】和【待认领的任务】的数量
无需区分工作流元素,统计所有工作流的数量
此方式需要注册DeepModel组件。
Step1:进入deep_model_console,添加工作流对象组
Step2:添加分析查询-我的任务
若没有此功能,请将组件部署的版本升级到最新版,或采用【查询器】功能替代(那么后续UX中的数据源类型需要选择【自定义查询-DeepQL】,查询器如何使用请参考DeepModel组件文档)
查询对象:DFTask
分析维度:.task_status
度量:DFTask对象,计数
过滤条件:任务状态在进行中,且,执行人等于当前用户 或 执行人的用户组中的用户等于当前用户
当前用户的JS表达式需要替换为【space+您的空间编码+::current_user_id】
获取空间编码的方式之一:F12进入开发者工具,刷新平台中任一标签页,切至【网络】标签,选择任一行数据,查看【标头-请求标头】中的Space值
.task_status 等于 InProgress
且 (
.assignee.system_user.user_id 等于 global spacenbjoip::current_user_id
或
.assignee.system_group.user.user_id 等于 global spacenbjoip::current_user_id
)
Step3:添加分析查询-待认领的任务
同Step2,仅改变了过滤条件:任务状态在进行中,且,执行人为空,且,候选人等于当前用户 或 候选人的用户组中的用户等于当前用户
.task_status 等于 InProgress
且
.assignee 为空
(
.candidate.system_user.user_id 等于 global spacenbjoip::current_user_id
或
.candidate.system_group.user.user_id 等于 global spacenbjoip::current_user_id
)
Step4:在UX中添加数据源
数据源类型为【对象分析查询】
分别将前两步添加的分析查询都添加为数据源
Step5:在UX中添加指标卡控件
分别关联对应的数据源,添加的指标数字关联的属性为count_of_DFTask
Step1:新建python元素,用作UX中的数据源
from deepfos.lib.deepux import Struct, Integer, as_datasource
from deepfos.element.workflow import WorkFlow
import pandas as pd
class Data(Struct):
my_task_num: Integer
claim_task_num: Integer
@as_datasource(struct=Data)
def main(p1, p2):
# 指定任意一个存在的工作流元素编码
flow = WorkFlow('budget_Status_MultiSubprocess')
# 我的任务(不分工作流元素,返回所有我的任务)
my_task = flow.list_my_task(status=None, as_dataframe=False)
my_task_num = len(my_task)
# 待认领的任务(不分工作流元素,返回所有待认领的任务)
claim_task = flow.list_claim_task(as_dataframe=False)
claim_task_num = len(claim_task)
df = pd.DataFrame({
'my_task_num': [my_task_num],
'claim_task_num': [claim_task_num],
})
return df
关于UX组件中的python数据源详细介绍,请查看UX相关文档:https://docs.deepfos.com/component/deepux/function/datasource#python-dataframe
Step2:在UX中添加数据源
Step3:在UX中添加指标卡控件
关联python数据源,添加的指标数字关联的属性分别为my_task_num
和claim_task_num
需求:
前提:注册DeepModel组件,工作流组件部署的环境变量 EXPORT_DATASOURCE_MODE
=MODEL
进入deep_model_console,添加工作流对象组
新建UX页面,用来展示流程实例详情:
选择空白模板
添加变量proc_id
添加【流程记录】、【流程图】控件,控件中的流程实例ID
配置项都设置为【UX变量-proc_id】
新建UX页面,用来展示流程实例列表:
可选择模板【基于业务模型/对象】-【清单表(上下)】
数据源选择对象DFProcess
按需配置查询区域
按需优化过滤条件
添加操作列按钮,用来跳转流程实例详情页面
按钮事件配置【跳转内部页面】,跳转目标是此前配置的流程实例详情页面,跳转参数的值赋数据源的proc_inst_id
效果展示
拓展:结合清单表
控件其他功能、UX中其他控件(例如边栏布局
、对象数据选择器
等),丰富并优化流程实例列表。
业务场景:
任务处理
控件的完成任务前
节点添加动作【二次确认弹窗】拓展场景1:多个任务节点都使用这同一个待办界面,但只有某些节点需要弹出此二次弹窗(例如只有第一个填报节点需要)。
UX添加变量pop
(自定义变量编码即可)
需要二次弹窗的节点,跳转待办页面的参数加上pop
,赋值"true"
二次确认弹窗
的运行条件配置$var.pop == "true"
效果:
思路拓展:
二次确认弹窗
的运行条件,还可以运用此UX控件中其他数据进行条件编写,例如当前处理节点=预算员提交
、当前部门=财务部
······
回到顶部
咨询热线