自定义快捷新增界面
背景
客户期望物料字段在模糊搜索时,支持快捷新增,并且满足以下几点:
快捷新增不直接跳转到物料的新增界面,而是打开一个自定义页面,在这个自定义界面只维护基本的计量单位等信息,点击确认后自动生成物料。
如果模糊搜索的内容不存在,在跳转到快捷新增界面时,将直接把模糊搜索的内容填写到物料的编码字段上。
由于后台自动生成物料这个逻辑比较简单,这里就不再单独描写了。
实现方案
元数据放开快捷新增的功能
监听模糊搜索的事件
表单插件继承基类: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); materialEdit.addBeforeQuickAddNewListener(this);
触发了物料的快捷新增后,取消原来的事件,打开我们自定义的快捷新增界面:
@Override public void beforeQuickAddNew(BeforeQuickAddNewEvent e) { Control source = (Control) e.getSource(); String key = source.getKey(); if(KEY_MATERIAL.equals(key)) { //跳转自定义物料快速新增页面 showMaterialQuickAddNewForm(); e.setCancel(true); } } /** * 跳转自定义物料快速新增页面 */ private void showMaterialQuickAddNewForm() { //缓存的模糊搜索的内容 String partNo = this.getPageCache().get(CACHE_MATERIAL_F7_SEARCH); FormShowParameter parameter = new FormShowParameter(); parameter.setFormId(xxx); parameter.getOpenStyle().setShowType(ShowType.Modal); //如果需要将快速新增的物料直接填到单据上,可以监听回调事件 //parameter.setCloseCallBack(new CloseCallBack(this, xxx)); //将缓存的模糊搜索的内容传过去 parameter.setCustomParam(“partNo”, partNo); this.getView().showForm(parameter); }
跳转到自定义页面后的逻辑就不再赘述了,根据具体的业务来设计页面、写后台逻辑即可。
自定义快捷新增界面
背景客户期望物料字段在模糊搜索时,支持快捷新增,并且满足以下几点:快捷新增不直接跳转到物料的新增界面,而是打开一个自定义页面,在这...
点击下载文档
本文2024-09-23 00:04:48发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-137161.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章