移动端任务审批完成后如何跳转到第三方表单原创
3人赞赏了该文章
449次浏览
未经作者许可,禁止转载编辑于2023年06月07日 16:33:12
移动端任务审批完成后如何跳转到第三方表单
需求描述
移动端待办任务处理完成后,需要重定向到第三方表单
目前处理策略
1、集成云之家APP
1)待办任务列表:“系统参数”中勾选“返回云之家待办通知”,移动端审批处理完成后,会返回待办通知列表;“系统参数”中没有勾选“返回云之家待办通知”,移动端审批处理完成后,会跳转到流程助手页面待办列表
2)流程助手待办列表:任务处理完成后,会返回流程助手待办列表
2、集成的其他渠道:钉钉、企业微信、WeLink、短信、邮件,任务处理完成后,显示的是当前任务的查看页面(即页面下方没有最初展现的处理任务按钮),该机制是由于苍穹目前暂时无法关闭集成的其他渠道页面
解决方案
通过扩展审批处理页面,增加扩展插件,来实现
1. 扩展标准页面wf_approvalpagemobile_bac
应用 - - 开发平台 - - 搜索 wf_approvalpagemobile_bac,找到这个页面并扩展
2.
新增并启用扩展的插件,例如
kd.bos.workflow.taskcenter.plugin.ApprovalPageMobileDemoPlugin
表准插件如果无法禁用,可以不禁用,不影响效果。
插件中关键代码参考给出的示例代码: package kd.bos.workflow.taskcenter.plugin; import java.util.EventObject; import java.util.HashMap; import java.util.Map; import kd.bos.form.IClientViewProxy; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.ClosedCallBackEvent; import kd.bos.form.events.OnGetControlArgs; public class ApprovalPageMobileZhangTaiPlugin extends ApprovalPageMobilePluginNew { @Override public void afterCreateNewData(EventObject evt) { super.afterCreateNewData(evt); } @Override public void onGetControl(OnGetControlArgs e) { super.onGetControl(e); } @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); } @Override public void click(EventObject evt) { super.click(evt); } @Override public void closedCallBack(ClosedCallBackEvent e) { String actionId = e.getActionId(); if("btntransfer".equals(actionId) || "approvalBtn".equals(actionId)){ //转交、同意or驳回操作,从成功页面回调后的情况 || 终止的情况 String operation = (String) e.getReturnData(); if(!"cancel".equals(operation)){ IClientViewProxy proxy = this.getView().getService(IClientViewProxy.class); Map<String, String> mpURL = new HashMap<>(2); mpURL.put("url",""); // 重定向的页面地址,比如 https://www.yunzhijia.com/ mpURL.put("noPushState", "true"); proxy.addAction("openUrl", mpURL); } }else { super.closedCallBack(e); } } }
推荐阅读