案例效果
App上功能发起流程按钮点击前需要判断子功能数据是否有数据,有数据则弹出流程人员选择框,如果无数据,就给出提示,阻断流程发起;
实现思路
方法一
1. 在工作流规划界面,发起按钮中注册点击前(appbeforeclick)事件,必须是异步注册
2. 查询子表数据,进行逻辑判断,ajax请求也是异步请求
方法二
1. 在APP功能的Javascript 脚本里面注册表单按钮点击前(wfbeforeclick)事件
2. 查询子表数据,进行判断,方法与Ajax都用异步请求
相关代码
方法一:
/*单击前,单击后事件*/ { beforeclick:function(form,wfInfo,btnCode){return true;}, afterclick:function(form,wfInfo,btnCode){}, appbeforeclick:async function(formCtrl,formValues,workflowCtrl){ debugger let info = await JE.ajax({ url:'/je/load', params:{ tableCode:'OA_LCSP_CGWPMX', j_query:JE.encode([{code:'CGWPMX_CGSQ_ID',value:'9ea2f7bafc4d4755b713a494ceb854a5',type:'=',cn:'and'}]) } }); if(info.rows.length<=0){ JE.alert("请录入子功能数据!"); return false; } return true; } }
方法二:
APP.listeners = { form:{ wfbeforeclick:async function(action, vals, formCtrl, workflowCtrl){ debugger; let info = await JE.ajax({ url:'/je/load', params:{ tableCode:'OA_LCSP_CGWPMX', j_query:JE.encode([{code:'CGWPMX_CGSQ_ID',value:'9ea2f7bafc4d4755b713a494ceb854a5',type:'=',cn:'and'}]) } }); if(info.rows.length<=0){ JE.alert("请录入子功能数据!"); return false; } return true; } } }
注意:
1、平台升级7.2.8版本、APP升级到2.8.x版本之后才能用;
2、点击前注册的方法与Ajax请求统一用异步;
3、PC上点击前事件 appbeforeclick,点击后事件appafterclick;
4、App上点击前事件wfbeforeclick,点击后事件wfafterclick;
5、APP与PC的两种方式二选一,如果都写了,那App上的优先级高;
最后编辑: 呼丽华 文档更新时间: 2024-08-21 10:58 作者:呼丽华