流程process组件有dialog属性,可以设置不同的功能使用不同的流转对话框,如果要实现具体某些功能的流转对话框有不同的控制,可以直接设置dialog属性,为自己添加了控制的流转对话框
扩展流转对话框简单的操作如下:
1.在UI2下自己的功能目录下创建一个processDialog目录,把/UI2/system/service/process/dialog/processDialog.w、/UI2/system/service/process/dialog/processDialog.js、/UI2/system/service/process/dialog/processDialog.m.w和/UI2/system/service/process/dialog/processDialog.m.js这四个文件拷贝到自己创建的目录下
2.修改拷贝的processDialog.js和processDialog.m.js文件中的var OrgKinds = require(“./orgKinds”);为:var OrgKinds = require(“$UI/system/service/process/dialog/orgKinds”);
3.修改拷贝的processDialog.w文件中window组件的extends属性值,路径设置为拷贝到自己目录下的processDialog.m.w路径
然后就可以在拷贝的processDialog.w和对应的js文件进行自己的扩展,扩展后设置process组件上的dialog属性值为自己目录下的processDialog.w文件
注意可能有些组件或节点上没有xid,设计器上是不能修改的,如果要修改设置一下xid即可(processDialog.w是继承processDialog.m.w的,如果processDialog.w中xid为灰色不能设置的要在processDialog.m.w中设置xid)
例如:控制高级这个按钮在某些写情况下可用,定位到高级这个button按钮,设置xid,然后就可以通过bind-disabled控制是否可用
如果要在流转对话框中获取流程表单中的业务数据可以通过下面两种方案
说明:
data的xid:业务表单中的.w中的bizData的xid
XX:要获取的业务bizData中具体关系值的关系名
方案一:用this.getParent().comp(“data的xid”).getValue(“XX”)获取具体的关系的值
方案二:在process组件上可以自定义属性,属性名可以用bind-attr的格式开头,这样属性值就可以直接用$model.data的xid.val(‘XXX’)设置
如bind-attr-value=”$model.mainData.val(‘fName’)”,在流转对话框中获取值用$(this.getParent().getElementByXid(“process”)).attr(“value”);
process:.w中process组件的xid,value:自定义的属性名(只需要bind-attr-后面的即可)
评一波