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具体在哪个文件里面,低版本不会重启不会重新压缩代码,可以直接取相应文件过来修改。该问题只针对低版本!!!
修改位置:


②有一个表单审批时,报错:String index out of range:-1
相同bug:BUG2022061798530
原因:流程设置时,使用了替换节点,但替换节点后,节点属性oneToManyNode设置没有被还原导致
解决方案:出svg-designer-min.js文件(该文件具体构建方法会在另一个文档中做说明,实际修改点 如图1)

③java那边会报一个ID为NaN的错误
相同bug:BUG2022051894354
原因:流程制作时,会取时间戳作 为ID,但用户的浏览器上可能会装一些加速插件,导致获取时间戳为NaN了
解决方案:这种情况下,需要做 一下防护,一般出的单点补丁包,可在如图的位置,判断一下当前时间戳是否是NaN,如果是的话, 可取两个13位的随机数加起来作为ID

④公文待办提交时报错:For input string: "undefined"
相同bug:BUG2022051393795
现象:目前只有 8.1sp1的版本会出现该问题
原因:设置节点属性,公文没有视图权限时,获取值为undefined
解决方案:具体修改点可见图1,对于已经出问题的数据,需要重新点开设置节点属性页面,重新保存一下。

⑤流程提交提示流程分支完整,接请稍后再试
相同bug:BUG2022042892130、BUG2022042892134
原因:选择分支时,将后 端返回的数据覆盖了
解决方案:出包 图1


⑥微协同提交流程提示"预提交异常"
相同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是浏览器自己生成的参数。
解决方案:重装浏览器

③M3查看新闻只显示标题没有内容
该问题其实是m3看不到图片(可能还 有公告讨论板块),原因是没有传递图片宽高,导致图片请求失败,该问题需要后端解决,如果确 定是因为没有宽高导致图片不显示,直接转给后端出包即可。同BUG2022071302562、BUG2022071402615
④待办提交选人第一次总是空白,第二次才正常
相同bug:BUG2022060196301
原因:有些安全软件会拦截某 些请求,然后将页面替换了,出现该问题可先查看网络里面,同一个页面,是否有两个请求,可参考图1。
解决方案:该类问题可找网络同事排查。

⑤提交流程选执行人时显示空白
相同bug:BUG2022040889232
原因:网络拦截
解决方案:排查网络拦截
(3)没反应、转圈、无效等
①m3发送表单失败
相同bug:BUG2022070601415
现象:m3发送表单:转圈一下就停留下打开界面,无法发送成功(PC端正常) 或者描述为提交一直转圈
解决方案:首先可排查控制台是否有如下报错,如果是图1的报错,直接出包即可(修改点图2)

②修改流程常见点击保存按钮没反应
相同bug:BUG2022070400961
原因:是由于工作流加载未完成就调用了方法或切换了tab导致
解决方案:具体涉及协同和工作流两个工程的修改(图2),具体变量可搜索: _IsLoadAndRender(协同也是该变量)


③m3发送表单失败
相同bug:BUG2022070601415
现象:无法发送成功或一直转圈,且有图1报错
解决方案:


④m3中处理待办无法上下滑动
协同、公告、新闻、讨论 等均有可能有问题,原因:使用正文的iscroll组件导致,这类问题可以转给正文的组件的同事修改。同 BUG2022070400872、BUG2022071302454。
⑤部分新闻点击打印按钮没反应
点击打印后,控制台会出现如下报 错,该问题其实是后端数据问题,遇到该类问题,直接转后端解决即可

⑥流程修改后保存没反应
现象:必现且有图一的报错
原因:后端xml返回数据有缺失
解决方法:重新点进出问题的节点的节点属性保存一下(此项其实是数据修复,可找后端一起看)

⑦偶发快速发文或者收文的时候会一直转圈
相同bug:BUG2022032387086
原因:某个请求不成功,这种大多是因为客户那边拦截导致请求失败,然后抛出跨域的错误
解决方案:一般排查网络拦截
(4)其他
①输入内容时选人弹窗自己关闭
现象:使用谷歌浏览器流程选人时,在请输入姓名录入内容时弹窗会关闭,或 表述为使用某些输入法有问题
原因:输入姓名录入内容时弹窗会关闭,是因为鼠标 的光标恰好在输入法词条弹起的位置,然后导致焦点事件有问题。
解决方法:
1、更换输入法
2、点击输入框后鼠标移远一点
3、代码修复(图1)

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

(5)非压缩版的代码会生成到dist目录下ctp-workflow\svg_workflow_designer\dist下
(6)如果想非压缩版代码生效,需要改名为svg-designer.min.js,然后放到环境中