配置自定义浏览按钮
一、接口说明
该接口主要用来在e-cology配置自定义数据源的数据选择框,通过配置方式扩展浏览按钮的选择项。
二、使用说明
1、配置标准浏览按钮
可通过两种方式配置外部数据源,一种是修改配置文件(此方式需要重新resin服务器),另一种是通过可视化页面进行配置(此方式无需重启resin服务器):
(1)修改配置文件browser.xml(该文件位于/ecology/WEB-INF/service/browser.xml),配置文件内容如下图所示:
<?xml version=”1.0″ encoding=”UTF-8″?>
<module id=”browser” version=”1.0.0″> <service-point id=”hrm” interface=”weaver.interfaces.workflow.browser.Browser”> <invoke-factory> <construct class=”weaver.interfaces.workflow.browser.BaseBrowser”> <set-service property=”ds” service-id=”datasource.other” /> <set property=”search” value=”select id, lastname, workcode from hrmresource” /> <set property=”searchById” value=”select lastname, workcode from hrmresource where id=?” /> <set property=”searchByName” value=”select id, lastname, workcode from hrmresource where lastname like ?” /> <set property=”nameHeader” value=”姓名” /> <set property=”descriptionHeader” value=”工号” /> <set property=”outPageURL” value=”” /> </construct> </invoke-factory> </service-point> </module> |
其中,数据源配置文件上的各个属性分别表示:
- ID:引用浏览框的唯一标识,该配置文件中不能重复
- ds:选择该浏览按钮连接的数据源
- search:浏览按钮初始选择数据时,按此sql查询
- searchById:流程保存后,按此sql查询出对应的标签值
- searchByName:浏览框里的搜索条件按此sql查询
- nameHeader: 浏览框第一列显示名、查询条件名称
- descriptionHeader:浏览框第二列显示名
- outPageURL:扩展此浏览按钮时,填写自行开发的浏览按钮页面
(2)通过可视化页面(访问菜单:【设置】=》【设置中心】=》【外部接口设置】=》【自定义浏览按钮配置】进行访问;也可以直接访问地址/servicesetting/browsersetting.jsp页面进行访问),如下图所示:
右键点击【新建】菜单,即可进入如下界面进行配置:
- 自定义浏览框标识:即xml配置中的id; 这个是引用浏览按钮的唯一标识
- 数据源:选择该浏览按钮连接的数据源
- 无条件查询:浏览按钮初始选择数据时,按此sql查询
- 条件1查询:流程保存后,按此sql查询出对应的标签值
- 条件2查询:浏览框里的搜索条件按此sql查询
- 列1显示名:浏览框第一列显示名、查询条件名称
- 列2显示名:浏览框第二列显示名
- 外部页面地址:扩展此浏览按钮时,填写自行开发的浏览按钮页面
2、使用浏览按钮
在浏览按钮配置成功后,即可使用此浏览按钮,我们可以在需要此浏览按钮的流程上,创建此浏览按钮对应的字段即可,如下所示:
3、浏览按钮联动
对于6.0以上版本的,search 中的select语句中的条件还可以变量$userid$传入当前登录账号的id,来进一步筛选可选数据,作为控制权限的一种发放,如要实现,每个人只能选择自己创建的流程就可以通过这个sql实现:SELECT a.requestid, a.requestname, b.lastname FROM workflow_requestbase a INNER JOIN HrmResource b ON a.creater = b.id where creater = $userid$ order by requestid desc
4、浏览按钮扩展
如果配置出来的浏览按钮仍然无法满足要求,我们可以自己扩展此浏览按钮,扩展方式如下:
(1)开发浏览按钮的jsp页面,对此页面只要求返回值符合一定的规范,需要返回固定的数组元素,下边模拟一个简单的浏览按钮页面,代码如下:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<body>
<button onclick=”singleSelect()”>单选</button>
<button onclick=”multiSelect()”>多选</button>
<button onclick=”clearData()”>清除</button>
<button onclick=”cancel()”>取消</button>
</body>
<SCRIPT LANGUAGE=VBS>
//单选
Sub singleSelect()
window.parent.returnvalue = Array(“1″,”aaaa”,”aaaaaaa”)
window.parent.close
End Sub
//多选
Sub multiSelect()
window.parent.returnvalue = Array(“1,2,3″,”aaaa,bbb,ccc”,”aaaaaa,bbbbbb,cccccc”)
window.parent.close
End Sub
//清除
Sub clearData()
window.parent.returnvalue = Array(0,””)
window.parent.close
End Sub
//取消
Sub cancel()
window.parent.close
End Sub
</SCRIPT>
</html>
(2)在配置文件browser.xml文件中,需要增加一个属性的配置,即outPageURL(外部页面地址),如下图所示:
(3)在流程表单里配置上此类型字段后,即可看到效果,如下图所示:
转载请注明:赫非域 » e-cology后端配置自定义浏览按钮