最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

ecology开发之浏览按钮组件

底层代码 bron1984 4220浏览
组件 浏览框控件
功能说明 基于java自定义标签库生成浏览按钮的组件,其主要特点如下:
1、常用于需要通过弹出窗口选择数据的情形;
2、统一维护按钮及其显示区样式;
3、支持快速输入匹配(联想数据)功能;
4、联想输入支持拼音首字母查找;
5、支持浏览按钮和新建按钮两种按钮并存;
6、支持为选择的内容添加链接;
7、支持自定义弹出窗口的大小;
8、支持浏览和新建后的回调机制;
9、支持数据必填验证
使用说明 1.引入这个tagLib
<%@ taglib uri=”/WEB-INF/tld/browser.tld” prefix=”brow”%>
如果没有引入以下js,那么需要引入以下js:
<script type=’text/javascript’ src=’/js/jquery-autocomplete/lib/jquery.bgiframe.min_wev8.js’></script>
<script type=’text/javascript’ src=’/js/jquery-autocomplete/jquery.autocomplete_wev8.js’></script>
<script type=’text/javascript’ src=’/js/jquery-autocomplete/browser_wev8.js’></script>
<link rel=”stylesheet” type=”text/css” href=”/js/jquery-autocomplete/jquery.autocomplete_wev8.css” />
<link rel=”stylesheet” type=”text/css” href=”/js/jquery-autocomplete/browser_wev8.css” />
3.在需要产生浏览的地方加入如下taglib标签

<brow:browser name=”<%=fieldbodyid%>” viewType=”0″ hasBrowser=”true” hasAdd=”false” browserOnClick=”<%=onclick%>”
isMustInput=”<%=isbodymand.equals(“1″)?”2”:(isbodyedit.equals(“1″)?”1”:(isbodyview.equals(“1″)?”0″:”-1″))%>” completeUrl=”<%=”/data.jsp?type=”+fieldbodytype%>”  browserSpanValue=”<%=showname%>”  browserValue=”<%=showid%>” linkUrl=”<%=linkurl%>” type=”<%=fieldbodytype%>” isSingle=”<%=isSingle%>” hasInput=”<%=hasInput(fieldbodytype)%>”
>
3.运行后的效果图如下:

 
例子 例子:http://192.168.4.44:8080/web/webmagazine/WebMagazineEdit.jsp?_fromURL=3&id=21
组件初始化参数 是否必须 类型 描述
name 是  string 浏览按钮的名称,在表单中是字段的ID
width 否 string 浏览按钮元素宽度,如果设置为auto,则浏览框的宽度自动扩充
viewType 是  string 字段类型(0:主表字段,1:明细表字段),主表字段最小宽度为230px,明细字段最小宽度为120px
type 否  string 字段的类型,对应workflow_billfield表中的type字段
isBrowser 否  string 是否是浏览框(默认是true),该属性一般不用
hasBrowser 否  string 是否显示浏览按钮,默认为true
true:显示
false:不显示
browserUrl 否  string 浏览按钮的URL
要携带原有参数,有两种方式:
1、在url后面直接跟上key=即可;如/systeminfo/BrowserMain.jsp?url=/hrm/resource/MultiResource.jsp?resourceids=
2、使用#id#占位符;如/systeminfo/BrowserMain.jsp?url=/hrm/resource/MultiResource.jsp?resourceids=#id#&param=123

 

首选该属性替代browserOnClick

