@ -9,13 +9,7 @@ BI.StaticYearMonthCard = BI.inherit(BI.Widget, {
var self = this ;
// 纵向排列月
var month = [ 1 , 7 , 2 , 8 , 3 , 9 , 4 , 10 , 5 , 11 , 6 , 12 ] ;
var items = [ ] ;
items . push ( month . slice ( 0 , 2 ) ) ;
items . push ( month . slice ( 2 , 4 ) ) ;
items . push ( month . slice ( 4 , 6 ) ) ;
items . push ( month . slice ( 6 , 8 ) ) ;
items . push ( month . slice ( 8 , 10 ) ) ;
items . push ( month . slice ( 10 , 12 ) ) ;
var items = BI . chunk ( month , 2 ) ;
return BI . map ( items , function ( i , item ) {
return BI . map ( item , function ( j , td ) {
return {
@ -57,10 +51,7 @@ BI.StaticYearMonthCard = BI.inherit(BI.Widget, {
action : function ( ) {
var value = this . getValue ( ) ;
self . _checkMonthStatus ( value ) ;
self . setValue ( {
year : value ,
month : self . selectedMonth
} ) ;
self . _setYear ( value ) ;
}
} ]
} , {
@ -106,7 +97,8 @@ BI.StaticYearMonthCard = BI.inherit(BI.Widget, {
var o = this . options ;
var minDate = BI . parseDateTime ( o . min , "%Y-%X-%d" ) , maxDate = BI . parseDateTime ( o . max , "%Y-%X-%d" ) ;
var minYear = minDate . getFullYear ( ) , maxYear = maxDate . getFullYear ( ) ;
var minMonth = 0 ; var maxMonth = 11 ;
var minMonth = 0 ;
var maxMonth = 11 ;
minYear === year && ( minMonth = minDate . getMonth ( ) ) ;
maxYear === year && ( maxMonth = maxDate . getMonth ( ) ) ;
var yearInvalid = year < minYear || year > maxYear ;
@ -116,6 +108,22 @@ BI.StaticYearMonthCard = BI.inherit(BI.Widget, {
} ) ;
} ,
_setYear : function ( year ) {
var o = this . options ;
var dateVoid = BI . checkDateVoid ( year , this . selectedMonth , 1 , o . min , o . max ) ;
// 在切换年的时候,如果月份不在区间内了,取消选中
if ( BI . contains ( [ "y" , "m" ] , dateVoid [ 0 ] ) ) {
this . selectedYear = year ;
this . month . setValue ( ) ;
return ;
}
this . selectedYear = year ;
this . month . setValue ( this . selectedMonth ) ;
} ,
setMinDate : function ( minDate ) {
if ( this . options . min !== minDate ) {
this . options . min = minDate ;