Browse Source

日期组件可选范围调整

zhuth 7 years ago
parent
commit
59239fee2c
1 changed files with 32 additions and 27 deletions
  1. 32 27
      frontend/saas-web/app/view/core/form/field/ConDateField.js

+ 32 - 27
frontend/saas-web/app/view/core/form/field/ConDateField.js

@@ -29,14 +29,12 @@ Ext.define('saas.view.core.form.field.ConDateField', {
             store: Ext.create('Ext.data.Store', {
                 fields: ['display', 'value'],
                 data : [
-                    {"display":"-请选择-", "value": 7},
-                    {"display":"今天", "value": 1},
-                    {"display":"昨天", "value": 2},
-                    {"display":"本月", "value": 3},
-                    {"display":"上个月", "value": 4},
+                    {"display":"本月", "value": 1},
+                    {"display":"上个月", "value": 2},
+                    {"display":"近三月", "value": 3},
+                    {"display":"近半年", "value": 4},
                     {"display":"本年度", "value": 5},
                     {"display":"上年度", "value": 6},
-                    {"display":"近半年", "value": 8},
                     {"display":"自定义", "value": 7}
                 ]
             }),
@@ -45,7 +43,7 @@ Ext.define('saas.view.core.form.field.ConDateField', {
             queryMode: 'local',
             displayField: 'display',
             valueField: 'value',
-            value: 3,
+            emptyText: '请选择',
             listeners: {
                 select: function(combo, records, obj){
                     me.setDateFieldValue(combo.value);
@@ -140,22 +138,37 @@ Ext.define('saas.view.core.form.field.ConDateField', {
         var maxDate = null;
         var minDate = null;
         switch (v) {
-            case 1://今天
-                minDate = now;
-                maxDate = now;
-                break;
-            case 2://昨天
-                minDate = new Date(nowYear, nowMonth, nowDay - 1);
-                maxDate = new Date(nowYear, nowMonth, nowDay - 1);
-                break;
-            case 3://本月
+            case 1://本月
                 minDate = Ext.Date.getFirstDateOfMonth(now);
                 maxDate = Ext.Date.getLastDateOfMonth(now);
                 break;
-            case 4://上个月
-                minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear, nowMonth - 1, 1));
-                maxDate = Ext.Date.getLastDateOfMonth(new Date(nowYear, nowMonth - 1, 1));
+            case 2://上个月
+                if(nowMonth == 0) {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear - 1, 11, 1));
+                    maxDate = Ext.Date.getLastDateOfMonth(new Date(nowYear - 1, 11, 1));
+                }else {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear, nowMonth - 1, 1));
+                    maxDate = Ext.Date.getLastDateOfMonth(new Date(nowYear, nowMonth - 1, 1));
+                }
+                break;
+            case 3: {//近三个月
+                if(nowMonth < 2) {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear - 1, nowMonth + 12 - 2, 1));
+                }else {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear, nowMonth - 2, 1));
+                }
+                maxDate = now;
+                break;
+            }
+            case 4: {//近半年
+                if(nowMonth < 5) {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear - 1, nowMonth + 12 - 5, 1));
+                }else {
+                    minDate = Ext.Date.getFirstDateOfMonth(new Date(nowYear, nowMonth - 5, 1));
+                }
+                maxDate = now;
                 break;
+            }
             case 5://本年度
                 minDate = new Date(nowYear, 0, 1);
                 maxDate = new Date(nowYear, 11, 31);
@@ -164,14 +177,6 @@ Ext.define('saas.view.core.form.field.ConDateField', {
                 minDate = new Date(nowYear - 1, 0, 1);
                 maxDate = new Date(nowYear - 1, 11, 31);
                 break;
-            case 8://近半年
-                if(nowMonth > 5){
-                    minDate = new Date(nowYear, nowMonth-6, nowDay);
-                }else{
-                    minDate = new Date(nowYear - 1, 12 - 6 + nowMonth, nowDay);
-                }
-                maxDate = new Date(nowYear, nowMonth, nowDay);
-                break;
             case 7://自定义
                 minDate = new Date(1970, 0, 1);
                 maxDate = new Date(nowYear + 100, 11, 31);