1、工作流

1、工作流

  

1、常见函数

1、流程制作-增加节点:designerCallAddNodeItem

2、流程制作-替换节点:designerCallReplaceNode

3、流程制作-节点属性:designerCallSelectPolicy

4、老选人:panel.js=>selectOneMember -> selectOne -> add2List3

2、常见页面jsp

(1) 流程制作

1、流程制作-页面:workflowDesigner.jsp

2、流程制作-复制流程弹窗页面:WorkflowTemplateList4Clone.jsp

3、流程制作-单击节点-节点属性弹窗:setWorkflowNodeProperty.jsp

4、流程制作-单击节点-节点属性的策略说明(?按钮):workflowPolicyExplain.jsp

5、流程制作-单击节点-节点属性的表单字段:dateFormField.jsp

6、流程制作-单击节点-节点属性的查看消息:messageRuleDetail.jsp

7、流程制作-单击节点-节点属性的消息设置:simpleRuleList.jsp

8、流程制作-单击节点-节点属性的审批规则设置:IntelligentAuditSuperNodeSetting.jsp

9、流程制作-单击节点-节点属性的节点匹配说明(?按钮):workflowShowMatchScopeExplain.jsp

10、流程制作-单击节点-节点属性的合并处理设置说明(?按钮):showMergeDealExplain.jsp

11、流程制作-单击节点-子流程节点设置:editSubProcessSetting.jsp

12、流程制作-单击节点-子流程节点设置-子流程制作人:workflowSelectSubProcessCreator.jsp

13、流程制作-单击节点-子流程节点设置-选择子流程:workflowSelectTemplate.jsp

14、流程制作-单击节点-触发新流程:workflowTriggerNewProcess.jsp

15、流程制作-单击节点-触发新流程-点击选择触发条件:workflowAutoBranchSetting.jsp

16、流程制作-单击节点-触发新流程-点击选择触发条件-下方自动条件页面:workflowOrgBranchSetting.jsp

17、流程制作-单击节点-触发新流程-点击选择触发条件-下方自动条件页面-单击条件列表选项:workflowOrgBranchSelectOrg.jsp

18、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面:workflowFormBranchSetting.jsp

19、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-包含:workflowFormBranchIExcludeFunction.jsp

20、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-in:in_func.jsp

21、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-extend(单选):formulaextend.jsp

22、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-extend(多选):formulaextend_multi.jsp

23、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-明细表一行:workflowFormBranchExistSlave.jsp

24、流程制作-单击节点-触发新流程-点击选择触发条件-下方表单条件页面-自定义函数:workflowFormBranchExistSlave.jsp

25、流程仿真页面:simulationMain.jsp

26、流程仿真页面-用例列表:list.jsp

27、流程仿真页面-用例详情:newSimulation.jsp

28、流程仿真页面-报告详情:reportDetail.jsp

29、流程仿真页面-报告详情-单击节点查看节点属性:workflowShowNodeProperty.jsp

30、选择节点执行人页面:showWorkFlowMatchResultPage.jsp

31、选择节点执行人页面-查看原因页面:showCanotAutoSkipMsgPage.jsp

32、应用定制平台-运维中心-节点查询与替换:processTemplateSuperviseIndex.jsp

33、应用定制平台-运维中心-节点查询与替换-选择系统停用节点:wfEnabledPeople.jsp

34、应用定制平台-运维中心-节点查询与替换-选择表单:templateManagementCenter.jsp

35、应用定制平台-运维中心-节点查询与替换-选择模板:templateChooseM.jsp

36、应用定制平台-运维中心-节点查询与替换-批量修改流程:processTemp.jsp

37、应用定制平台-运维中心-节点查询与替换-批量修改执行模式:processTemplateSuperviseReplace.jsp

38、发起协同-调用模板-查看流程-流程预测:workflowPrediction.jsp

39、发起协同-调用模板-查看流程-查看超级节点属性:workflowShowSuperNodeProperty.jsp

3、常见数据请求

(1)

4、常见客户BUG

(1)弹窗报错

①打开页面提示正在编辑

现象:并行处理非IE内核打开不做任何处理关掉以后,其他人再点开提示正在 编辑,原因:关闭页面时,协同请求失败,导致解锁不成功。该类问题会出现在协同的低版本中。

原因:请求的同步异步导致问 题,ie浏览器,同步发送请求正常,非ie浏览器,需要异步发送请求,高版本没有问题,如果是低 版本有问题,尝试图一的修改方式

注意事项:不同低版本,可能会压缩到不同文件,具体需要修改哪个文件可以看图二的callBackendMethod具体在哪个文件里面,低版本不会重启不会重新压缩代码,可以直接取相应文件过来修改。该问题只针对低版本!!!

修改位置:

1659516889090-334.png

1659516901588-582.png

②有一个表单审批时,报错:String index out of range:-1

相同bug:BUG2022061798530

原因:流程设置时,使用了替换节点,但替换节点后,节点属性oneToManyNode设置没有被还原导致

解决方案:出svg-designer-min.js文件(该文件具体构建方法会在另一个文档中做说明,实际修改点 如图1)

1659519385851-876.png

③java那边会报一个ID为NaN的错误

相同bug:BUG2022051894354

原因:流程制作时,会取时间戳作 为ID,但用户的浏览器上可能会装一些加速插件,导致获取时间戳为NaN了

解决方案:这种情况下,需要做 一下防护,一般出的单点补丁包,可在如图的位置,判断一下当前时间戳是否是NaN,如果是的话, 可取两个13位的随机数加起来作为ID

1659519750654-381.png

