Browse Source

feat(salary): 实现员工待定调薪列表插件跳转功能

- 添加超链接点击事件处理逻辑
- 实现从调薪列表跳转至员工详情页面
- 支持通过员工编号字段触发跳转操作
- 设置新标签页展示员工信息表单
- 优化列表插件初始化监听器注册
- 移除冗余导入及未使用代码
turborao 3 days ago
parent
commit
cde81eeae4

+ 32 - 14
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/plugin/form/PendingSalaryAdjListPlugin.java

@@ -1,32 +1,28 @@
 package nckd.jxccl.swc.init.plugin.form;
 
+import kd.bos.base.BaseShowParameter;
+import kd.bos.bill.OperationStatus;
 import kd.bos.dataentity.entity.DynamicObject;
-import kd.bos.dataentity.entity.DynamicObjectCollection;
+
+import kd.bos.dataentity.resource.ResManager;
 import kd.bos.entity.EntityMetadataCache;
 import kd.bos.entity.MainEntityType;
+import kd.bos.entity.datamodel.ListSelectedRow;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.datamodel.events.BizDataEventArgs;
-import kd.bos.entity.param.CustomParam;
-import kd.bos.form.events.AfterDoOperationEventArgs;
-import kd.bos.form.events.BeforeDoOperationEventArgs;
-import kd.bos.form.events.PreOpenFormEventArgs;
+import kd.bos.form.ShowType;
+import kd.bos.form.events.*;
 import kd.bos.form.operate.FormOperate;
 import kd.bos.list.BillList;
 import kd.bos.list.plugin.AbstractListPlugin;
-import kd.bos.logging.Log;
-import kd.bos.logging.LogFactory;
-import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.QueryServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
-import kd.bos.servicehelper.parameter.SystemParamServiceHelper;
 import kd.sdk.plugin.Plugin;
 import nckd.jxccl.swc.init.business.SynPendingSalaryAdjDataServiceImpl;
-
-import java.time.LocalDate;
 import java.util.*;
-import java.util.stream.Collectors;
+
 
 /**
  * 员工待定调薪清单
@@ -42,10 +38,32 @@ public class PendingSalaryAdjListPlugin extends AbstractListPlugin implements Pl
      */
     private static final String entityName = "nckd_pendingsalaryadj";
 
+    @Override
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+
+    }
 
     @Override
-    public void initialize() {
-        super.initialize();
+    public void billListHyperLinkClick(HyperLinkClickArgs args) {
+        String fieldName = args.getHyperLinkClickEvent().getFieldName();
+        if ("nckd_employeefield.empnumber".equals(fieldName)) {
+            HyperLinkClickEvent linkClick = args.getHyperLinkClickEvent();
+            BillList billList = (BillList)linkClick.getSource();
+            ListSelectedRow selectedRow = billList.getCurrentSelectedRowInfo();
+            if (selectedRow != null) {
+                long id = Long.parseLong(String.valueOf(selectedRow.getPrimaryKeyValue()));
+                DynamicObject dyn = QueryServiceHelper.queryOne(entityName,"id,nckd_employeefield.boid,nckd_employeefield.name", new QFilter[]{new QFilter("id", "=", id)});
+                BaseShowParameter showParameter = new BaseShowParameter();
+                showParameter.setFormId("hsbs_employee");
+                showParameter.setPkId(dyn.get("nckd_employeefield.boid"));
+                showParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+                showParameter.setStatus(OperationStatus.VIEW);
+                showParameter.setCaption("计薪人员 - "+dyn.getString("nckd_employeefield.name"));
+                this.getView().showForm(showParameter);
+                args.setCancel(true);
+            }
+        }
     }
 
     @Override