xusd
7 days ago 998218675eb243d43912c203174a6b72b299c0f8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/* 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
};