You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					72 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					72 lines
				
				1.6 KiB
			| 
								 
											6 months ago
										 
									 | 
							
								/* eslint-disable */
							 | 
						||
| 
								 | 
							
								var utils = require('../../utils.wxs');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getMark(date) {
							 | 
						||
| 
								 | 
							
								  return getDate(date).getMonth() + 1;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var ROW_HEIGHT = 64;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getDayStyle(type, index, date, rowHeight, color, firstDayOfWeek) {
							 | 
						||
| 
								 | 
							
								  var style = [];
							 | 
						||
| 
								 | 
							
								  var current = getDate(date).getDay() || 7;
							 | 
						||
| 
								 | 
							
								  var offset = current < firstDayOfWeek ? (7 - firstDayOfWeek + current) :
							 | 
						||
| 
								 | 
							
								               current === 7 && firstDayOfWeek === 0 ? 0 :
							 | 
						||
| 
								 | 
							
								               (current - firstDayOfWeek);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (index === 0) {
							 | 
						||
| 
								 | 
							
								    style.push(['margin-left', (100 * offset) / 7 + '%']);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (rowHeight !== ROW_HEIGHT) {
							 | 
						||
| 
								 | 
							
								    style.push(['height', rowHeight + 'px']);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (color) {
							 | 
						||
| 
								 | 
							
								    if (
							 | 
						||
| 
								 | 
							
								      type === 'start' ||
							 | 
						||
| 
								 | 
							
								      type === 'end' ||
							 | 
						||
| 
								 | 
							
								      type === 'start-end' ||
							 | 
						||
| 
								 | 
							
								      type === 'multiple-selected' ||
							 | 
						||
| 
								 | 
							
								      type === 'multiple-middle'
							 | 
						||
| 
								 | 
							
								    ) {
							 | 
						||
| 
								 | 
							
								      style.push(['background', color]);
							 | 
						||
| 
								 | 
							
								    } else if (type === 'middle') {
							 | 
						||
| 
								 | 
							
								      style.push(['color', color]);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return style
							 | 
						||
| 
								 | 
							
								    .map(function(item) {
							 | 
						||
| 
								 | 
							
								      return item.join(':');
							 | 
						||
| 
								 | 
							
								    })
							 | 
						||
| 
								 | 
							
								    .join(';');
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function formatMonthTitle(date) {
							 | 
						||
| 
								 | 
							
								  date = getDate(date);
							 | 
						||
| 
								 | 
							
								  return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function getMonthStyle(visible, date, rowHeight) {
							 | 
						||
| 
								 | 
							
								  if (!visible) {
							 | 
						||
| 
								 | 
							
								    date = getDate(date);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    var totalDay = utils.getMonthEndDay(
							 | 
						||
| 
								 | 
							
								      date.getFullYear(),
							 | 
						||
| 
								 | 
							
								      date.getMonth() + 1
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								    var offset = getDate(date).getDay();
							 | 
						||
| 
								 | 
							
								    var padding = Math.ceil((totalDay + offset) / 7) * rowHeight;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return 'padding-bottom:' + padding + 'px';
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = {
							 | 
						||
| 
								 | 
							
								  getMark: getMark,
							 | 
						||
| 
								 | 
							
								  getDayStyle: getDayStyle,
							 | 
						||
| 
								 | 
							
								  formatMonthTitle: formatMonthTitle,
							 | 
						||
| 
								 | 
							
								  getMonthStyle: getMonthStyle
							 | 
						||
| 
								 | 
							
								};
							 |