作者:KIMLIM
本文讲的是如何用一个数据字典在不同的业务场景中显示不同的可选值,而不用建立多个数据字典,减轻管理维护的工作量。
【案例描述】有一个固定资产申请的流程,可申请的主体有车和房子,所以申请类型引用了数据字典“申请类型”,如图1,效果如图2。
图1
图2
【希望效果】同一个固产申请流程分开“物业申请”和“车辆申请”两个菜单进入,希望在“物业申请”的菜单进来后,申请类型可选择的内容只出现“租房、买房”,对应的“车辆申请”菜单进来后只出现“租车、买车”。如图3。
图3:物业申请中出现下拉“租房”、“买房”选择
图4:车辆申请中出现下拉“租车”、“买车”选择
【实现办法】上述图3、图4两个菜单中的内容本质其实都是同一个流程视图的内容。
实现希望的效果就需要对“申请类型”做了一番动态入参设置。具体配置步骤如下:
1、首先是先建好数据字典,把‘申请类型’做成下拉选项。并在扩展字段中标识‘vehicle’、‘house’。
2、紧接着,在菜单的动态入参中写入。
图5“物业申请”菜单动态入参增加{APPLY_TYPE:”house”}
同理,在车辆管理菜单入参设置。
图6“车辆申请”菜单动态入参增加{APPLY_TYPE:”vehicle”}
3、最后在开始节点中设置表单,对“申请类型”做动态入参设置。
具体脚本:
def json = [type:'PPE_APPLY_APPLY_USE'];
if(vo!=null){
json.condition = "and extra like '%${vo.APPLY_TYPE}%'".toString() ;
}else{
json.condition = "and 1=2";
}
return fmt.formatJson(json);
OK,保存后刷刷新整个页面后,查看效果。