自定义快捷新增界面

背景
客户期望物料字段在模糊搜索时,支持快捷新增,并且满足以下几点:
快捷新增不直接跳转到物料的新增界面,而是打开一个自定义页面,在这个自定义界面只维护基本的计量单位等信息,点击确认后自动生成物料。
如果模糊搜索的内容不存在,在跳转到快捷新增界面时,将直接把模糊搜索的内容填写到物料的编码字段上。
由于后台自动生成物料这个逻辑比较简单,这里就不再单独描写了。
实现方案
元数据放开快捷新增的功能

监听模糊搜索的事件
表单插件继承基类:BasedataFuzzySearchListener
注册监听:
BasedataEdit materialEdit = this.getControl(KEY_MATERIAL); materialEdit.addBasedataFuzzySearchListener(this);
触发了物料的模糊搜索时,先将模糊搜索的内容缓存起来:
@Override
public void handleData(BasedataFuzzySearchEvent e) {
BasedataEdit source = (BasedataEdit)e.getSource();
String key = source.getKey();
if(KEY_MATERIAL.equals(key)) {
QFilter searchFilter = source.getSearchFilter();
if (searchFilter != null) {
//获取模糊搜索的内容
Object value = searchFilter.getValue();
if (value != null) {
String s = value.toString();
//按#分割,#前面是搜索的自动标识,#后面是搜索的内容
String[] split = s.split("#");
if (split.length == 2) {
String inputString = split[1];
inputString = inputString.replaceFirst("%", "");
this.getPageCache().put(CACHE_MATERIAL_F7_SEARCH, inputString);
}
}
} else {
this.getPageCache().put(CACHE_MATERIAL_F7_SEARCH, "");
}
}
}监听快捷新增的事件
表单插件继承基类:BeforeQuickAddNewListener
注册监听:
BasedataEdit materialEdit = this.getControl(KEY_MATERIAL); mate
自定义快捷新增界面
背景客户期望物料字段在模糊搜索时,支持快捷新增,并且满足以下几点:快捷新增不直接跳转到物料的新增界面,而是打开一个自定义页面,在这...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



