使用本示例需通过docker容器,请先下拉jxTMS的docker镜像并按说明启动tms容器,并从helloWorld开始尝试。
jxTMS简易流程的流转
上一节我们做完了sfDemo简易流程,看到其界面,但并没有做任何操作。本节我们就开始运行这个流程。
输入校验
大家看一下点击快捷栏入口【演示->发起申请】后显示出来的【发起申请】界面:
大家会看到【类型】和【名称】后面跟了一个红色的星号,这是提示这两个输入有输入数据的约束。关于数据约束的详细说明可参考:数据约束。
概要的说明一下【类型】和【名称】的数据约束是如何实现的:
1、在web文件中相应的提示性文本型控件【row 0 col c0和row 0 col c2】的定义的增加一个属性:
extra=[{'color':'red','text':'*'}]
即在文本控件正式的文本后额外添加一个红色的星号作为提醒。
2、在相应输入控件【row 0 col c1和row 0 col c3】的定义中添加输入约束:
verify=[len>0]
意为长度大于0,即必须要有输入
3、在【确认】按钮【row 2 col c0】的定义中添加一个属性:
needVerify=['demoType','demoName']
在添加了该属性后,点击【确认】按钮后,jxTMS就会逐次读取demoType和demoName的输入值,然后用这两个控件所定义的verify进行校验,通过校验后才会继续按钮所绑定的动作,包括弹出确认框以及向后台提交等。如果校验未通过【大家什么都不要输入就点击确认按钮】,大家会看到:
jxTMS在弹出对话框提示有输入数据校验失败的同时,还会将具体是哪个未通过用红框框出来。
申请人填写
大家现在的【类型】和【名称】后的输入框中任意输入些文字,并在【意见】后也随意输入些文字【意见是多行输入,所以可以敲回车】,然后点击【确认】按钮。
jxTMS在弹出对话框提示执行完毕后,会自动关闭本界面。大家仔细看一下左侧的快捷栏,会看到【消息】后出现了一个圆框的1,点击【消息】后会发现【消息】下面的【我在做的任务】后也出现了一个圆框的1:
这个圆框的1大家显然会明白这是系统提示此处的新消息数,意为:有了一个新的我在做的任务。然后大家点击【我在做的任务】,就会列表显示jxTMS发送给manager的在做的任务列表。该任务列表中每行的格式是:
【任务的名字,这里是我们在发起申请界面的名称中填入的字符串】:指派给我们执行的流程节点
点击任务表中我们刚才提交的任务,会再次显示sfDemo流程的界面,但大家注意一下,这一次所显示的界面和之前我们申请时的界面有什么样的变化:
-
标题变了:从【发起申请】变为了【我在做的任务列表中的任务名】
-
遮挡的位置也发生了变化,由于我们现在执行的是【审核】节点,所以【发起申请】中被遮挡的审核部分的界面现在可以操作了,而申请人部分却被遮挡了起来
-
申请人说明部分的【签发时间】和【签发人】两处自动出现了关于申请人在点击【确认】按钮提交申请时的时间和操作人员姓名
大家在意见中先输入:不同意。然后点击【拒绝】按钮看一下会发生什么。
大家会看到,【消息】后再次出现了一个圆框的1,大家点开我在做的任务列表,看一下我们提交的申请又出现了,但请注意一下:最后的流程节点已经变回了申请。而在点击了该任务后,确实遮挡了审核而放开了申请部分,同时还会在开头显示一个提示栏:告知申请在审核节点被打回了:
不管他,执着的点【确认】按钮。然后就会接收到审核的任务,这次我们把意见修改一下:同意。然后点击【同意】按钮,则流程就会走到【审批】节点。
可选的打回
在【审批】节点大家看到和【审核】的不同在于:多了最后面的【请选择…】。这就是说在【审批】节点大家可以选择是【退回申请人】还是【退回审核】。
注1:简易流程在【同意】时是顺序流转到下一个节点,而在【拒绝】时,默认返回到最开始的节点。如果如在【审批】节点所演示的,增加了绑定到exportAdditional变量的下拉框,用户选择后,即返回指定的value所指定的之前执行过的节点名
注2:【拒绝】时,如指定了exportAdditional则必须指定的是之前执行过的节点名。即拒绝是走回头路,同意才是继续走下去
大家可以输入:有问题。然后选择【退回审核】后【拒绝】,这样多走几遍来体会简易流程的流转。