diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationfundsPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationfundsPlugin.java new file mode 100644 index 0000000..0d91020 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationfundsPlugin.java @@ -0,0 +1,68 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.IClientViewProxy; +import kd.bos.form.control.AttachmentPanel; +import kd.bos.form.control.events.AttachmentOperaClickListener; +import kd.bos.form.events.AfterDoOperationEventArgs; +import kd.bos.mvc.form.ClientViewProxy; + +import java.util.EventObject; +import java.util.List; +import java.util.Map; + +public class ApplicationfundsPlugin extends AbstractBillPlugIn implements AttachmentOperaClickListener { + + @Override + public void registerListener(EventObject e) { + AttachmentPanel panel = getControl("zcgj_attachmentpanelap"); + panel.addOperaClickListener(this);; + super.registerListener(e); + } + + @Override + public void afterBindData(EventObject e) { + setAttFileVisble();//隐藏删除按钮 + super.afterBindData(e); + + } + + @Override + public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) { + setAttFileVisble(); + super.afterDoOperation(afterDoOperationEventArgs); + } + @Override + public void propertyChanged(PropertyChangedArgs e) { + if (e.getProperty().getName().equals("zcgj_attachmentcount")) { + setAttFileVisble(); + } + super.propertyChanged(e); + } + + private void setAttFileVisble() { + String billstatus = String.valueOf(this.getModel().getValue("status")); + if (!billstatus.equals("A")) { + AttachmentPanel attachmentPanel = this.getControl("zcgj_attachmentpanelap"); + List> attachmentData = attachmentPanel.getAttachmentData(); + if(attachmentData == null && attachmentData.isEmpty()){ + return; + } + List> attachmentDatas = attachmentPanel.getAttachmentData(); + for(Map attachmentMap : attachmentDatas){ + String visiablePreview = "1";//是否显示预览按钮 + String visiableDownload = "1";//是否显示下载按钮 + String visiableRename = "1";//是否显示重命名按钮 + String visiableDelete = "0";//是否显示删除按钮 + //visible参数规则为01组成,0代表不可见,1代表可见 + attachmentMap.put("visible",visiablePreview + visiableDownload + visiableRename+visiableDelete); + //attachmentMap.put("hiddenBtn",hiddenBtnList); + + } + ClientViewProxy cvp = this.getView().getService(IClientViewProxy.class); + cvp.setFieldProperty("zcgj_attachmentpanelap","v",attachmentDatas); + } + } + +}