因为审批页面详情模板页面依赖的请求参数可以在页面的生命周期中获取到,所以可以得到一个在编辑器中进行页面调试的途径。
生命周期中针对 onPageLoad 的参数进行结构,可以得到 flowTaskId 和 pageType 这两个参数。代码如下:
const { flowTaskId, pageType } = query;
那么利用 es6 解构赋值的特性,可以针对解构出来的属性指定默认值。这样可以在编辑器中给这两个属性赋值,进行调试。
const { flowTaskId = "1156279484831399042", pageType = "TODO" } = query;
这样 flowTaskId 和 pageType 就都有值了,可以在编辑器中针对审批页面做调试,以及样式的修改等进一步开发。
注意权限问题
在编辑器中应用是以超级管理员身份运行的,所有这里使用的 flowTaskId 这个任务 ID 对应的审批任务。包括:
管理员在待办中心中发起的审批任务。
管理员在代办中心各个列表中看到的审批任务。
管理员通过数据模型触发的审批任务。
开发调试步骤
步骤1:创建一个流程
创建好需要的流程,配置审批节点,以及变量等内容,单击审批节点配置中的新建,可以得到一个审批页面,然后保存。保存之后回到审批节点页面选择处选择所建立的页面。
步骤2:发布体验版页面
在创建好一个页面后,可以先发个体验版用于测试。这样也保证能够创建出正确的数据。
步骤3:触发流程
发布好之后,以超级管理员身份登录企业工作台。
超级管理员作为发起人
在企业工作台中流程中心中,可以发起之前创建的流程,抑或是通过创建、修改、删除数据模型的方式来触发之前创建好的流程。这样创建出来的记录,可以在我发起的或者是草稿箱中看到。单击记录,跳转新页面,会在浏览器地址栏中看到 flowTaskId 的值,以及 pageType 信息。
超级管理员作为审批人、抄送人
管理员也可以作为审批人或者抄送人,那么触发流程就可以不必是管理员,但管理员需要是作为审批节点的任务接收人、或者是抄送时抄送给了超级管理员。届时会在我的待办、我已处理、抄送我的 这三类列表中看到相应的数据。单击记录,跳转新页面,会在浏览器地址栏中看到 flowTaskId 的值,以及 pageType 信息。
步骤4:生命周期中赋值
拿到 flowTaskId 的值以及 pageType 信息之后,就可以在页面生命周期的 onPageLoad 方法中进行赋值了。
生命周期配置窗口打开路径:
设置结构默认值:const { flowTaskId = "1156279484831399042", pageType = "TODO" } = query;
赋值之后保存。然后编辑器内的预览界面就会像运行态那样去运行一个页面了。
步骤5:开发调试结束
开发调试结束后需要将默认值进行清除,还原回去。
const { flowTaskId, pageType } = query;
并且如果在流程中某个审批节点在生产环境中不需要管理员参与作为审批人的话也需要将其移除。