用款申请单增加隐藏附件删除按钮插件

This commit is contained in:
zhangzhiguo 2025-06-26 15:59:37 +08:00
parent 5818d4d2f6
commit 2f45abf406
1 changed files with 68 additions and 0 deletions

View File

@ -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<Map<String, Object>> attachmentData = attachmentPanel.getAttachmentData();
if(attachmentData == null && attachmentData.isEmpty()){
return;
}
List<Map<String, Object>> attachmentDatas = attachmentPanel.getAttachmentData();
for(Map<String, Object> 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);
}
}
}