案例效果

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   作者:呼丽华