资源清单动态表单扩展系统插件优化逻辑,单独为采购申请单添加过滤逻辑

This commit is contained in:
xuhaihui 2025-09-10 11:25:19 +08:00
parent f3035b011f
commit 4785da9a2b
1 changed files with 62 additions and 7 deletions

View File

@ -1,14 +1,28 @@
package zcgj.zcdev.zcdev.pr.plugin.form; package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.entity.tree.TreeNode;
import kd.bos.form.FormShowParameter; import kd.bos.form.FormShowParameter;
import kd.bos.form.IPageCache;
import kd.bos.form.control.Button; import kd.bos.form.control.Button;
import kd.bos.form.control.Image; import kd.bos.form.control.Image;
import kd.bos.form.control.Search; import kd.bos.form.control.Search;
import kd.bos.form.control.TreeView;
import kd.bos.form.events.SetFilterEvent;
import kd.bos.list.ListShowParameter;
import kd.bos.list.events.BuildTreeListFilterEvent;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.tree.TreeFilterParameter;
import kd.ec.basedata.common.enums.ResourceTypeEnum;
import kd.ec.basedata.formplugin.ResourceItemListPlugin; import kd.ec.basedata.formplugin.ResourceItemListPlugin;
import java.util.EventObject; import java.util.EventObject;
import java.util.Map; import java.util.Map;
/**
* 资源清单动态表单扩展系统插件
*/
public class ResourceFilterExtPlugin extends ResourceItemListPlugin { public class ResourceFilterExtPlugin extends ResourceItemListPlugin {
@Override @Override
public void beforeBindData(EventObject e) { public void beforeBindData(EventObject e) {
@ -25,6 +39,7 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin {
if (originFormId != null && originFormId.equals("ecma_purchaseapply")) { if (originFormId != null && originFormId.equals("ecma_purchaseapply")) {
//采购申请单 //采购申请单
this.setResourceTypeStyle("material"); this.setResourceTypeStyle("material");
this.afterSelectedTag("material");
} }
// this.afterSelectedTag("material"); // this.afterSelectedTag("material");
@ -77,10 +92,50 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin {
if (originFormId != null && originFormId.equals("ecma_purchaseapply")) { if (originFormId != null && originFormId.equals("ecma_purchaseapply")) {
//采购申请单 //采购申请单
this.getView().setVisible(true, new String[]{"flexpanelmaterial"}); this.getView().setVisible(true, new String[]{"flexpanelmaterial"});
this.getView().setVisible(false, new String[]{"flexpanelsub", "flexpanellabour", "flexpanelcomposite", "flexpanelequipment", "flexpanelturnover", "flexpanelother"}); this.getView().setVisible(false, new String[]{"flexpanelequipment", "flexpanellabour", "flexpanelcomposite", "flexpanelturnover", "flexpanelother", "flexpanelsub"});
} }
} }
/* public void setFilter(SetFilterEvent e) {
IPageCache pageCache = this.getPageCache();
String nodeid = pageCache.get("focusnode_text_key");
String resourceType = pageCache.get("selected_tag_key");
QFilter resourceTypeFilter = null;
if (resourceType != null) {
resourceTypeFilter = new QFilter("resourcetype", "=", ResourceTypeEnum.valueOf(resourceType).value);
} else {
resourceTypeFilter = new QFilter("resourcetype", "!=", ResourceTypeEnum.COMPOSITE.getValue());
}
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
Map<String, Object> customParams = formShowParameter.getCustomParams();
Object originFormId = customParams.get("originFormId");//源表单ID
if (originFormId != null && originFormId.equals("ecma_purchaseapply")) {
//采购申请单
resourceTypeFilter = new QFilter("resourcetype", "=", "03");
}
QFilter resourceFilter = null;
if (nodeid != null) {
resourceFilter = new QFilter("resource", "in", this.getChildrenNodes(nodeid));
}
e.getQFilters().add(resourceFilter);
e.getQFilters().add(resourceTypeFilter);
TreeNode focusNode = new TreeNode();
if (nodeid == null) {
nodeid = "1";
}
focusNode.setId(nodeid);
TreeView treeView = (TreeView) this.getControl("treeview");
treeView.focusNode(focusNode);
}*/
@Override
public void buildTreeListFilter(BuildTreeListFilterEvent e) {
super.buildTreeListFilter(e);
}
@Override @Override
public void registerListener(EventObject e) { public void registerListener(EventObject e) {
Image subLabel = (Image) this.getView().getControl("sub"); Image subLabel = (Image) this.getView().getControl("sub");