Parcourir la source

出差申请移动端时间控制问题

wanghaiwu il y a 1 semaine
Parent
commit
1ce242216b

+ 31 - 16
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/TripReqMobFormPlugin.java

@@ -20,6 +20,7 @@ import kd.fi.er.business.utils.ErCommonUtils;
 import kd.fi.er.business.utils.SystemParamterUtil;
 import kd.fi.er.business.utils.TripBillTravelerUtils;
 import kd.fi.er.formplugin.budget.BudgetCommonUtil;
+import kd.macc.cad.common.utils.DateUtils;
 import nckd.base.helper.CommonHelperUtils;
 import org.apache.commons.lang.StringUtils;
 
@@ -43,14 +44,6 @@ public class TripReqMobFormPlugin extends AbstractMobBillPlugIn {
     @Override
     public void afterBindData(EventObject e) {
         super.afterBindData(e);
-
-        //处理开始时间、结束时间选择范围问题
-        DateTimeEdit startTime = (DateTimeEdit) this.getView().getControl("nckd_startdatetime");
-        DateTimeEdit endTime = (DateTimeEdit) this.getView().getControl("nckd_enddatetime");
-
-        startTime.setIsStartDate(true);
-        startTime.setRelatedDate("nckd_enddatetime");
-        endTime.setRelatedDate("nckd_startdatetime");
     }
 
     @Override
@@ -62,15 +55,37 @@ public class TripReqMobFormPlugin extends AbstractMobBillPlugIn {
         Object oldValue = changeData[0].getOldValue();
         int rowIndex = changeData[0].getRowIndex();
 
-        switch (key) {
-            case "nckd_startdatetime":
-                setStandardDateFieldValue("nckd_startdatetime", "startdate");
-                break;
-            case "nckd_enddatetime":
-                setStandardDateFieldValue("nckd_enddatetime", "enddate");
-                break;
-        }
+        //处理开始时间、结束时间选择范围问题
+        DateTimeEdit startTime = (DateTimeEdit) this.getView().getControl("nckd_startdatetime");
+        DateTimeEdit endTime = (DateTimeEdit) this.getView().getControl("nckd_enddatetime");
 
+        if("nckd_startdatetime".equals(key) || "nckd_enddatetime".equals(key)){
+            switch (key) {
+                case "nckd_startdatetime":
+                    setStandardDateFieldValue("nckd_startdatetime", "startdate");
+                    break;
+                case "nckd_enddatetime":
+                    setStandardDateFieldValue("nckd_enddatetime", "enddate");
+                    break;
+            }
+
+            startTime.setIsStartDate(true);
+            startTime.setRelatedDate("nckd_enddatetime");
+
+            endTime.setRelatedDate("nckd_startdatetime");
+
+            if(this.getModel().getValue("nckd_startdatetime") != null) {
+                endTime.setMinDate((Date) this.getModel().getValue("nckd_startdatetime"));
+            } else {
+                endTime.setMinDate(CommonHelperUtils.getDateStringFormat("2000-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss"));
+            }
+
+            if(this.getModel().getValue("nckd_enddatetime") != null) {
+                startTime.setMaxDate((Date) this.getModel().getValue("nckd_enddatetime"));
+            } else {
+                startTime.setMaxDate(CommonHelperUtils.getDateStringFormat("2078-12-31 23:59:59", "yyyy-MM-dd HH:mm:ss"));
+            }
+        }
     }
 
     /**