④公文待办提交时报错:For input string: "undefined"

相同bug:BUG2022051393795

现象:目前只有 8.1sp1的版本会出现该问题

原因:设置节点属性,公文没有视图权限时,获取值为undefined

解决方案:具体修改点可见图1,对于已经出问题的数据,需要重新点开设置节点属性页面,重新保存一下。

1659519850305-268.png

⑤流程提交提示流程分支完整,接请稍后再试

相同bug:BUG2022042892130、BUG2022042892134

原因:选择分支时,将后 端返回的数据覆盖了

解决方案:出包 图1

1659520058560-846.png

⑥微协同提交流程提示"预提交异常"

相同bug:BUG2022080906559

原因:前端请求transBeforeInvokeWorkFlow接口,传递的processId、processXml、processTemplateId这三个参数都是空。

解决方案:找后端一起分析。这三个参数也后端接口传递到前端,/m3/apps/v5/collaboration/js/common.js的FastTool.prototype._exeFast函数内获取。接口为图1

​​​​​​

(2)空白

①流程图渲染不出来

相同bug:BUG2022062800144、BUG2022042090681、BUG2022042591507、BUG2022070801886、 BUG2022062800085、BUG2022062399446

原因:大概率是后端数据问题,流程图是根据后端返回xml画出来的,具体可根据 process_xml、initialize_processXml等变量获取

解决方案:找后端一起分析

②流程框选人后没有显示人名

原因:ctpWindow上没有获取到opener,opener为生成该window的父级,opener是浏览器自己生成的参数。

解决方案:重装浏览器

1659437531193-746.png

③M3查看新闻只显示标题没有内容

该问题其实是m3看不到图片(可能还 有公告讨论板块),原因是没有传递图片宽高,导致图片请求失败,该问题需要后端解决,如果确 定是因为没有宽高导致图片不显示,直接转给后端出包即可。同BUG2022071302562、BUG2022071402615

④待办提交选人第一次总是空白,第二次才正常

相同bug:BUG2022060196301

原因:有些安全软件会拦截某 些请求,然后将页面替换了,出现该问题可先查看网络里面,同一个页面,是否有两个请求,可参考图1。

解决方案:该类问题可找网络同事排查。

1659519568366-526.png

⑤提交流程选执行人时显示空白

相同bug:BUG2022040889232

原因:网络拦截

解决方案:排查网络拦截

(3)没反应、转圈、无效等

①m3发送表单失败

相同bug:BUG2022070601415

现象:m3发送表单:转圈一下就停留下打开界面,无法发送成功(PC端正常) 或者描述为提交一直转圈

解决方案:首先可排查控制台是否有如下报错,如果是图1的报错,直接出包即可(修改点图2)

1659521135442-966.png

②修改流程常见点击保存按钮没反应

相同bug:BUG2022070400961

原因:是由于工作流加载未完成就调用了方法或切换了tab导致

解决方案:具体涉及协同和工作流两个工程的修改(图2),具体变量可搜索: _IsLoadAndRender(协同也是该变量)

1659509929537-962.png

1659510002406-228.png

③m3发送表单失败

相同bug:BUG2022070601415

现象:无法发送成功或一直转圈,且有图1报错

解决方案:

1659521510710-342.png

1659521519684-978.png

④m3中处理待办无法上下滑动

协同、公告、新闻、讨论 等均有可能有问题,原因:使用正文的iscroll组件导致,这类问题可以转给正文的组件的同事修改。同 BUG2022070400872、BUG2022071302454。

⑤部分新闻点击打印按钮没反应

点击打印后,控制台会出现如下报 错,该问题其实是后端数据问题,遇到该类问题,直接转后端解决即可

1659516670040-508.png

⑥流程修改后保存没反应

现象:必现且有图一的报错

原因:后端xml返回数据有缺失

解决方法:重新点进出问题的节点的节点属性保存一下(此项其实是数据修复,可找后端一起看)

1659517020147-939.png

⑦偶发快速发文或者收文的时候会一直转圈

相同bug:BUG2022032387086

原因:某个请求不成功,这种大多是因为客户那边拦截导致请求失败,然后抛出跨域的错误

解决方案:一般排查网络拦截

(4)其他

①输入内容时选人弹窗自己关闭

现象:使用谷歌浏览器流程选人时,在请输入姓名录入内容时弹窗会关闭,或 表述为使用某些输入法有问题

原因:输入姓名录入内容时弹窗会关闭,是因为鼠标 的光标恰好在输入法词条弹起的位置,然后导致焦点事件有问题。

解决方法:

1、更换输入法

2、点击输入框后鼠标移远一点

3、代码修复(图1)

1659517534924-405.png

5、工作流生成svg-designer.min.js方式

(1)在ctp-workflow工程下全局安装grunt 使用命令:npm i  然后运行 npm install grunt -save-dev,在ctp-workflow\svg_workflow_designer目录打开cmd

(2)然后输入npm i 以及 grunt,成功后会重新生产svg-designer.min.js文件,生产的文件路径在ctp workflow\src\main\webapp\common\workflow下。

(3)如果需要非压缩版的svg-designer.min.js,可修改配置文件ctp-workflow\svg_workflow_designer\Gruntfile.js

(4)去掉如图的两个配置,可生成非压缩版的svg-designer.min.js

1659520624347-931.png

(5)非压缩版的代码会生成到dist目录下ctp-workflow\svg_workflow_designer\dist下

(6)如果想非压缩版代码生效,需要改名为svg-designer.min.js,然后放到环境中

LICENSED UNDER CC BY-NC-SA 4.0