瀏覽代碼

1、新增对公报销单列表插件,不通的类型打开不同的布局

wanghaiwu 4 周之前
父節點
當前提交
313ac72c80

+ 46 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/PublicReimburseBillListPlugin.java

@@ -0,0 +1,46 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.BillShowParameter;
+import kd.bos.bill.OperationStatus;
+import kd.bos.entity.datamodel.ListSelectedRow;
+import kd.bos.form.ShowType;
+import kd.bos.form.events.BillListHyperLinkClickEvent;
+import kd.bos.form.events.HyperLinkClickArgs;
+import kd.bos.list.plugin.AbstractListPlugin;
+
+/**
+ * 插件描述:列表插件,根据不同页面类型,打开不同的pc布局
+ * 表单标识:对公报销单(nckd_er_publicreimbur_ext)
+ * @author wanghaiwu_kd
+ * @date 2025/05/20
+ */
+public class PublicReimburseBillListPlugin extends AbstractListPlugin {
+    @Override
+    public void billListHyperLinkClick(HyperLinkClickArgs args) {
+//        super.billListHyperLinkClick(args);
+
+        if ("billno".equals(args.getFieldName())) {
+            //获取当前数据行
+            BillListHyperLinkClickEvent evt = (BillListHyperLinkClickEvent) args.getHyperLinkClickEvent();
+            ListSelectedRow currentRow = evt.getCurrentRow();
+
+            Long billId = (Long) currentRow.getPrimaryKeyValue();
+            String billStatus = currentRow.getBillStatus();
+
+            String formId= "er_publicreimbur";
+            //跳转到指定PC布局
+            BillShowParameter showParameter = new BillShowParameter();
+            showParameter.setFormId(formId);
+            showParameter.setPkId(billId);
+            showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+
+            if("C".equals(billStatus)) {
+                showParameter.setStatus(OperationStatus.VIEW);
+            } else {
+                showParameter.setStatus(OperationStatus.EDIT);
+            }
+
+            this.getView().showForm(showParameter);
+        }
+    }
+}