附件字段如何隐藏按钮原创
4人赞赏了该文章
2,926次浏览
编辑于2022年10月11日 14:06:48
关键词:附件字段、隐藏按钮、预览、下载、重命名、删除
一、需求
有个单据(kded_testbill),暂存状态的附件字段,上传的附件不允许修改附件名称。即需要隐藏重命名的按钮。
二、思路与方案
默认暂存情况下”预览、下载、重命名、删除“都可见。新增状态如果需要隐藏”重命名“按钮。则需要考虑如下情况:
(1)打开已有的暂存状态的单据时,需要在afterBindData隐藏重命名按钮
(2)上传新的附件时,会恢复设置附件字段所有按钮可见,所以需要在值更新propertyChanged事件中重新隐藏”重命名“按钮
(3)保存时,也会恢复设置附件字段所有按钮可见,所以需要在操作后afterDoOperation事件中隐藏重命名按钮
三、实现过程
public class TestbillPlugin extends AbstractBillPlugIn { @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("kded_attachmentfield")) { setAttFileVisble(); } super.propertyChanged(e); } private void setAttFileVisble() { String billstatus = String.valueOf(this.getModel().getValue("billstatus")); if (billstatus.equals("A")) { AttachmentEdit attachmentfield = this.getControl("kded_attachmentfield"); IClientViewProxy clientViewProxy = this.getView().getService(IClientViewProxy.class); DynamicObject dataEntity = this.getModel().getDataEntity(); BindingContext bindingContext = new BindingContext(dataEntity, 0); //获取当前页面附件字段信息 Object attachmentValue = attachmentfield.getBindingValue(bindingContext); if (attachmentValue == null || !(attachmentValue instanceof List) || CollectionUtils.isEmpty((List) attachmentValue)) { // 附件字段数据为空,不处理可见性。 return; } List<Map<String, Object>> attachmentDataList = (List<Map<String, Object>>) attachmentfield .getBindingValue(bindingContext); /* * List<String> hiddenBtnList = new ArrayList<>(); * hiddenBtnList.add("print");//加入需要隐藏的自定义按钮标识 */ for (Map<String, Object> attachmentMap : attachmentDataList) { // visible参数规则为数字组成,0代表不可见,1代表可见,按显示顺序设置,"预览,下载,重命名,删除”隐藏重命名直接设置成1101 attachmentMap.put("visible", "1101"); // 隐藏自定义按钮 // attachmentMap.put("hiddenBtn",hiddenBtnList); } // 向前端发送指令更新附件属性。 clientViewProxy.setFieldProperty("kded_attachmentfield", "v", attachmentDataList); } } }
四、效果图
上传单据可以看到”重命名“按钮已隐藏。
五、开发环境版本
COSMICV4.0.014.0
六、参考资料
attfiledVisble.zip(1.88KB)
kded_mycloud-kded_testapp-meta …(12.51KB)
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读