[Ecology EC9] 退回流程拦截禁止再次提交

OA Module泛微OA 来源: oneszhang

方案 1 辅助字段

添加一个辅助字段,在退回时对它进行赋值,提交时判断这个字段是否有值,在此不做过多介绍,标准功能即可完全实现


方案 2 代码块

核心:wfform.getGlobalStore().rightMenu.lastnodeid

我看了源码 /workflow/reqform/rightMenu,此处的 lastnodeid 是指:上一次退回操作的节点 id,所以,只要存在这个 lastnodeid,即可判断是退回的流程

jQuery(document).ready(function () {
    const globalStore = wfform.getGlobalStore();
    if (globalStore && globalStore.rightMenu && globalStore.rightMenu.lastnodeid) {
        WfForm.controlBtnDisabled(true);
        alert("注意:退回流程禁止再次提交!");
    }

    // 拦截提交,增加一层按钮置灰保险
    WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, function (callback) {
        if (globalStore.rightMenu.lastnodeid) {
            WfForm.controlBtnDisabled(true);
            alert("注意:当前节点不允许再次提交!");
            return;
        }
        callback();
    });
});

另一个方案:wfform.getGlobalStore ().promptInfos 判断其包含退回也可以,但是没有 rightMenu.lastnodeid 方案优雅~

本文发布于 40 天前,内容仍有参考价值