|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
本帖最后由 江苏院-吴昊 于 2019-10-10 10:03 编辑
想必大家会遇到一个问题:
通过菜单打开的功能,当刷新浏览器后,功能标题还是可以显示的。
但是一个流程页面(从待办进入),或者通过showPage打开的功能,刷新浏览器后,功能标题就不显示了,即时在showPage时,传递了title参数,类似这样:
- justep.Shell.showPage('$UI/COMS/charge/process/charge/mainDeptDetailActivity.w?r='+mainData.getCurrentRowID(), {
- title : '['+mainData.getValue('fSN')+']'+mainData.getValue("fContractName"),
- rowID : mainData.getCurrentRowID(),
- to : 'rd'
- },{
- title: '['+mainData.getValue('fSN')+']'+mainData.getValue("fContractName")
- });
复制代码
论坛也有类似的帖子:http://docs.wex5.com/bex5-ui-question-list-10250/,
解决方式是在页面初始化时,用jQuery的方式填充标题,但是需要每个功能都写上这样的代码,很不合理。
现在我这里提供一个从底层解决的方法:
修改/portal/base/baes.js 中的_getTitle方法。
Model.prototype._getTitle = function(options, container) {
var title = (options && (options.title || (options.extra && options.extra.title))) || '';
if(!title){
var temp_url = new justep.URL(options.url,justep.URL.CLASSIC_MODE);
title = temp_url.getParam('title') || '';
}
if(!title && container.params){
title = container.params.title || '';
}
if (container && container.getInnerModel()) {
var evtData = {
type : 'getTitle',
title : title
};
container.getInnerModel().postMessage(evtData);
title = evtData.title;
}
return title;
};
红色部分是我添加:
1. 从url中获取title,针对流程页面;
2. 从params中获取,针对showPage功能页。
|
|