Explorar o código

DailyApplyBillEditPlugin插件存fromid,GetParameterBillListPlugin获取formid.

lzh hai 2 semanas
pai
achega
db517ee5ed

+ 9 - 3
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/DailyApplyBillEditPlugin.java

@@ -1,10 +1,12 @@
 package nckd.jimin.jyyy.fi.plugin.form;
 
 import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.bill.BillShowParameter;
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.events.BizDataEventArgs;
 import kd.bos.entity.property.BasedataProp;
+import kd.bos.ext.fi.plugin.ArApConvert.util.EmptyUtils;
 import kd.bos.form.field.BasedataEdit;
 import kd.bos.form.field.events.BeforeF7SelectEvent;
 import kd.bos.form.field.events.BeforeF7SelectListener;
@@ -13,6 +15,7 @@ import kd.bos.list.ListShowParameter;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.operation.SaveServiceHelper;
 
 import java.nio.charset.StandardCharsets;
 import java.util.*;
@@ -68,13 +71,16 @@ public class DailyApplyBillEditPlugin extends AbstractBillPlugIn implements Befo
     @Override
     public void afterCreateNewData(EventObject e) {
         super.afterCreateNewData(e);
-
         Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
+        BillShowParameter parameter = new BillShowParameter();
+        String formId =customParams.get("formId").toString();
+        if(EmptyUtils.isNotEmpty(formId)){
+            parameter.setFormId(formId);
+            this.getModel().setValue("nckd_pageid", formId);
+        }
         if(customParams.get("viewType") != null){
             String[] typeStrings = customParams.get("viewType").toString().split(",");
-
             QFilter qFilter = new QFilter("number", QCP.in, typeStrings);
-
             DynamicObject[] viewTypeCols = BusinessDataServiceHelper.load("nckd_payviewtype", "id, number, name", qFilter.toArray());
             if(viewTypeCols != null && viewTypeCols.length > 0){
                 //页面类型赋值

+ 53 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/GetParameterBillListPlugin.java

@@ -0,0 +1,53 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.BillShowParameter;
+import kd.bos.bill.OperationStatus;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.ListSelectedRow;
+import kd.bos.ext.fi.plugin.ArApConvert.util.EmptyUtils;
+import kd.bos.form.ShowType;
+import kd.bos.form.events.BillListHyperLinkClickEvent;
+import kd.bos.form.events.HyperLinkClickArgs;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+
+import java.util.EventObject;
+
+/**
+ * 动态表单插件AbstractListPlugin
+ */
+public class GetParameterBillListPlugin extends AbstractListPlugin {
+    @Override
+    public void billListHyperLinkClick(HyperLinkClickArgs 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_publicreimbursebill";
+            //跳转到指定PC布局
+            BillShowParameter showParameter = new BillShowParameter();
+            QFilter qf = new QFilter("id", QCP.equals, billId);
+            //跳转到指定PC布局
+            DynamicObject billDyn = BusinessDataServiceHelper.loadSingle("er_publicreimbursebill", new QFilter[]{qf});
+            if(billDyn!=null){
+                if(EmptyUtils.isNotEmpty(billDyn.getString("nckd_pageid"))){
+                    formId = billDyn.getString("nckd_pageid");
+                }
+
+            }
+            showParameter.setFormId(formId);
+            showParameter.setPkId(billId);
+            showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+            showParameter.setStatus(OperationStatus.VIEW);
+            this.getView().showForm(showParameter);
+        }
+
+
+    }
+
+
+}