Преглед на файлове

列表的操作列的操作按钮显示与隐藏

9060 преди 11 месеца
родител
ревизия
7fd5d8c1b4

+ 65 - 0
cosmic/q1k2-study/src/main/java/q1k2/study/hr/common/train/req/Q1k2TrainReqConstant.java

@@ -0,0 +1,65 @@
+package q1k2.study.hr.common.train.req;
+
+/**
+ * 培训需求申报常量类
+ *
+ * @author
+ * @version 1.0
+ * @date 2024-06-27 19:04:48
+ */
+public class Q1k2TrainReqConstant {
+    /**培训需求申报**/
+    public static final String Q1K2_TRAIN_REQ = "q1k2_train_req";
+    /**缺省id字段**/
+    public static final String ID = "id";
+    /**单据编号**/
+    public static final String BILLNO = "billno";
+    /**单据状态**/
+    public static final String BILLSTATUS = "billstatus";
+    /**创建人**/
+    public static final String CREATOR = "creator";
+    /**修改人**/
+    public static final String MODIFIER = "modifier";
+    /**审核人**/
+    public static final String AUDITOR = "auditor";
+    /**审核日期**/
+    public static final String AUDITDATE = "auditdate";
+    /**修改时间**/
+    public static final String MODIFYTIME = "modifytime";
+    /**创建时间**/
+    public static final String CREATETIME = "createtime";
+    /**创建组织**/
+    public static final String ORG = "org";
+    /**单据体**/
+    public static final String ENTRYENTITY = "entryentity";
+    /**分录行号**/
+    public static final String SEQ = "seq";
+    /**修改人**/
+    public static final String MODIFIERFIELD = "modifierfield";
+    /**修改时间**/
+    public static final String MODIFYDATEFIELD = "modifydatefield";
+    /**培训名称**/
+    public static final String Q1K2_ET_NAME = "q1k2_et_name";
+    /**培训级别**/
+    public static final String Q1K2_ET_RANK = "q1k2_et_rank";
+    /**培训对象**/
+    public static final String Q1K2_ET_OBJECT = "q1k2_et_object";
+    /**培训类型**/
+    public static final String Q1K2_ET_TYPE = "q1k2_et_type";
+    /**培训人数**/
+    public static final String Q1K2_ET_PERSON_NUM = "q1k2_et_person_num";
+    /**培训内容**/
+    public static final String Q1K2_ET_CONTENT = "q1k2_et_content";
+    /**培训形式**/
+    public static final String Q1K2_ET_FORM = "q1k2_et_form";
+    /**师资来源**/
+    public static final String Q1K2_ET_TEACHERS = "q1k2_et_teachers";
+    /**计划时间**/
+    public static final String Q1K2_ET_PLAN_TIME = "q1k2_et_plan_time";
+    /**预算**/
+    public static final String Q1K2_ET_BUDGET = "q1k2_et_budget";
+    /**备注**/
+    public static final String Q1K2_ET_REMARK = "q1k2_et_remark";
+    /**名称**/
+    public static final String Q1K2_NAME = "q1k2_name";
+}

+ 104 - 0
cosmic/q1k2-study/src/main/java/q1k2/study/hr/plugin/list/train/req/TrainReqListPlugin.java

@@ -0,0 +1,104 @@
+package q1k2.study.hr.plugin.list.train.req;
+
+import kd.bos.entity.datamodel.events.PackageDataEvent;
+import kd.bos.form.control.EntryGrid;
+import kd.bos.form.control.OperationColumn;
+import kd.bos.form.events.BeforeCreateListColumnsArgs;
+import kd.bos.form.events.BeforeCreateListDataProviderArgs;
+import kd.bos.form.operatecol.OperationColItem;
+import kd.bos.list.BillList;
+import kd.bos.list.IListColumn;
+import kd.bos.list.ListGridView;
+import kd.bos.list.ListOperationColumn;
+import kd.bos.list.column.ListOperationColumnDesc;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.sdk.plugin.Plugin;
+
+import java.util.EventObject;
+import java.util.List;
+
+/**
+ * 标准单据列表插件
+ */
+public class TrainReqListPlugin extends AbstractListPlugin implements Plugin {
+
+    @Override
+
+    public void initialize() {
+
+        BillList entryGrid = this.getControl(AbstractListPlugin.BILLLISTID);
+
+        entryGrid.addPackageDataListener(pkEvent -> {
+
+            Object status = pkEvent.getRowData().get("billstatus");
+
+            if (pkEvent.getSource() instanceof ListOperationColumnDesc
+
+                    && "q1k2_listoperationcolumna".equalsIgnoreCase(((ListOperationColumnDesc) pkEvent.getSource()).getKey())) {
+
+                List<OperationColItem> operationColItems = (List<OperationColItem >) pkEvent.getFormatValue();
+
+                for (OperationColItem  operationColItem : operationColItems) {
+                    if ((("modify".equalsIgnoreCase(operationColItem.getOperationKey()))
+                            || ("audit".equalsIgnoreCase(operationColItem.getOperationKey()))
+                           )) {
+                        if(("unsubmit".equalsIgnoreCase(operationColItem.getOperationKey())) && "C".equals(status)) {
+                            operationColItem.setVisible(false);
+                            operationColItem.setLocked(true);
+                        }else if("B".equals(status)){
+                            operationColItem.setVisible(false);
+                            operationColItem.setLocked(true);
+                        }
+                    }
+                }
+            }
+
+        });
+
+        super.initialize();
+
+    }
+
+    @Override
+    public void beforeCreateListColumns(BeforeCreateListColumnsArgs args) {
+        super.beforeCreateListColumns(args);
+        ((ListOperationColumn) args.getListColumn("q1k2_listoperationcolumna")).getOperationColItems();
+        //((BillList)this.getControl(AbstractListPlugin.BILLLISTID)).getRowData(0,1);
+        // TODO 在此添加业务逻辑
+    }
+    @Override
+    public void beforeCreateListDataProvider(BeforeCreateListDataProviderArgs args) {
+        super.beforeCreateListDataProvider(args);
+        // TODO 在此添加业务逻辑
+    }
+    /**
+     * @description:
+     * 界面初始化或刷新,新建表单数据包成功,并给字段填写了默认值之后,触发此事件。
+     * 新增时初始化消毒等级
+     * @author: lhbj
+     * @date: 11/4/2024 下午6:16
+     * @param: e
+     * @return:void
+     **/
+    @Override
+    public void afterCreateNewData(EventObject e) {
+        super.afterCreateNewData(e);
+
+    }
+    /**
+     * @description:
+     * 插件可以在此事件,根据各字段值数据,重新设置控件、字段的可用、可见性等。
+     *
+     * 不要在此事件,修改字段值。
+     * @author: lhbj
+     * @date: 11/4/2024 下午7:00
+     * @param: e
+     * @return:void
+     **/
+    @Override
+    public void afterBindData(EventObject e) {
+        super.afterBindData(e);
+
+
+    }
+}