diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationFundsF7Plugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationFundsF7Plugin.java index 65c3555..ae32004 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationFundsF7Plugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ApplicationFundsF7Plugin.java @@ -16,7 +16,7 @@ import kd.sdk.plugin.Plugin; import java.util.*; /** - * 用款申请单部门字段过滤与初始赋值逻辑+所属组织默认赋值 + * 用款申请单(废弃)部门字段过滤与初始赋值逻辑+所属组织默认赋值 */ public class ApplicationFundsF7Plugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { 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 index 0927304..9f49046 100644 --- 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 @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; /** - * 用款申请单插件 + * 用款申请单(废弃)插件 */ public class ApplicationfundsPlugin extends AbstractBillPlugIn implements AttachmentOperaClickListener { diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PaymentApplicationPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PaymentApplicationPlugin.java new file mode 100644 index 0000000..b8e3e2a --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PaymentApplicationPlugin.java @@ -0,0 +1,110 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.bill.BillShowParameter; +import kd.bos.bill.OperationStatus; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.ChangeData; +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.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +import kd.bos.mvc.form.ClientViewProxy; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.user.UserServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.ArrayList; +import java.util.EventObject; +import java.util.List; +import java.util.Map; + +/** + * 用款申请单表单插件 + */ +public class PaymentApplicationPlugin extends AbstractBillPlugIn implements AttachmentOperaClickListener, Plugin, BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit Value = this.getView().getControl("zcgj_department");//部门 + Value.addBeforeF7SelectListener(this); + AttachmentPanel panel = getControl("attachmentpanel");//附件 + panel.addOperaClickListener(this); + ; + } + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + setAttFileVisble();//隐藏删除按钮 + BillShowParameter bsp = (BillShowParameter) this.getView().getFormShowParameter(); + if (bsp.getStatus() == OperationStatus.ADDNEW) { + //如果是新增时 + DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 + if (creator != null) { + long mainOrgId = UserServiceHelper.getUserMainOrgId(creator.getLong("id")); + this.getModel().setValue("zcgj_department", mainOrgId);//部门 + this.getView().updateView("zcgj_department"); + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 + if (creator == null) { + return; + } + List id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id")); + List qFilter = new ArrayList<>(); + qFilter.add(new QFilter("id", QCP.in, id)); + formShowParameter.getListFilterParameter().setQFilters(qFilter); + formShowParameter.setCustomParam("isIncludeAllSub", "true"); + } + + @Override + public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) { + setAttFileVisble(); + super.afterDoOperation(afterDoOperationEventArgs); + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + if (e.getProperty().getName().equals("attachmentpanel")) { + setAttFileVisble(); + } + } + + private void setAttFileVisble() { + String billstatus = String.valueOf(this.getModel().getValue("status")); + if (!billstatus.equals("A")) { + AttachmentPanel attachmentPanel = this.getControl("attachmentpanel"); + 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("attachmentpanel", "v", attachmentDatas); + } + } +}