From 4785da9a2bc0277f7dbc103cf24277a0f494a06b Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 10 Sep 2025 11:25:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E6=B8=85=E5=8D=95=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=A1=A8=E5=8D=95=E6=89=A9=E5=B1=95=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E4=B8=BA=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/ResourceFilterExtPlugin.java | 69 +++++++++++++++++-- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ResourceFilterExtPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ResourceFilterExtPlugin.java index 6b925fe..d89558a 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ResourceFilterExtPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ResourceFilterExtPlugin.java @@ -1,14 +1,28 @@ 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.IPageCache; import kd.bos.form.control.Button; import kd.bos.form.control.Image; 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 java.util.EventObject; import java.util.Map; +/** + * 资源清单动态表单扩展系统插件 + */ public class ResourceFilterExtPlugin extends ResourceItemListPlugin { @Override public void beforeBindData(EventObject e) { @@ -19,12 +33,13 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin { String firstOpen = this.getPageCache().get("firstOpen"); if (firstOpen == null) { // this.getPageCache().put("firstOpen", "false"); - this.getPageCache().put("firstOpen","false"); + this.getPageCache().put("firstOpen", "false"); Object originFormId = customParams.get("originFormId");//源表单ID if (originFormId != null && originFormId.equals("ecma_purchaseapply")) { //采购申请单 this.setResourceTypeStyle("material"); + this.afterSelectedTag("material"); } // this.afterSelectedTag("material"); @@ -33,15 +48,15 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin { if (contractType.toString().equals("wzcg01")) {//物资采购 this.setResourceTypeStyle("material"); this.afterSelectedTag("material"); - } else if (contractType.toString().equals("sbcg")||(contractType.toString().equals("sbzl"))) {//设备采购 + } else if (contractType.toString().equals("sbcg") || (contractType.toString().equals("sbzl"))) {//设备采购 this.setResourceTypeStyle("equipment"); this.afterSelectedTag("equipment"); - }else if (contractType.toString().equals("qtcc") || contractType.toString().equals("lwlcc")|| contractType.toString().equals("ck")|| - contractType.toString().equals("zyfbcc")|| contractType.toString().equals("jjbc")|| - contractType.toString().equals("yslht")|| contractType.toString().equals("qtzclht")) {//产出物 + } else if (contractType.toString().equals("qtcc") || contractType.toString().equals("lwlcc") || contractType.toString().equals("ck") || + contractType.toString().equals("zyfbcc") || contractType.toString().equals("jjbc") || + contractType.toString().equals("yslht") || contractType.toString().equals("qtzclht")) {//产出物 this.setResourceTypeStyle("turnover"); this.afterSelectedTag("turnover"); - }else { + } else { this.setResourceTypeStyle("material"); this.afterSelectedTag("material"); } @@ -77,10 +92,50 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin { if (originFormId != null && originFormId.equals("ecma_purchaseapply")) { //采购申请单 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 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 public void registerListener(EventObject e) { Image subLabel = (Image) this.getView().getControl("sub");