getBrowserUrlFn 否 string 动态获取browserUrl的javascript函数名,不需要括号
getBrowserUrlFnParams 否 string getBrowserUrlFn的参数
browserOnClick 否  string 单击浏览按钮触发的onclick事件
_callback 否 string 执行完browserUrl事件后的回调方法,该方法默认传递四个参数(event,datas,name,_callbackParams)
_callbackParams 否 string _callback的自定义参数
isMustInput 否  string 字段是否必填(默认是0)
0:只读
1:可编辑
2:必填
browserValue 否  string 浏览按钮对应的隐藏域的默认值
browserSpanValue 否  string 浏览按钮的显示值
onPropertyChange 否  string 浏览按钮对应的隐藏域的触发的onpropertychange事件调用的方法
tempTitle 否  string 浏览按钮的中文描述
isSingle 否  string 浏览按钮是否是单选按钮
true:单选
false:多选
linkUrl 否  string 浏览按钮显示值对应的链接地址
index 否  string 针对明细字段设置的,为明细的序号
hasInput 否  string 是否显示搜索框
true:显示
false:不显示
isAutoComplete 否  string 是否启用自动检索,默认为true,该属性建议设置为true
completeUrl 否  string 如果isAutoComplete设置为true,那么该属性必填,自动提示的url地址
hasAdd 否  string 是否显示快捷添加的按钮,默认为false
true:显示
false:不显示
addUrl 否  string 添加按钮对应的链接地址
dialogWidth 否 String 新建弹出窗口的宽度
dialogHeight 否  string 新建弹出窗口的高度
browserDialogWidth 否 String 浏览弹出窗口的宽度
browserDialogHeight 否  string 浏览弹出窗口的高度
zDialog 否 string 是否使用zDialog弹出框,默认为false
true:使用zDialog
false:使用浏览器自带的弹出窗
beforeDelCallback 否  string 按回退键或者点击x按钮删除对象时的前置回调函数
beforeDelParams 否 String beforeDelCallback的自定义参数,格式为{a:’a’,b:1}
afterDelCallback 否  string 按回退键或者点击x按钮删除对象时的后置回调函数
afterDelParams 否 String afterDelCallback的自定义参数,格式为{a:’a’,b:1}
addOnClick 否  string 单击添加按钮时触发的onclick事件
_callbackForAdd 否 string 执行完addOnclick事件后的回调方法,该方法默认传递三个参数(event,datas,_callbackForAddParams)
_callbackForAddParams 否 string _callbackForAdd的自定义参数
needHidden 否 String 是否生成隐藏域,默认为true
true:生成
false:不生成
defaultRow 否  string 多选按钮显示的行数,默认为3行
idKey 否  string 浏览框返回值中作为ID的key值
nameKey 否 String 浏览框返回值中作为NAME的key值
language 否 String 用户当前语言
addBtnID 否 String 添加按钮的ID
addBtnLabel 否 String 添加按钮显示的文字,默认为“新建”
browserBtnID 否 String 浏览按钮的ID
browserBtnClass 否 string 浏览按钮的class,默认为e8_browflow,如果browBtnDisabled不为空,则默认为e8_browflow_disabled
browserBtnSpanCls 否 string 包含浏览按钮的span的样式
display 否 string 浏览按钮默认状态,设置为none则默认隐藏
idSplitFlag 否 string browserValue的分隔符,默认为,
nameSplitFlag 否 string browserSpanValue的分隔符,默认为,
browBtnDisabled 否 string 默认为空字符串,如果设置为none,则禁用隐藏浏览按钮,其他值则禁用浏览按钮
addBtnDisabled 否 string 默认为空字符串,如果设置为none,则禁用隐藏新建按钮,其他值则禁用新建按钮
addBtnSpanCls 否 string 包含增加按钮的span的样式
addBtnClass 否 string 新建按钮的class
parentContainer 否 string 浏览框的父容器
对浏览框组件提供了以下功能函数
方法1 返回类型 描述
__browserNamespace__._writeBackData 无 用于更新指定浏览框的值
方法参数 是否必须 类型 描述
fieldid 是 string 浏览框隐藏域的ID
isMustInput 是 string 字段是否必填
0:只读
1:可编辑
2:必填
data 是 json json格式数据,格式如下:
data = {id:”1,2″,name:”<a href=’#1′>张三</a>,<a href=’javascript:openhrm(2)’>李四</a>”}
_options 否 json json格式数据,格式如下:
options = {hasInput:false,replace:false,isSingle:true,isedit:false}
说明:
1、hasInput:是否有联想输入框,默认为false;
2、replace:是否替换原值,默认为false;
3、isSingle:是否是单选,默认值为true;
4、isedit:当前操作是否是更新其中某个字段,当isSingle=false时生效
方法2 返回类型 描述
dialog.callback 无 回填选择的值
方法参数 是否必须 类型 描述
datas 是 json json格式数据,格式如下:
data = {id:”1,2″,name:”张三,李四”}
关于 浏览框组件 应用强调几点:
1、尽量使用组件提供的弹出框行为,即尽量使用browserUrl和_callback属性完成功能,尽量不使用browserOnClick属性,以为后期维护提供便利。当组件提供的功能实在无法完成时,才考虑使用browserOnClick属性定制自己的弹出框;
2、关于completeUrl,该参数固定为/data.jsp,后面跟浏览框类型的参数,如联想部门:completeUrl=”/data.jsp?type=4″;data.jsp中提供了各种类型浏览框数据的数据源。
3、当使用zDialog弹出框时,请在弹出框页面增加以下代码:
a)获取父窗口对象和弹窗对象:
<script type=”text/javascript”>
var parentWin = parent.parent.getParentWindow(parent);
var dialog = parent.parent.getDialog(parent);
</script>
b)点击【确定】或【清除】时,调用以下代码:
将
window.parent.returnValue  = returnjson;
window.parent.close();
修改为:
if(dialog){
try{
dialog.callback(returnjson);
}catch(e){}
try{
dialog.close(returnjson);
}catch(e){}
}else{
window.parent.returnValue  = returnjson;
window.parent.close();
}
c)关闭弹窗方法,即【取消】按钮
dialog.close();
改造示例:
http://192.168.4.44:8080/docs/category/DocTreeDocFieldEdit.jsp?id=4
http://192.168.4.44:8080/docs/category/DocTreeDocFieldBrowserSingle.jsp?excludeId=4&superiorFieldId=8&splitflag=,
注:必须使用browserUrl的方式才有效!!!

转载请注明:赫非域 » ecology开发之浏览按钮组件