|
@@ -0,0 +1,2287 @@
|
|
|
+!(function(e) {
|
|
|
+ var t = {};
|
|
|
+ function a(n) {
|
|
|
+ if (t[n]) return t[n].exports;
|
|
|
+ var s = (t[n] = { i: n, l: !1, exports: {} });
|
|
|
+ return e[n].call(s.exports, s, s.exports, a), (s.l = !0), s.exports;
|
|
|
+ }
|
|
|
+ (a.m = e),
|
|
|
+ (a.c = t),
|
|
|
+ (a.d = function(e, t, n) {
|
|
|
+ a.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
|
|
|
+ }),
|
|
|
+ (a.r = function(e) {
|
|
|
+ 'undefined' != typeof Symbol &&
|
|
|
+ Symbol.toStringTag &&
|
|
|
+ Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
|
|
|
+ Object.defineProperty(e, '__esModule', { value: !0 });
|
|
|
+ }),
|
|
|
+ (a.t = function(e, t) {
|
|
|
+ if ((1 & t && (e = a(e)), 8 & t)) return e;
|
|
|
+ if (4 & t && 'object' == typeof e && e && e.__esModule) return e;
|
|
|
+ var n = Object.create(null);
|
|
|
+ if (
|
|
|
+ (a.r(n),
|
|
|
+ Object.defineProperty(n, 'default', { enumerable: !0, value: e }),
|
|
|
+ 2 & t && 'string' != typeof e)
|
|
|
+ )
|
|
|
+ for (var s in e)
|
|
|
+ a.d(
|
|
|
+ n,
|
|
|
+ s,
|
|
|
+ function(t) {
|
|
|
+ return e[t];
|
|
|
+ }.bind(null, s)
|
|
|
+ );
|
|
|
+ return n;
|
|
|
+ }),
|
|
|
+ (a.n = function(e) {
|
|
|
+ var t =
|
|
|
+ e && e.__esModule
|
|
|
+ ? function() {
|
|
|
+ return e.default;
|
|
|
+ }
|
|
|
+ : function() {
|
|
|
+ return e;
|
|
|
+ };
|
|
|
+ return a.d(t, 'a', t), t;
|
|
|
+ }),
|
|
|
+ (a.o = function(e, t) {
|
|
|
+ return Object.prototype.hasOwnProperty.call(e, t);
|
|
|
+ }),
|
|
|
+ (a.p = ''),
|
|
|
+ a((a.s = 7));
|
|
|
+})([
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ let n;
|
|
|
+ function s() {
|
|
|
+ return n || (n = wx.getSystemInfoSync());
|
|
|
+ }
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
|
+ (t.getSystemInfo = s),
|
|
|
+ (t.isComponent = function(e) {
|
|
|
+ return (
|
|
|
+ e &&
|
|
|
+ void 0 !== e.__wxExparserNodeId__ &&
|
|
|
+ 'function' == typeof e.setData
|
|
|
+ );
|
|
|
+ }),
|
|
|
+ (t.isIos = c),
|
|
|
+ (t.getCurrentPage = l),
|
|
|
+ (t.getComponent = function(e) {
|
|
|
+ const t = new r();
|
|
|
+ let a = l() || {};
|
|
|
+ if (a.selectComponent && 'function' == typeof a.selectComponent) {
|
|
|
+ if (e) return a.selectComponent(e);
|
|
|
+ t.warn('请传入组件ID');
|
|
|
+ } else t.warn('该基础库暂不支持多个小程序日历组件');
|
|
|
+ }),
|
|
|
+ (t.uniqueArrayByDate = function(e = []) {
|
|
|
+ let t = {},
|
|
|
+ a = [];
|
|
|
+ e.forEach(e => {
|
|
|
+ t[`${e.year}-${e.month}-${e.day}`] = e;
|
|
|
+ });
|
|
|
+ for (let e in t) a.push(t[e]);
|
|
|
+ return a;
|
|
|
+ }),
|
|
|
+ (t.delRepeatedEnableDay = function(e = [], t = []) {
|
|
|
+ let a, n;
|
|
|
+ if (2 === t.length) {
|
|
|
+ const { startTimestamp: e, endTimestamp: s } = b(t);
|
|
|
+ (a = e), (n = s);
|
|
|
+ }
|
|
|
+ return d(e).filter(e => e < a || e > n);
|
|
|
+ }),
|
|
|
+ (t.convertEnableAreaToTimestamp = b),
|
|
|
+ (t.converEnableDaysToTimestamp = d),
|
|
|
+ (t.initialTasks = t.GetDate = t.Slide = t.Logger = void 0);
|
|
|
+ class r {
|
|
|
+ info(e) {
|
|
|
+ console.log(
|
|
|
+ '%cInfo: %c' + e,
|
|
|
+ 'color:#FF0080;font-weight:bold',
|
|
|
+ 'color: #FF509B'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ warn(e) {
|
|
|
+ console.log(
|
|
|
+ '%cWarn: %c' + e,
|
|
|
+ 'color:#FF6600;font-weight:bold',
|
|
|
+ 'color: #FF9933'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ tips(e) {
|
|
|
+ console.log(
|
|
|
+ '%cTips: %c' + e,
|
|
|
+ 'color:#00B200;font-weight:bold',
|
|
|
+ 'color: #00CC33'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.Logger = r;
|
|
|
+ t.Slide = class {
|
|
|
+ isUp(e = {}, t = {}) {
|
|
|
+ const { startX: a, startY: n } = e,
|
|
|
+ s = t.clientX - a;
|
|
|
+ return (
|
|
|
+ t.clientY - n < -60 &&
|
|
|
+ s < 20 &&
|
|
|
+ s > -20 &&
|
|
|
+ ((this.slideLock = !1), !0)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ isDown(e = {}, t = {}) {
|
|
|
+ const { startX: a, startY: n } = e,
|
|
|
+ s = t.clientX - a;
|
|
|
+ return t.clientY - n > 60 && s < 20 && s > -20;
|
|
|
+ }
|
|
|
+ isLeft(e = {}, t = {}) {
|
|
|
+ const { startX: a, startY: n } = e,
|
|
|
+ s = t.clientX - a,
|
|
|
+ r = t.clientY - n;
|
|
|
+ return s < -60 && r < 20 && r > -20;
|
|
|
+ }
|
|
|
+ isRight(e = {}, t = {}) {
|
|
|
+ const { startX: a, startY: n } = e,
|
|
|
+ s = t.clientX - a,
|
|
|
+ r = t.clientY - n;
|
|
|
+ return s > 60 && r < 20 && r > -20;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ class o {
|
|
|
+ newDate(e, t, a) {
|
|
|
+ let n = `${+e}-${+t}-${+a}`;
|
|
|
+ return c() && (n = `${+e}/${+t}/${+a}`), new Date(n);
|
|
|
+ }
|
|
|
+ thisMonthDays(e, t) {
|
|
|
+ return new Date(Date.UTC(e, t, 0)).getUTCDate();
|
|
|
+ }
|
|
|
+ firstDayOfWeek(e, t) {
|
|
|
+ return new Date(Date.UTC(e, t - 1, 1)).getUTCDay();
|
|
|
+ }
|
|
|
+ dayOfWeek(e, t, a) {
|
|
|
+ return new Date(Date.UTC(e, t - 1, a)).getUTCDay();
|
|
|
+ }
|
|
|
+ todayDate() {
|
|
|
+ const e = new Date();
|
|
|
+ return {
|
|
|
+ year: e.getFullYear(),
|
|
|
+ month: e.getMonth() + 1,
|
|
|
+ date: e.getDate()
|
|
|
+ };
|
|
|
+ }
|
|
|
+ todayTimestamp() {
|
|
|
+ const { year: e, month: t, date: a } = this.todayDate();
|
|
|
+ return this.newDate(e, t, a).getTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function c() {
|
|
|
+ const e = s();
|
|
|
+ return /iphone|ios/i.test(e.platform);
|
|
|
+ }
|
|
|
+ function l() {
|
|
|
+ const e = getCurrentPages();
|
|
|
+ return e[e.length - 1];
|
|
|
+ }
|
|
|
+ function b(e = []) {
|
|
|
+ const t = new o(),
|
|
|
+ a = e[0].split('-'),
|
|
|
+ n = e[1].split('-'),
|
|
|
+ s = new r();
|
|
|
+ return 3 !== a.length || 3 !== n.length
|
|
|
+ ? (s.warn('enableArea() 参数格式为: ["2018-2-1", "2018-3-1"]'), {})
|
|
|
+ : {
|
|
|
+ start: a,
|
|
|
+ end: n,
|
|
|
+ startTimestamp: t.newDate(a[0], a[1], a[2]).getTime(),
|
|
|
+ endTimestamp: t.newDate(n[0], n[1], n[2]).getTime()
|
|
|
+ };
|
|
|
+ }
|
|
|
+ function d(e = []) {
|
|
|
+ const t = new r(),
|
|
|
+ a = new o(),
|
|
|
+ n = [];
|
|
|
+ return (
|
|
|
+ e.forEach(e => {
|
|
|
+ if ('string' != typeof e)
|
|
|
+ return t.warn('enableDays()入参日期格式错误');
|
|
|
+ const s = e.split('-');
|
|
|
+ if (3 !== s.length) return t.warn('enableDays()入参日期格式错误');
|
|
|
+ const r = a.newDate(s[0], s[1], s[2]).getTime();
|
|
|
+ n.push(r);
|
|
|
+ }),
|
|
|
+ n
|
|
|
+ );
|
|
|
+ }
|
|
|
+ t.GetDate = o;
|
|
|
+ t.initialTasks = { flag: 'finished', tasks: [] };
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ var n = class {
|
|
|
+ constructor(e) {
|
|
|
+ this.Component = e;
|
|
|
+ }
|
|
|
+ getData(e) {
|
|
|
+ const t = this.Component.data;
|
|
|
+ if (!e) return t;
|
|
|
+ if (e.includes('.')) {
|
|
|
+ return e.split('.').reduce((e, t) => e[t], t);
|
|
|
+ }
|
|
|
+ return this.Component.data[e];
|
|
|
+ }
|
|
|
+ setData(e, t = () => {}) {
|
|
|
+ e && 'object' == typeof e && this.Component.setData(e, t);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ t.default = n;
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ const n = {
|
|
|
+ lunarInfo: [
|
|
|
+ 19416,
|
|
|
+ 19168,
|
|
|
+ 42352,
|
|
|
+ 21717,
|
|
|
+ 53856,
|
|
|
+ 55632,
|
|
|
+ 91476,
|
|
|
+ 22176,
|
|
|
+ 39632,
|
|
|
+ 21970,
|
|
|
+ 19168,
|
|
|
+ 42422,
|
|
|
+ 42192,
|
|
|
+ 53840,
|
|
|
+ 119381,
|
|
|
+ 46400,
|
|
|
+ 54944,
|
|
|
+ 44450,
|
|
|
+ 38320,
|
|
|
+ 84343,
|
|
|
+ 18800,
|
|
|
+ 42160,
|
|
|
+ 46261,
|
|
|
+ 27216,
|
|
|
+ 27968,
|
|
|
+ 109396,
|
|
|
+ 11104,
|
|
|
+ 38256,
|
|
|
+ 21234,
|
|
|
+ 18800,
|
|
|
+ 25958,
|
|
|
+ 54432,
|
|
|
+ 59984,
|
|
|
+ 28309,
|
|
|
+ 23248,
|
|
|
+ 11104,
|
|
|
+ 100067,
|
|
|
+ 37600,
|
|
|
+ 116951,
|
|
|
+ 51536,
|
|
|
+ 54432,
|
|
|
+ 120998,
|
|
|
+ 46416,
|
|
|
+ 22176,
|
|
|
+ 107956,
|
|
|
+ 9680,
|
|
|
+ 37584,
|
|
|
+ 53938,
|
|
|
+ 43344,
|
|
|
+ 46423,
|
|
|
+ 27808,
|
|
|
+ 46416,
|
|
|
+ 86869,
|
|
|
+ 19872,
|
|
|
+ 42416,
|
|
|
+ 83315,
|
|
|
+ 21168,
|
|
|
+ 43432,
|
|
|
+ 59728,
|
|
|
+ 27296,
|
|
|
+ 44710,
|
|
|
+ 43856,
|
|
|
+ 19296,
|
|
|
+ 43748,
|
|
|
+ 42352,
|
|
|
+ 21088,
|
|
|
+ 62051,
|
|
|
+ 55632,
|
|
|
+ 23383,
|
|
|
+ 22176,
|
|
|
+ 38608,
|
|
|
+ 19925,
|
|
|
+ 19152,
|
|
|
+ 42192,
|
|
|
+ 54484,
|
|
|
+ 53840,
|
|
|
+ 54616,
|
|
|
+ 46400,
|
|
|
+ 46752,
|
|
|
+ 103846,
|
|
|
+ 38320,
|
|
|
+ 18864,
|
|
|
+ 43380,
|
|
|
+ 42160,
|
|
|
+ 45690,
|
|
|
+ 27216,
|
|
|
+ 27968,
|
|
|
+ 44870,
|
|
|
+ 43872,
|
|
|
+ 38256,
|
|
|
+ 19189,
|
|
|
+ 18800,
|
|
|
+ 25776,
|
|
|
+ 29859,
|
|
|
+ 59984,
|
|
|
+ 27480,
|
|
|
+ 21952,
|
|
|
+ 43872,
|
|
|
+ 38613,
|
|
|
+ 37600,
|
|
|
+ 51552,
|
|
|
+ 55636,
|
|
|
+ 54432,
|
|
|
+ 55888,
|
|
|
+ 30034,
|
|
|
+ 22176,
|
|
|
+ 43959,
|
|
|
+ 9680,
|
|
|
+ 37584,
|
|
|
+ 51893,
|
|
|
+ 43344,
|
|
|
+ 46240,
|
|
|
+ 47780,
|
|
|
+ 44368,
|
|
|
+ 21977,
|
|
|
+ 19360,
|
|
|
+ 42416,
|
|
|
+ 86390,
|
|
|
+ 21168,
|
|
|
+ 43312,
|
|
|
+ 31060,
|
|
|
+ 27296,
|
|
|
+ 44368,
|
|
|
+ 23378,
|
|
|
+ 19296,
|
|
|
+ 42726,
|
|
|
+ 42208,
|
|
|
+ 53856,
|
|
|
+ 60005,
|
|
|
+ 54576,
|
|
|
+ 23200,
|
|
|
+ 30371,
|
|
|
+ 38608,
|
|
|
+ 19195,
|
|
|
+ 19152,
|
|
|
+ 42192,
|
|
|
+ 118966,
|
|
|
+ 53840,
|
|
|
+ 54560,
|
|
|
+ 56645,
|
|
|
+ 46496,
|
|
|
+ 22224,
|
|
|
+ 21938,
|
|
|
+ 18864,
|
|
|
+ 42359,
|
|
|
+ 42160,
|
|
|
+ 43600,
|
|
|
+ 111189,
|
|
|
+ 27936,
|
|
|
+ 44448,
|
|
|
+ 84835,
|
|
|
+ 37744,
|
|
|
+ 18936,
|
|
|
+ 18800,
|
|
|
+ 25776,
|
|
|
+ 92326,
|
|
|
+ 59984,
|
|
|
+ 27424,
|
|
|
+ 108228,
|
|
|
+ 43744,
|
|
|
+ 41696,
|
|
|
+ 53987,
|
|
|
+ 51552,
|
|
|
+ 54615,
|
|
|
+ 54432,
|
|
|
+ 55888,
|
|
|
+ 23893,
|
|
|
+ 22176,
|
|
|
+ 42704,
|
|
|
+ 21972,
|
|
|
+ 21200,
|
|
|
+ 43448,
|
|
|
+ 43344,
|
|
|
+ 46240,
|
|
|
+ 46758,
|
|
|
+ 44368,
|
|
|
+ 21920,
|
|
|
+ 43940,
|
|
|
+ 42416,
|
|
|
+ 21168,
|
|
|
+ 45683,
|
|
|
+ 26928,
|
|
|
+ 29495,
|
|
|
+ 27296,
|
|
|
+ 44368,
|
|
|
+ 84821,
|
|
|
+ 19296,
|
|
|
+ 42352,
|
|
|
+ 21732,
|
|
|
+ 53600,
|
|
|
+ 59752,
|
|
|
+ 54560,
|
|
|
+ 55968,
|
|
|
+ 92838,
|
|
|
+ 22224,
|
|
|
+ 19168,
|
|
|
+ 43476,
|
|
|
+ 41680,
|
|
|
+ 53584,
|
|
|
+ 62034,
|
|
|
+ 54560
|
|
|
+ ],
|
|
|
+ solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
|
|
|
+ Gan: ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'],
|
|
|
+ Zhi: [
|
|
|
+ '子',
|
|
|
+ '丑',
|
|
|
+ '寅',
|
|
|
+ '卯',
|
|
|
+ '辰',
|
|
|
+ '巳',
|
|
|
+ '午',
|
|
|
+ '未',
|
|
|
+ '申',
|
|
|
+ '酉',
|
|
|
+ '戌',
|
|
|
+ '亥'
|
|
|
+ ],
|
|
|
+ Animals: [
|
|
|
+ '鼠',
|
|
|
+ '牛',
|
|
|
+ '虎',
|
|
|
+ '兔',
|
|
|
+ '龙',
|
|
|
+ '蛇',
|
|
|
+ '马',
|
|
|
+ '羊',
|
|
|
+ '猴',
|
|
|
+ '鸡',
|
|
|
+ '狗',
|
|
|
+ '猪'
|
|
|
+ ],
|
|
|
+ solarTerm: [
|
|
|
+ '小寒',
|
|
|
+ '大寒',
|
|
|
+ '立春',
|
|
|
+ '雨水',
|
|
|
+ '惊蛰',
|
|
|
+ '春分',
|
|
|
+ '清明',
|
|
|
+ '谷雨',
|
|
|
+ '立夏',
|
|
|
+ '小满',
|
|
|
+ '芒种',
|
|
|
+ '夏至',
|
|
|
+ '小暑',
|
|
|
+ '大暑',
|
|
|
+ '立秋',
|
|
|
+ '处暑',
|
|
|
+ '白露',
|
|
|
+ '秋分',
|
|
|
+ '寒露',
|
|
|
+ '霜降',
|
|
|
+ '立冬',
|
|
|
+ '小雪',
|
|
|
+ '大雪',
|
|
|
+ '冬至'
|
|
|
+ ],
|
|
|
+ sTermInfo: [
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c3598082c95f8c965cc920f',
|
|
|
+ '97bd0b06bdb0722c965ce1cfcc920f',
|
|
|
+ 'b027097bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c359801ec95f8c965cc920f',
|
|
|
+ '97bd0b06bdb0722c965ce1cfcc920f',
|
|
|
+ 'b027097bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c359801ec95f8c965cc920f',
|
|
|
+ '97bd0b06bdb0722c965ce1cfcc920f',
|
|
|
+ 'b027097bd097c36b0b6fc9274c91aa',
|
|
|
+ '9778397bd19801ec9210c965cc920e',
|
|
|
+ '97b6b97bd19801ec95f8c965cc920f',
|
|
|
+ '97bd09801d98082c95f8e1cfcc920f',
|
|
|
+ '97bd097bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd197c36c9210c9274c91aa',
|
|
|
+ '97b6b97bd19801ec95f8c965cc920e',
|
|
|
+ '97bd09801d98082c95f8e1cfcc920f',
|
|
|
+ '97bd097bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36c9210c9274c91aa',
|
|
|
+ '97b6b97bd19801ec95f8c965cc920e',
|
|
|
+ '97bcf97c3598082c95f8e1cfcc920f',
|
|
|
+ '97bd097bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36c9210c9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c3598082c95f8c965cc920f',
|
|
|
+ '97bd097bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c3598082c95f8c965cc920f',
|
|
|
+ '97bd097bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c359801ec95f8c965cc920f',
|
|
|
+ '97bd097bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c359801ec95f8c965cc920f',
|
|
|
+ '97bd097bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf97c359801ec95f8c965cc920f',
|
|
|
+ '97bd097bd07f595b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd19801ec9210c9274c920e',
|
|
|
+ '97b6b97bd19801ec95f8c965cc920f',
|
|
|
+ '97bd07f5307f595b0b0bc920fb0722',
|
|
|
+ '7f0e397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36c9210c9274c920e',
|
|
|
+ '97b6b97bd19801ec95f8c965cc920f',
|
|
|
+ '97bd07f5307f595b0b0bc920fb0722',
|
|
|
+ '7f0e397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36c9210c9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bd07f1487f595b0b0bc920fb0722',
|
|
|
+ '7f0e397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf7f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf7f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf7f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c965cc920e',
|
|
|
+ '97bcf7f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b97bd19801ec9210c9274c920e',
|
|
|
+ '97bcf7f0e47f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9210c91aa',
|
|
|
+ '97b6b97bd197c36c9210c9274c920e',
|
|
|
+ '97bcf7f0e47f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36c9210c9274c920e',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f5307f595b0b0bc920fb0722',
|
|
|
+ '7f0e397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36b0b70c9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e37f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc9210c8dc2',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9274c91aa',
|
|
|
+ '97b6b7f0e47f531b0723b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9210c91aa',
|
|
|
+ '97b6b7f0e47f149b0723b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '9778397bd097c36b0b6fc9210c8dc2',
|
|
|
+ '977837f0e37f149b0723b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f5307f595b0b0bc920fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc9210c8dc2',
|
|
|
+ '977837f0e37f14998082b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e37f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc9210c8dc2',
|
|
|
+ '977837f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '977837f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd097c35b0b6fc920fb0722',
|
|
|
+ '977837f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '977837f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '977837f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f149b0723b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '977837f0e37f14998082b0723b06bd',
|
|
|
+ '7f07e7f0e37f149b0723b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e397bd07f595b0b0bc920fb0722',
|
|
|
+ '977837f0e37f14898082b0723b02d5',
|
|
|
+ '7ec967f0e37f14998082b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f1487f595b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e37f14898082b0723b02d5',
|
|
|
+ '7ec967f0e37f14998082b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e37f14898082b0723b02d5',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e37f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e37f14898082b072297c35',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e37f14898082b072297c35',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e366aa89801eb072297c35',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f149b0723b0787b0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722',
|
|
|
+ '7f0e37f0e366aa89801eb072297c35',
|
|
|
+ '7ec967f0e37f14998082b0723b06bd',
|
|
|
+ '7f07e7f0e47f149b0723b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f0e366aa89801eb072297c35',
|
|
|
+ '7ec967f0e37f14998082b0723b06bd',
|
|
|
+ '7f07e7f0e37f14998083b0787b0721',
|
|
|
+ '7f0e27f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e37f0e366aa89801eb072297c35',
|
|
|
+ '7ec967f0e37f14898082b0723b02d5',
|
|
|
+ '7f07e7f0e37f14998082b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e36665b66aa89801e9808297c35',
|
|
|
+ '665f67f0e37f14898082b0723b02d5',
|
|
|
+ '7ec967f0e37f14998082b0787b0721',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0722',
|
|
|
+ '7f0e36665b66a449801e9808297c35',
|
|
|
+ '665f67f0e37f14898082b0723b02d5',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e36665b66a449801e9808297c35',
|
|
|
+ '665f67f0e37f14898082b072297c35',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e26665b66a449801e9808297c35',
|
|
|
+ '665f67f0e37f1489801eb072297c35',
|
|
|
+ '7ec967f0e37f14998082b0787b06bd',
|
|
|
+ '7f07e7f0e47f531b0723b0b6fb0721',
|
|
|
+ '7f0e27f1487f531b0b0bb0b6fb0722'
|
|
|
+ ],
|
|
|
+ nStr1: [
|
|
|
+ '日',
|
|
|
+ '一',
|
|
|
+ '二',
|
|
|
+ '三',
|
|
|
+ '四',
|
|
|
+ '五',
|
|
|
+ '六',
|
|
|
+ '七',
|
|
|
+ '八',
|
|
|
+ '九',
|
|
|
+ '十'
|
|
|
+ ],
|
|
|
+ nStr2: ['初', '十', '廿', '卅'],
|
|
|
+ nStr3: [
|
|
|
+ '正',
|
|
|
+ '二',
|
|
|
+ '三',
|
|
|
+ '四',
|
|
|
+ '五',
|
|
|
+ '六',
|
|
|
+ '七',
|
|
|
+ '八',
|
|
|
+ '九',
|
|
|
+ '十',
|
|
|
+ '冬',
|
|
|
+ '腊'
|
|
|
+ ],
|
|
|
+ lYearDays: function(e) {
|
|
|
+ let t,
|
|
|
+ a = 348;
|
|
|
+ for (t = 32768; t > 8; t >>= 1)
|
|
|
+ a += n.lunarInfo[e - 1900] & t ? 1 : 0;
|
|
|
+ return a + n.leapDays(e);
|
|
|
+ },
|
|
|
+ leapMonth: function(e) {
|
|
|
+ return 15 & n.lunarInfo[e - 1900];
|
|
|
+ },
|
|
|
+ leapDays: function(e) {
|
|
|
+ return n.leapMonth(e) ? (65536 & n.lunarInfo[e - 1900] ? 30 : 29) : 0;
|
|
|
+ },
|
|
|
+ monthDays: function(e, t) {
|
|
|
+ return t > 12 || t < 1
|
|
|
+ ? -1
|
|
|
+ : n.lunarInfo[e - 1900] & (65536 >> t)
|
|
|
+ ? 30
|
|
|
+ : 29;
|
|
|
+ },
|
|
|
+ solarDays: function(e, t) {
|
|
|
+ if (t > 12 || t < 1) return -1;
|
|
|
+ const a = t - 1;
|
|
|
+ return 1 == +a
|
|
|
+ ? (e % 4 == 0 && e % 100 != 0) || e % 400 == 0
|
|
|
+ ? 29
|
|
|
+ : 28
|
|
|
+ : n.solarMonth[a];
|
|
|
+ },
|
|
|
+ toGanZhiYear: function(e) {
|
|
|
+ let t = (e - 3) % 10,
|
|
|
+ a = (e - 3) % 12;
|
|
|
+ return (
|
|
|
+ 0 == +t && (t = 10),
|
|
|
+ 0 == +a && (a = 12),
|
|
|
+ n.Gan[t - 1] + n.Zhi[a - 1]
|
|
|
+ );
|
|
|
+ },
|
|
|
+ toAstro: function(e, t) {
|
|
|
+ return (
|
|
|
+ '魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯'.substr(
|
|
|
+ 2 * e -
|
|
|
+ (t < [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22][e - 1]
|
|
|
+ ? 2
|
|
|
+ : 0),
|
|
|
+ 2
|
|
|
+ ) + '座'
|
|
|
+ );
|
|
|
+ },
|
|
|
+ toGanZhi: function(e) {
|
|
|
+ return n.Gan[e % 10] + n.Zhi[e % 12];
|
|
|
+ },
|
|
|
+ getTerm: function(e, t) {
|
|
|
+ if (e < 1900 || e > 2100) return -1;
|
|
|
+ if (t < 1 || t > 24) return -1;
|
|
|
+ const a = n.sTermInfo[e - 1900],
|
|
|
+ s = [
|
|
|
+ parseInt('0x' + a.substr(0, 5)).toString(),
|
|
|
+ parseInt('0x' + a.substr(5, 5)).toString(),
|
|
|
+ parseInt('0x' + a.substr(10, 5)).toString(),
|
|
|
+ parseInt('0x' + a.substr(15, 5)).toString(),
|
|
|
+ parseInt('0x' + a.substr(20, 5)).toString(),
|
|
|
+ parseInt('0x' + a.substr(25, 5)).toString()
|
|
|
+ ],
|
|
|
+ r = [
|
|
|
+ s[0].substr(0, 1),
|
|
|
+ s[0].substr(1, 2),
|
|
|
+ s[0].substr(3, 1),
|
|
|
+ s[0].substr(4, 2),
|
|
|
+ s[1].substr(0, 1),
|
|
|
+ s[1].substr(1, 2),
|
|
|
+ s[1].substr(3, 1),
|
|
|
+ s[1].substr(4, 2),
|
|
|
+ s[2].substr(0, 1),
|
|
|
+ s[2].substr(1, 2),
|
|
|
+ s[2].substr(3, 1),
|
|
|
+ s[2].substr(4, 2),
|
|
|
+ s[3].substr(0, 1),
|
|
|
+ s[3].substr(1, 2),
|
|
|
+ s[3].substr(3, 1),
|
|
|
+ s[3].substr(4, 2),
|
|
|
+ s[4].substr(0, 1),
|
|
|
+ s[4].substr(1, 2),
|
|
|
+ s[4].substr(3, 1),
|
|
|
+ s[4].substr(4, 2),
|
|
|
+ s[5].substr(0, 1),
|
|
|
+ s[5].substr(1, 2),
|
|
|
+ s[5].substr(3, 1),
|
|
|
+ s[5].substr(4, 2)
|
|
|
+ ];
|
|
|
+ return parseInt(r[t - 1]);
|
|
|
+ },
|
|
|
+ toChinaMonth: function(e) {
|
|
|
+ if (e > 12 || e < 1) return -1;
|
|
|
+ let t = n.nStr3[e - 1];
|
|
|
+ return (t += '月');
|
|
|
+ },
|
|
|
+ toChinaDay: function(e) {
|
|
|
+ let t;
|
|
|
+ switch (e) {
|
|
|
+ case 10:
|
|
|
+ t = '初十';
|
|
|
+ break;
|
|
|
+ case 20:
|
|
|
+ t = '二十';
|
|
|
+ break;
|
|
|
+ case 30:
|
|
|
+ t = '三十';
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ (t = n.nStr2[Math.floor(e / 10)]), (t += n.nStr1[e % 10]);
|
|
|
+ }
|
|
|
+ return t;
|
|
|
+ },
|
|
|
+ getAnimal: function(e) {
|
|
|
+ return n.Animals[(e - 4) % 12];
|
|
|
+ },
|
|
|
+ solar2lunar: function(e, t, a) {
|
|
|
+ if (e < 1900 || e > 2100) return -1;
|
|
|
+ if (1900 == +e && 1 == +t && +a < 31) return -1;
|
|
|
+ let s,
|
|
|
+ r,
|
|
|
+ o = 0,
|
|
|
+ c = 0;
|
|
|
+ (e = (s = e
|
|
|
+ ? new Date(e, parseInt(t) - 1, a)
|
|
|
+ : new Date()).getFullYear()),
|
|
|
+ (t = s.getMonth() + 1),
|
|
|
+ (a = s.getDate());
|
|
|
+ let l =
|
|
|
+ (Date.UTC(s.getFullYear(), s.getMonth(), s.getDate()) -
|
|
|
+ Date.UTC(1900, 0, 31)) /
|
|
|
+ 864e5;
|
|
|
+ for (r = 1900; r < 2101 && l > 0; r++) l -= c = n.lYearDays(r);
|
|
|
+ l < 0 && ((l += c), r--);
|
|
|
+ const b = new Date();
|
|
|
+ let d = !1;
|
|
|
+ b.getFullYear() === +e &&
|
|
|
+ b.getMonth() + 1 === +t &&
|
|
|
+ b.getDate() === +a &&
|
|
|
+ (d = !0);
|
|
|
+ let f = s.getDay();
|
|
|
+ const i = n.nStr1[f];
|
|
|
+ 0 == +f && (f = 7);
|
|
|
+ const h = r;
|
|
|
+ o = n.leapMonth(r);
|
|
|
+ let u = !1;
|
|
|
+ for (r = 1; r < 13 && l > 0; r++)
|
|
|
+ o > 0 && r === o + 1 && !1 === u
|
|
|
+ ? (--r, (u = !0), (c = n.leapDays(h)))
|
|
|
+ : (c = n.monthDays(h, r)),
|
|
|
+ !0 === u && r === o + 1 && (u = !1),
|
|
|
+ (l -= c);
|
|
|
+ 0 === l && o > 0 && r === o + 1 && (u ? (u = !1) : ((u = !0), --r)),
|
|
|
+ l < 0 && ((l += c), --r);
|
|
|
+ const y = r,
|
|
|
+ m = l + 1,
|
|
|
+ D = t - 1,
|
|
|
+ g = n.toGanZhiYear(h),
|
|
|
+ p = n.getTerm(e, 2 * t - 1),
|
|
|
+ w = n.getTerm(e, 2 * t);
|
|
|
+ let C = n.toGanZhi(12 * (e - 1900) + t + 11);
|
|
|
+ a >= p && (C = n.toGanZhi(12 * (e - 1900) + t + 12));
|
|
|
+ let T = !1,
|
|
|
+ M = null;
|
|
|
+ +p === a && ((T = !0), (M = n.solarTerm[2 * t - 2])),
|
|
|
+ +w === a && ((T = !0), (M = n.solarTerm[2 * t - 1]));
|
|
|
+ const k = Date.UTC(e, D, 1, 0, 0, 0, 0) / 864e5 + 25567 + 10,
|
|
|
+ _ = n.toGanZhi(k + a - 1),
|
|
|
+ L = n.toAstro(t, a);
|
|
|
+ return {
|
|
|
+ lYear: h,
|
|
|
+ lMonth: y,
|
|
|
+ lDay: m,
|
|
|
+ Animal: n.getAnimal(h),
|
|
|
+ IMonthCn: (u ? '闰' : '') + n.toChinaMonth(y),
|
|
|
+ IDayCn: n.toChinaDay(m),
|
|
|
+ cYear: e,
|
|
|
+ cMonth: t,
|
|
|
+ cDay: a,
|
|
|
+ gzYear: g,
|
|
|
+ gzMonth: C,
|
|
|
+ gzDay: _,
|
|
|
+ isToday: d,
|
|
|
+ isLeap: u,
|
|
|
+ nWeek: f,
|
|
|
+ ncWeek: '星期' + i,
|
|
|
+ isTerm: T,
|
|
|
+ Term: M,
|
|
|
+ astro: L
|
|
|
+ };
|
|
|
+ },
|
|
|
+ lunar2solar: function(e, t, a, s) {
|
|
|
+ s = !!s;
|
|
|
+ const r = n.leapMonth(e);
|
|
|
+ if (s && r !== t) return -1;
|
|
|
+ if (
|
|
|
+ (2100 == +e && 12 == +t && +a > 1) ||
|
|
|
+ (1900 == +e && 1 == +t && +a < 31)
|
|
|
+ )
|
|
|
+ return -1;
|
|
|
+ const o = n.monthDays(e, t);
|
|
|
+ let c = o;
|
|
|
+ if ((s && (c = n.leapDays(e, t)), e < 1900 || e > 2100 || a > c))
|
|
|
+ return -1;
|
|
|
+ let l = 0;
|
|
|
+ for (let t = 1900; t < e; t++) l += n.lYearDays(t);
|
|
|
+ let b = 0,
|
|
|
+ d = !1;
|
|
|
+ for (let a = 1; a < t; a++)
|
|
|
+ (b = n.leapMonth(e)),
|
|
|
+ d || (b <= a && b > 0 && ((l += n.leapDays(e)), (d = !0))),
|
|
|
+ (l += n.monthDays(e, a));
|
|
|
+ s && (l += o);
|
|
|
+ const f = Date.UTC(1900, 1, 30, 0, 0, 0),
|
|
|
+ i = new Date(864e5 * (l + a - 31) + f),
|
|
|
+ h = i.getUTCFullYear(),
|
|
|
+ u = i.getUTCMonth() + 1,
|
|
|
+ y = i.getUTCDate();
|
|
|
+ return n.solar2lunar(h, u, y);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ Gan: s,
|
|
|
+ Zhi: r,
|
|
|
+ nStr1: o,
|
|
|
+ nStr2: c,
|
|
|
+ nStr3: l,
|
|
|
+ Animals: b,
|
|
|
+ solarTerm: d,
|
|
|
+ lunarInfo: f,
|
|
|
+ sTermInfo: i,
|
|
|
+ solarMonth: h,
|
|
|
+ ...u
|
|
|
+ } = n;
|
|
|
+ var y = u;
|
|
|
+ t.default = y;
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ class n {
|
|
|
+ constructor(e) {
|
|
|
+ this.Component = e;
|
|
|
+ }
|
|
|
+ getCalendarConfig() {
|
|
|
+ return this.Component && this.Component.config
|
|
|
+ ? this.Component.config
|
|
|
+ : {};
|
|
|
+ }
|
|
|
+ setCalendarConfig(e, t) {
|
|
|
+ this.Component &&
|
|
|
+ this.Component.config &&
|
|
|
+ (this.Component.config[e] = t);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.default = e => new n(e);
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ var n = l(a(1)),
|
|
|
+ s = l(a(5)),
|
|
|
+ r = l(a(3)),
|
|
|
+ o = l(a(2)),
|
|
|
+ c = a(0);
|
|
|
+ function l(e) {
|
|
|
+ return e && e.__esModule ? e : { default: e };
|
|
|
+ }
|
|
|
+ const b = new c.GetDate(),
|
|
|
+ d = new c.Logger();
|
|
|
+ class f extends n.default {
|
|
|
+ constructor(e) {
|
|
|
+ super(e),
|
|
|
+ (this.Component = e),
|
|
|
+ (this.getCalendarConfig = (0, r.default)(
|
|
|
+ this.Component
|
|
|
+ ).getCalendarConfig);
|
|
|
+ }
|
|
|
+ switchWeek(e, t) {
|
|
|
+ return new Promise((a, n) => {
|
|
|
+ if ((0, r.default)(this.Component).getCalendarConfig().multi)
|
|
|
+ return d.warn('多选模式不能切换周月视图');
|
|
|
+ const { selectedDay: o = [], curYear: c, curMonth: l } = this.getData(
|
|
|
+ 'calendar'
|
|
|
+ );
|
|
|
+ if (!o.length) return this.__tipsWhenCanNotSwtich();
|
|
|
+ const b = o[0];
|
|
|
+ if ('week' === e) {
|
|
|
+ if (this.Component.weekMode) return;
|
|
|
+ const e = t || b,
|
|
|
+ { year: s, month: r } = e;
|
|
|
+ if (c !== s || l !== r) return this.__tipsWhenCanNotSwtich();
|
|
|
+ (this.Component.weekMode = !0),
|
|
|
+ this.setData({ 'calendar.weekMode': !0 }),
|
|
|
+ this.jump(e)
|
|
|
+ .then(a)
|
|
|
+ .catch(n);
|
|
|
+ } else
|
|
|
+ (this.Component.weekMode = !1),
|
|
|
+ this.setData({ 'calendar.weekMode': !1 }),
|
|
|
+ (0, s.default)(this.Component)
|
|
|
+ .renderCalendar(c, l, t)
|
|
|
+ .then(a)
|
|
|
+ .catch(n);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ updateCurrYearAndMonth(e) {
|
|
|
+ let { days: t, curYear: a, curMonth: n } = this.getData('calendar');
|
|
|
+ const { month: s } = t[0],
|
|
|
+ { month: r } = t[t.length - 1],
|
|
|
+ o = b.thisMonthDays(a, n),
|
|
|
+ c = t[t.length - 1],
|
|
|
+ l = t[0];
|
|
|
+ return (
|
|
|
+ (c.day + 7 > o || (n === s && s !== r)) && 'next' === e
|
|
|
+ ? (n += 1) > 12 && ((a += 1), (n = 1))
|
|
|
+ : (+l.day <= 7 || (n === r && s !== r)) &&
|
|
|
+ 'prev' === e &&
|
|
|
+ (n -= 1) <= 0 &&
|
|
|
+ ((a -= 1), (n = 12)),
|
|
|
+ { Uyear: a, Umonth: n }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ calculateLastDay() {
|
|
|
+ const { days: e, curYear: t, curMonth: a } = this.getData('calendar');
|
|
|
+ return {
|
|
|
+ lastDayInThisWeek: e[e.length - 1].day,
|
|
|
+ lastDayInThisMonth: b.thisMonthDays(t, a)
|
|
|
+ };
|
|
|
+ }
|
|
|
+ calculateFirstDay() {
|
|
|
+ const { days: e } = this.getData('calendar');
|
|
|
+ return { firstDayInThisWeek: e[0].day };
|
|
|
+ }
|
|
|
+ firstWeekInMonth(e, t, a) {
|
|
|
+ let n = b.dayOfWeek(e, t, 1);
|
|
|
+ const [, r] = [0, 7 - n];
|
|
|
+ let o = this.getData('calendar.days') || [];
|
|
|
+ return (
|
|
|
+ this.Component.weekMode &&
|
|
|
+ (o = (0, s.default)(this.Component).buildDate(e, t)),
|
|
|
+ o.slice(0, a ? r + 1 : r)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ lastWeekInMonth(e, t, a) {
|
|
|
+ const n = b.thisMonthDays(e, t),
|
|
|
+ r = b.dayOfWeek(e, t, n),
|
|
|
+ [o, c] = [n - r, n];
|
|
|
+ let l = this.getData('calendar.days') || [];
|
|
|
+ return (
|
|
|
+ this.Component.weekMode &&
|
|
|
+ (l = (0, s.default)(this.Component).buildDate(e, t)),
|
|
|
+ l.slice(a ? o : o - 1, c)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ initSelectedDay(e) {
|
|
|
+ const t = [...e],
|
|
|
+ {
|
|
|
+ selectedDay: a = [],
|
|
|
+ todoLabels: n = [],
|
|
|
+ showLabelAlways: s
|
|
|
+ } = this.getData('calendar'),
|
|
|
+ r = a.map(e => `${+e.year}-${+e.month}-${+e.day}`),
|
|
|
+ c = n.map(e => `${+e.year}-${+e.month}-${+e.day}`),
|
|
|
+ l = this.getCalendarConfig();
|
|
|
+ return (
|
|
|
+ t.forEach(e => {
|
|
|
+ r.includes(`${+e.year}-${+e.month}-${+e.day}`)
|
|
|
+ ? (e.choosed = !0)
|
|
|
+ : (e.choosed = !1);
|
|
|
+ const t = c.indexOf(`${+e.year}-${+e.month}-${+e.day}`);
|
|
|
+ if (-1 !== t) {
|
|
|
+ e.showTodoLabel = !!s || !e.choosed;
|
|
|
+ const a = n[t] || {};
|
|
|
+ e.showTodoLabel && a.todoText && (e.todoText = a.todoText);
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ (l.showLunar &&
|
|
|
+ (e.lunar = o.default.solar2lunar(+e.year, +e.month, +e.day)),
|
|
|
+ l.highlightToday)
|
|
|
+ ) {
|
|
|
+ const t = b.todayDate(),
|
|
|
+ a =
|
|
|
+ +t.year == +e.year &&
|
|
|
+ +t.month == +e.month &&
|
|
|
+ +e.day == +t.date;
|
|
|
+ e.isToday = a;
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ t
|
|
|
+ );
|
|
|
+ }
|
|
|
+ setEnableAreaOnWeekMode(e) {
|
|
|
+ let {
|
|
|
+ todayTimestamp: t,
|
|
|
+ enableAreaTimestamp: a = [],
|
|
|
+ enableDaysTimestamp: n = []
|
|
|
+ } = this.getData('calendar');
|
|
|
+ e.forEach(e => {
|
|
|
+ const s = b.newDate(e.year, e.month, e.day).getTime();
|
|
|
+ let o = !1;
|
|
|
+ a.length
|
|
|
+ ? (+a[0] > +s || +s > +a[1]) && !n.includes(+s) && (o = !0)
|
|
|
+ : n.length && !n.includes(+s) && (o = !0),
|
|
|
+ o && ((e.disable = !0), (e.choosed = !1));
|
|
|
+ const { disablePastDay: c } =
|
|
|
+ (0, r.default)(this.Component).getCalendarConfig() || {};
|
|
|
+ c && s - t < 0 && !e.disable && (e.disable = !0);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ calculateNextWeekDays() {
|
|
|
+ let {
|
|
|
+ lastDayInThisWeek: e,
|
|
|
+ lastDayInThisMonth: t
|
|
|
+ } = this.calculateLastDay(),
|
|
|
+ { curYear: a, curMonth: n } = this.getData('calendar'),
|
|
|
+ s = [];
|
|
|
+ if (t - e >= 7) {
|
|
|
+ const { Uyear: t, Umonth: r } = this.updateCurrYearAndMonth('next');
|
|
|
+ (a = t), (n = r);
|
|
|
+ for (let t = e + 1; t <= e + 7; t++)
|
|
|
+ s.push({ year: a, month: n, day: t, week: b.dayOfWeek(a, n, t) });
|
|
|
+ } else {
|
|
|
+ for (let r = e + 1; r <= t; r++)
|
|
|
+ s.push({ year: a, month: n, day: r, week: b.dayOfWeek(a, n, r) });
|
|
|
+ const { Uyear: r, Umonth: o } = this.updateCurrYearAndMonth('next');
|
|
|
+ (a = r), (n = o);
|
|
|
+ for (let r = 1; r <= 7 - (t - e); r++)
|
|
|
+ s.push({ year: a, month: n, day: r, week: b.dayOfWeek(a, n, r) });
|
|
|
+ }
|
|
|
+ (s = this.initSelectedDay(s)),
|
|
|
+ this.setEnableAreaOnWeekMode(s),
|
|
|
+ this.setData({
|
|
|
+ 'calendar.curYear': a,
|
|
|
+ 'calendar.curMonth': n,
|
|
|
+ 'calendar.days': s
|
|
|
+ });
|
|
|
+ }
|
|
|
+ calculatePrevWeekDays() {
|
|
|
+ let { firstDayInThisWeek: e } = this.calculateFirstDay(),
|
|
|
+ { curYear: t, curMonth: a } = this.getData('calendar'),
|
|
|
+ n = [];
|
|
|
+ if (e - 7 > 0) {
|
|
|
+ const { Uyear: s, Umonth: r } = this.updateCurrYearAndMonth('prev');
|
|
|
+ (t = s), (a = r);
|
|
|
+ for (let s = e - 7; s < e; s++)
|
|
|
+ n.push({ year: t, month: a, day: s, week: b.dayOfWeek(t, a, s) });
|
|
|
+ } else {
|
|
|
+ let s = [];
|
|
|
+ for (let n = 1; n < e; n++)
|
|
|
+ s.push({ year: t, month: a, day: n, week: b.dayOfWeek(t, a, n) });
|
|
|
+ const { Uyear: r, Umonth: o } = this.updateCurrYearAndMonth('prev');
|
|
|
+ (t = r), (a = o);
|
|
|
+ const c = b.thisMonthDays(t, a);
|
|
|
+ for (let s = c - Math.abs(e - 7); s <= c; s++)
|
|
|
+ n.push({ year: t, month: a, day: s, week: b.dayOfWeek(t, a, s) });
|
|
|
+ n = n.concat(s);
|
|
|
+ }
|
|
|
+ (n = this.initSelectedDay(n)),
|
|
|
+ this.setEnableAreaOnWeekMode(n),
|
|
|
+ this.setData({
|
|
|
+ 'calendar.curYear': t,
|
|
|
+ 'calendar.curMonth': a,
|
|
|
+ 'calendar.days': n
|
|
|
+ });
|
|
|
+ }
|
|
|
+ calculateDatesWhenJump(
|
|
|
+ { year: e, month: t, day: a },
|
|
|
+ { firstWeekDays: n, lastWeekDays: s },
|
|
|
+ r
|
|
|
+ ) {
|
|
|
+ const o = this.__dateIsInWeek({ year: e, month: t, day: a }, n),
|
|
|
+ c = this.__dateIsInWeek({ year: e, month: t, day: a }, s);
|
|
|
+ let l = [];
|
|
|
+ return (l = o
|
|
|
+ ? this.__calculateDatesWhenInFirstWeek(n, r)
|
|
|
+ : c
|
|
|
+ ? this.__calculateDatesWhenInLastWeek(s, r)
|
|
|
+ : this.__calculateDates({ year: e, month: t, day: a }));
|
|
|
+ }
|
|
|
+ jump({ year: e, month: t, day: a }) {
|
|
|
+ return new Promise(n => {
|
|
|
+ if (!a) return;
|
|
|
+ const s = 'Mon' === this.getCalendarConfig().firstDayOfWeek,
|
|
|
+ r = this.firstWeekInMonth(e, t, s);
|
|
|
+ let o = this.lastWeekInMonth(e, t, s);
|
|
|
+ const c = this.calculateDatesWhenJump(
|
|
|
+ { year: e, month: t, day: a },
|
|
|
+ { firstWeekDays: r, lastWeekDays: o },
|
|
|
+ s
|
|
|
+ );
|
|
|
+ c.map(n => {
|
|
|
+ +n.year == +e && +n.month == +t && +n.day == +a && (n.choosed = !0);
|
|
|
+ }),
|
|
|
+ this.initSelectedDay(c),
|
|
|
+ this.setEnableAreaOnWeekMode(c),
|
|
|
+ this.setData(
|
|
|
+ {
|
|
|
+ 'calendar.days': c,
|
|
|
+ 'calendar.curYear': e,
|
|
|
+ 'calendar.curMonth': t,
|
|
|
+ 'calendar.empytGrids': [],
|
|
|
+ 'calendar.lastEmptyGrids': []
|
|
|
+ },
|
|
|
+ n
|
|
|
+ );
|
|
|
+ });
|
|
|
+ }
|
|
|
+ __calculateDatesWhenInFirstWeek(e, t) {
|
|
|
+ const a = [...e];
|
|
|
+ if (a.length < 7) {
|
|
|
+ let e,
|
|
|
+ { year: t, month: n } = a[0],
|
|
|
+ s = 7 - a.length;
|
|
|
+ for (
|
|
|
+ n > 1
|
|
|
+ ? ((n -= 1), (e = b.thisMonthDays(t, n)))
|
|
|
+ : ((n = 12), (t -= 1), (e = b.thisMonthDays(t, n)));
|
|
|
+ s;
|
|
|
+
|
|
|
+ )
|
|
|
+ a.unshift({
|
|
|
+ year: t,
|
|
|
+ month: n,
|
|
|
+ day: e,
|
|
|
+ week: b.dayOfWeek(t, n, e)
|
|
|
+ }),
|
|
|
+ (e -= 1),
|
|
|
+ (s -= 1);
|
|
|
+ }
|
|
|
+ return a;
|
|
|
+ }
|
|
|
+ __calculateDatesWhenInLastWeek(e, t) {
|
|
|
+ const a = [...e];
|
|
|
+ if (t && a.length < 7) {
|
|
|
+ let { year: e, month: t } = a[0],
|
|
|
+ n = 7 - a.length,
|
|
|
+ s = 1;
|
|
|
+ for (t > 11 ? ((t = 1), (e += 1)) : (t += 1); n; )
|
|
|
+ a.push({ year: e, month: t, day: s, week: b.dayOfWeek(e, t, s) }),
|
|
|
+ (s += 1),
|
|
|
+ (n -= 1);
|
|
|
+ }
|
|
|
+ return a;
|
|
|
+ }
|
|
|
+ __calculateDates({ year: e, month: t, day: a }, n) {
|
|
|
+ const r = b.dayOfWeek(e, t, a);
|
|
|
+ let o = [a - r, a + (6 - r)];
|
|
|
+ return (
|
|
|
+ n && (o = [a + 1 - r, a + (7 - r)]),
|
|
|
+ (0, s.default)(this.Component)
|
|
|
+ .buildDate(e, t)
|
|
|
+ .slice(o[0] - 1, o[1])
|
|
|
+ );
|
|
|
+ }
|
|
|
+ __dateIsInWeek(e, t) {
|
|
|
+ return t.find(
|
|
|
+ t => +t.year == +e.year && +t.month == +e.month && +t.day == +e.day
|
|
|
+ );
|
|
|
+ }
|
|
|
+ __tipsWhenCanNotSwtich() {
|
|
|
+ d.info(
|
|
|
+ '当前月份未选中日期下切换为周视图,不能明确该展示哪一周的日期,故此情况不允许切换'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.default = e => new f(e);
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ var n = c(a(6)),
|
|
|
+ s = c(a(1)),
|
|
|
+ r = c(a(2)),
|
|
|
+ o = a(0);
|
|
|
+ function c(e) {
|
|
|
+ return e && e.__esModule ? e : { default: e };
|
|
|
+ }
|
|
|
+ const l = new o.GetDate();
|
|
|
+ class b extends s.default {
|
|
|
+ constructor(e) {
|
|
|
+ super(e), (this.Component = e);
|
|
|
+ }
|
|
|
+ getCalendarConfig() {
|
|
|
+ return this.Component.config;
|
|
|
+ }
|
|
|
+ renderCalendar(e, t, a) {
|
|
|
+ return new Promise(s => {
|
|
|
+ this.calculateEmptyGrids(e, t), this.calculateDays(e, t, a);
|
|
|
+ const { todoLabels: r } = this.getData('calendar') || {};
|
|
|
+ r &&
|
|
|
+ r instanceof Array &&
|
|
|
+ r.find(e => +e.month == +t) &&
|
|
|
+ (0, n.default)(this.Component).setTodoLabels(),
|
|
|
+ this.Component.firstRender || s();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ calculateEmptyGrids(e, t) {
|
|
|
+ this.calculatePrevMonthGrids(e, t), this.calculateNextMonthGrids(e, t);
|
|
|
+ }
|
|
|
+ calculatePrevMonthGrids(e, t) {
|
|
|
+ let a = [];
|
|
|
+ const n = l.thisMonthDays(e, t - 1);
|
|
|
+ let s = l.firstDayOfWeek(e, t);
|
|
|
+ const o = this.getCalendarConfig() || {};
|
|
|
+ if (
|
|
|
+ ('Mon' === o.firstDayOfWeek && (0 === s ? (s = 6) : (s -= 1)), s > 0)
|
|
|
+ ) {
|
|
|
+ const c = n - s,
|
|
|
+ { onlyShowCurrentMonth: l } = o,
|
|
|
+ { showLunar: b } = this.getCalendarConfig();
|
|
|
+ for (let s = n; s > c; s--)
|
|
|
+ l
|
|
|
+ ? a.push('')
|
|
|
+ : a.push({
|
|
|
+ day: s,
|
|
|
+ lunar: b ? r.default.solar2lunar(e, t - 1, s) : null
|
|
|
+ });
|
|
|
+ this.setData({ 'calendar.empytGrids': a.reverse() });
|
|
|
+ } else this.setData({ 'calendar.empytGrids': null });
|
|
|
+ }
|
|
|
+ calculateExtraEmptyDate(e, t, a) {
|
|
|
+ let n = 0;
|
|
|
+ if (2 == +t) {
|
|
|
+ n += 7;
|
|
|
+ let s = l.dayOfWeek(e, t, 1);
|
|
|
+ 'Mon' === a.firstDayOfWeek
|
|
|
+ ? 1 == +s && (n += 7)
|
|
|
+ : 0 == +s && (n += 7);
|
|
|
+ } else {
|
|
|
+ let s = l.dayOfWeek(e, t, 1);
|
|
|
+ 'Mon' === a.firstDayOfWeek
|
|
|
+ ? 0 !== s && s < 6 && (n += 7)
|
|
|
+ : s < 6 && (n += 7);
|
|
|
+ }
|
|
|
+ return n;
|
|
|
+ }
|
|
|
+ calculateNextMonthGrids(e, t) {
|
|
|
+ let a = [];
|
|
|
+ const n = l.thisMonthDays(e, t);
|
|
|
+ let s = l.dayOfWeek(e, t, n);
|
|
|
+ const o = this.getCalendarConfig() || {};
|
|
|
+ 'Mon' === o.firstDayOfWeek && (0 === s ? (s = 6) : (s -= 1));
|
|
|
+ let c = 7 - (s + 1);
|
|
|
+ const { onlyShowCurrentMonth: b, showLunar: d } = o;
|
|
|
+ b || (c += this.calculateExtraEmptyDate(e, t, o));
|
|
|
+ for (let n = 1; n <= c; n++)
|
|
|
+ b
|
|
|
+ ? a.push('')
|
|
|
+ : a.push({
|
|
|
+ day: n,
|
|
|
+ lunar: d ? r.default.solar2lunar(e, t + 1, n) : null
|
|
|
+ });
|
|
|
+ this.setData({ 'calendar.lastEmptyGrids': a });
|
|
|
+ }
|
|
|
+ setSelectedDay(e, t, a) {
|
|
|
+ let n = [];
|
|
|
+ const s = this.getCalendarConfig();
|
|
|
+ if (s.noDefault) (n = []), (s.noDefault = !1);
|
|
|
+ else {
|
|
|
+ const s = this.getData('calendar') || {},
|
|
|
+ { showLunar: o } = this.getCalendarConfig();
|
|
|
+ n = a
|
|
|
+ ? [
|
|
|
+ {
|
|
|
+ year: e,
|
|
|
+ month: t,
|
|
|
+ day: a,
|
|
|
+ choosed: !0,
|
|
|
+ week: l.dayOfWeek(e, t, a),
|
|
|
+ lunar: o ? r.default.solar2lunar(e, t, a) : null
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ : s.selectedDay;
|
|
|
+ }
|
|
|
+ return n;
|
|
|
+ }
|
|
|
+ buildDate(e, t) {
|
|
|
+ const a = l.todayDate(),
|
|
|
+ n = l.thisMonthDays(e, t),
|
|
|
+ s = [];
|
|
|
+ for (let r = 1; r <= n; r++) {
|
|
|
+ const n = +a.year == +e && +a.month == +t && r === +a.date,
|
|
|
+ o = this.getCalendarConfig();
|
|
|
+ s.push({
|
|
|
+ year: e,
|
|
|
+ month: t,
|
|
|
+ day: r,
|
|
|
+ choosed: !1,
|
|
|
+ week: l.dayOfWeek(e, t, r),
|
|
|
+ isToday: n && o.highlightToday
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return s;
|
|
|
+ }
|
|
|
+ calculateDays(e, t, a) {
|
|
|
+ let n = [];
|
|
|
+ const { todayTimestamp: s, disableDays: o = [] } = this.getData(
|
|
|
+ 'calendar'
|
|
|
+ );
|
|
|
+ n = this.buildDate(e, t);
|
|
|
+ const c = this.setSelectedDay(e, t, a),
|
|
|
+ b = c.map(e => `${+e.year}-${+e.month}-${+e.day}`),
|
|
|
+ d = o.map(e => `${+e.year}-${+e.month}-${+e.day}`);
|
|
|
+ n.forEach(e => {
|
|
|
+ const t = `${+e.year}-${+e.month}-${+e.day}`;
|
|
|
+ b.includes(t) && (e.choosed = !0), d.includes(t) && (e.disable = !0);
|
|
|
+ const a = l.newDate(e.year, e.month, e.day).getTime(),
|
|
|
+ {
|
|
|
+ showLunar: n,
|
|
|
+ disablePastDay: o,
|
|
|
+ disableLaterDay: c
|
|
|
+ } = this.getCalendarConfig();
|
|
|
+ n && (e.lunar = r.default.solar2lunar(+e.year, +e.month, +e.day));
|
|
|
+ let f = !1;
|
|
|
+ o
|
|
|
+ ? (f = o && a - s < 0 && !e.disable)
|
|
|
+ : c && (f = c && a - s > 0 && !e.disable),
|
|
|
+ (f || this.__isDisable(a)) && ((e.disable = !0), (e.choosed = !1));
|
|
|
+ }),
|
|
|
+ this.setData({ 'calendar.days': n, 'calendar.selectedDay': c || [] });
|
|
|
+ }
|
|
|
+ __isDisable(e) {
|
|
|
+ const {
|
|
|
+ enableArea: t = [],
|
|
|
+ enableDays: a = [],
|
|
|
+ enableAreaTimestamp: n = []
|
|
|
+ } = this.getData('calendar');
|
|
|
+ let s = !1,
|
|
|
+ r = (0, o.converEnableDaysToTimestamp)(a);
|
|
|
+ return (
|
|
|
+ t.length && (r = (0, o.delRepeatedEnableDay)(a, t)),
|
|
|
+ n.length
|
|
|
+ ? (+n[0] > +e || +e > +n[1]) && !r.includes(+e) && (s = !0)
|
|
|
+ : r.length && !r.includes(+e) && (s = !0),
|
|
|
+ s
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.default = e => new b(e);
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ var n,
|
|
|
+ s = (n = a(1)) && n.__esModule ? n : { default: n },
|
|
|
+ r = a(0);
|
|
|
+ const o = new r.Logger();
|
|
|
+ class c extends s.default {
|
|
|
+ constructor(e) {
|
|
|
+ super(e), (this.Component = e);
|
|
|
+ }
|
|
|
+ setTodoLabels(e) {
|
|
|
+ e && (this.Component.todoConfig = e);
|
|
|
+ const t = this.getData('calendar');
|
|
|
+ if (!t || !t.days) return o.warn('请等待日历初始化完成后再调用该方法');
|
|
|
+ const a = [...t.days],
|
|
|
+ { curYear: n, curMonth: s } = t,
|
|
|
+ {
|
|
|
+ circle: c,
|
|
|
+ dotColor: l = '',
|
|
|
+ pos: b = 'bottom',
|
|
|
+ showLabelAlways: d,
|
|
|
+ days: f = []
|
|
|
+ } = e || this.Component.todoConfig || {},
|
|
|
+ { todoLabels: i = [], todoLabelPos: h, todoLabelColor: u } = t,
|
|
|
+ y = this.getTodoLabels({ year: n, month: s });
|
|
|
+ let m = f.filter(e => +e.year == +n && +e.month == +s);
|
|
|
+ this.Component.weekMode && (m = f);
|
|
|
+ const D = y.concat(m);
|
|
|
+ for (let e of D) {
|
|
|
+ let t;
|
|
|
+ (t = this.Component.weekMode
|
|
|
+ ? a.find(
|
|
|
+ t =>
|
|
|
+ +e.year == +t.year && +e.month == +t.month && +e.day == +t.day
|
|
|
+ )
|
|
|
+ : a[e.day - 1]) &&
|
|
|
+ ((t.showTodoLabel = !!d || !t.choosed),
|
|
|
+ t.showTodoLabel && e.todoText && (t.todoText = e.todoText));
|
|
|
+ }
|
|
|
+ const g = {
|
|
|
+ 'calendar.days': a,
|
|
|
+ 'calendar.todoLabels': (0, r.uniqueArrayByDate)(f.concat(i))
|
|
|
+ };
|
|
|
+ c ||
|
|
|
+ (b && b !== h && (g['calendar.todoLabelPos'] = b),
|
|
|
+ l && l !== u && (g['calendar.todoLabelColor'] = l)),
|
|
|
+ (g['calendar.todoLabelCircle'] = c || !1),
|
|
|
+ (g['calendar.showLabelAlways'] = d || !1),
|
|
|
+ this.setData(g);
|
|
|
+ }
|
|
|
+ deleteTodoLabels(e) {
|
|
|
+ if (!(e instanceof Array && e.length)) return;
|
|
|
+ const t = this.filterTodos(e),
|
|
|
+ { days: a, curYear: n, curMonth: s } = this.getData('calendar'),
|
|
|
+ r = t.filter(e => n === +e.year && s === +e.month);
|
|
|
+ a.forEach(e => {
|
|
|
+ e.showTodoLabel = !1;
|
|
|
+ }),
|
|
|
+ r.forEach(e => {
|
|
|
+ a[e.day - 1].showTodoLabel = !a[e.day - 1].choosed;
|
|
|
+ }),
|
|
|
+ this.setData({ 'calendar.days': a, 'calendar.todoLabels': t });
|
|
|
+ }
|
|
|
+ clearTodoLabels() {
|
|
|
+ const { days: e = [] } = this.getData('calendar'),
|
|
|
+ t = [].concat(e);
|
|
|
+ t.forEach(e => {
|
|
|
+ e.showTodoLabel = !1;
|
|
|
+ }),
|
|
|
+ this.setData({ 'calendar.days': t, 'calendar.todoLabels': [] });
|
|
|
+ }
|
|
|
+ getTodoLabels(e) {
|
|
|
+ const { todoLabels: t = [] } = this.getData('calendar');
|
|
|
+ if (e) {
|
|
|
+ const { year: a, month: n } = e;
|
|
|
+ return t.filter(e => +e.year == +a && +e.month == +n);
|
|
|
+ }
|
|
|
+ return t;
|
|
|
+ }
|
|
|
+ filterTodos(e) {
|
|
|
+ const t = this.getData('calendar.todoLabels') || [],
|
|
|
+ a = e.map(e => `${e.year}-${e.month}-${e.day}`);
|
|
|
+ return t.filter(e => !a.includes(`${e.year}-${e.month}-${e.day}`));
|
|
|
+ }
|
|
|
+ showTodoLabels(e, t, a) {
|
|
|
+ e.forEach(e => {
|
|
|
+ if (this.Component.weekMode)
|
|
|
+ t.forEach((n, s) => {
|
|
|
+ if (+n.day == +e.day) {
|
|
|
+ const n = t[s];
|
|
|
+ (n.hasTodo = !0),
|
|
|
+ (n.todoText = e.todoText),
|
|
|
+ a &&
|
|
|
+ a.length &&
|
|
|
+ +a[0].day == +e.day &&
|
|
|
+ (n.showTodoLabel = !0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ else {
|
|
|
+ const n = t[e.day - 1];
|
|
|
+ if (!n) return;
|
|
|
+ (n.hasTodo = !0),
|
|
|
+ (n.todoText = e.todoText),
|
|
|
+ a &&
|
|
|
+ a.length &&
|
|
|
+ +a[0].day == +e.day &&
|
|
|
+ (t[a[0].day - 1].showTodoLabel = !0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.default = e => new c(e);
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ var n,
|
|
|
+ s = (n = a(4)) && n.__esModule ? n : { default: n },
|
|
|
+ r = a(0),
|
|
|
+ o = (function(e) {
|
|
|
+ if (e && e.__esModule) return e;
|
|
|
+ var t = {};
|
|
|
+ if (null != e)
|
|
|
+ for (var a in e)
|
|
|
+ if (Object.prototype.hasOwnProperty.call(e, a)) {
|
|
|
+ var n =
|
|
|
+ Object.defineProperty && Object.getOwnPropertyDescriptor
|
|
|
+ ? Object.getOwnPropertyDescriptor(e, a)
|
|
|
+ : {};
|
|
|
+ n.get || n.set ? Object.defineProperty(t, a, n) : (t[a] = e[a]);
|
|
|
+ }
|
|
|
+ return (t.default = e), t;
|
|
|
+ })(a(8));
|
|
|
+ const c = new r.Slide(),
|
|
|
+ l = new r.Logger();
|
|
|
+ Component({
|
|
|
+ options: { multipleSlots: !0 },
|
|
|
+ properties: { calendarConfig: { type: Object, value: {} } },
|
|
|
+ data: {
|
|
|
+ handleMap: {
|
|
|
+ prev_year: 'chooseYear',
|
|
|
+ prev_month: 'chooseMonth',
|
|
|
+ next_month: 'chooseMonth',
|
|
|
+ next_year: 'chooseYear'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ lifetimes: {
|
|
|
+ attached: function() {
|
|
|
+ this.initComp();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ attached: function() {
|
|
|
+ this.initComp();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ initComp() {
|
|
|
+ const e = this.properties.calendarConfig || {};
|
|
|
+ this.setTheme(e.theme), (0, o.default)(this, e);
|
|
|
+ },
|
|
|
+ setTheme(e) {
|
|
|
+ this.setData({ 'calendarConfig.theme': e || 'default' });
|
|
|
+ },
|
|
|
+ chooseDate(e) {
|
|
|
+ const { type: t } = e.currentTarget.dataset;
|
|
|
+ t && this[this.data.handleMap[t]](t);
|
|
|
+ },
|
|
|
+ chooseYear(e) {
|
|
|
+ const { curYear: t, curMonth: a } = this.data.calendar;
|
|
|
+ if (!t || !a) return l.warn('异常:未获取到当前年月');
|
|
|
+ if (this.weekMode) return console.warn('周视图下不支持点击切换年月');
|
|
|
+ let n = +t,
|
|
|
+ s = +a;
|
|
|
+ 'prev_year' === e ? (n -= 1) : 'next_year' === e && (n += 1),
|
|
|
+ this.render(t, a, n, s);
|
|
|
+ },
|
|
|
+ chooseMonth(e) {
|
|
|
+ const { curYear: t, curMonth: a } = this.data.calendar;
|
|
|
+ if (!t || !a) return l.warn('异常:未获取到当前年月');
|
|
|
+ if (this.weekMode) return console.warn('周视图下不支持点击切换年月');
|
|
|
+ let n = +t,
|
|
|
+ s = +a;
|
|
|
+ 'prev_month' === e
|
|
|
+ ? (s -= 1) < 1 && ((n -= 1), (s = 12))
|
|
|
+ : 'next_month' === e && (s += 1) > 12 && ((n += 1), (s = 1)),
|
|
|
+ this.render(t, a, n, s);
|
|
|
+ },
|
|
|
+ render(e, t, a, n) {
|
|
|
+ o.whenChangeDate.call(this, {
|
|
|
+ curYear: e,
|
|
|
+ curMonth: t,
|
|
|
+ newYear: a,
|
|
|
+ newMonth: n
|
|
|
+ }),
|
|
|
+ this.setData({ 'calendar.curYear': a, 'calendar.curMonth': n }),
|
|
|
+ o.renderCalendar.call(this, a, n);
|
|
|
+ },
|
|
|
+ tapDayItem(e) {
|
|
|
+ const { idx: t, disable: a } = e.currentTarget.dataset;
|
|
|
+ if (a) return;
|
|
|
+ const n = this.config || {},
|
|
|
+ { multi: s } = n;
|
|
|
+ s
|
|
|
+ ? o.whenMulitSelect.call(this, t)
|
|
|
+ : o.whenSingleSelect.call(this, t);
|
|
|
+ },
|
|
|
+ doubleClickToToday() {
|
|
|
+ if (!this.config.multi && !this.weekMode)
|
|
|
+ if (
|
|
|
+ (void 0 === this.count ? (this.count = 1) : (this.count += 1),
|
|
|
+ this.lastClick)
|
|
|
+ ) {
|
|
|
+ new Date().getTime() - this.lastClick < 500 &&
|
|
|
+ this.count >= 2 &&
|
|
|
+ o.jump.call(this),
|
|
|
+ (this.count = void 0),
|
|
|
+ (this.lastClick = void 0);
|
|
|
+ } else this.lastClick = new Date().getTime();
|
|
|
+ },
|
|
|
+ calendarTouchstart(e) {
|
|
|
+ const t = e.touches[0],
|
|
|
+ a = t.clientX,
|
|
|
+ n = t.clientY;
|
|
|
+ (this.slideLock = !0),
|
|
|
+ this.setData({ 'gesture.startX': a, 'gesture.startY': n });
|
|
|
+ },
|
|
|
+ calendarTouchmove(e) {
|
|
|
+ const { gesture: t } = this.data;
|
|
|
+ if (this.slideLock) {
|
|
|
+ if (c.isLeft(t, e.touches[0])) {
|
|
|
+ if ((this.setData({ 'calendar.leftSwipe': 1 }), this.weekMode))
|
|
|
+ return (
|
|
|
+ (this.slideLock = !1),
|
|
|
+ (this.currentDates = (0, o.getCalendarDates)()),
|
|
|
+ (this.currentYM = (0, o.getCurrentYM)()),
|
|
|
+ (0, s.default)(this).calculateNextWeekDays(),
|
|
|
+ this.onSwipeCalendar('next_week'),
|
|
|
+ void this.onWeekChange('next_week')
|
|
|
+ );
|
|
|
+ this.chooseMonth('next_month'),
|
|
|
+ this.onSwipeCalendar('next_month'),
|
|
|
+ (this.slideLock = !1);
|
|
|
+ }
|
|
|
+ if (c.isRight(t, e.touches[0])) {
|
|
|
+ if ((this.setData({ 'calendar.rightSwipe': 1 }), this.weekMode))
|
|
|
+ return (
|
|
|
+ (this.slideLock = !1),
|
|
|
+ (this.currentDates = (0, o.getCalendarDates)()),
|
|
|
+ (this.currentYM = (0, o.getCurrentYM)()),
|
|
|
+ (0, s.default)(this).calculatePrevWeekDays(),
|
|
|
+ this.onSwipeCalendar('prev_week'),
|
|
|
+ void this.onWeekChange('prev_week')
|
|
|
+ );
|
|
|
+ this.chooseMonth('prev_month'),
|
|
|
+ this.onSwipeCalendar('prev_month'),
|
|
|
+ (this.slideLock = !1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ calendarTouchend(e) {
|
|
|
+ this.setData({ 'calendar.leftSwipe': 0, 'calendar.rightSwipe': 0 });
|
|
|
+ },
|
|
|
+ onSwipeCalendar(e) {
|
|
|
+ this.triggerEvent('onSwipe', { directionType: e });
|
|
|
+ },
|
|
|
+ onWeekChange(e) {
|
|
|
+ this.triggerEvent('whenChangeWeek', {
|
|
|
+ current: {
|
|
|
+ currentYM: this.currentYM,
|
|
|
+ dates: [...this.currentDates]
|
|
|
+ },
|
|
|
+ next: {
|
|
|
+ currentYM: (0, o.getCurrentYM)(),
|
|
|
+ dates: (0, o.getCalendarDates)()
|
|
|
+ },
|
|
|
+ directionType: e
|
|
|
+ }),
|
|
|
+ (this.currentDates = null),
|
|
|
+ (this.currentYM = null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
|
+ (t.getCurrentYM = L),
|
|
|
+ (t.getSelectedDay = v),
|
|
|
+ (t.cancelAllSelectedDay = W),
|
|
|
+ (t.jump = S),
|
|
|
+ (t.setTodoLabels = $),
|
|
|
+ (t.deleteTodoLabels = Y),
|
|
|
+ (t.clearTodoLabels = O),
|
|
|
+ (t.getTodoLabels = x),
|
|
|
+ (t.disableDay = A),
|
|
|
+ (t.enableArea = E),
|
|
|
+ (t.enableDays = I),
|
|
|
+ (t.setSelectedDays = P),
|
|
|
+ (t.getCalendarConfig = j),
|
|
|
+ (t.setCalendarConfig = G),
|
|
|
+ (t.getCalendarDates = U),
|
|
|
+ (t.switchView = F),
|
|
|
+ (t.default = t.calculateNextWeekDays = t.calculatePrevWeekDays = t.whenMulitSelect = t.whenSingleSelect = t.renderCalendar = t.whenChangeDate = void 0);
|
|
|
+ var n = f(a(9)),
|
|
|
+ s = f(a(4)),
|
|
|
+ r = f(a(6)),
|
|
|
+ o = f(a(1)),
|
|
|
+ c = f(a(5)),
|
|
|
+ l = f(a(3)),
|
|
|
+ b = f(a(2)),
|
|
|
+ d = a(0);
|
|
|
+ function f(e) {
|
|
|
+ return e && e.__esModule ? e : { default: e };
|
|
|
+ }
|
|
|
+ let i = {},
|
|
|
+ h = new d.Logger(),
|
|
|
+ u = new d.GetDate(),
|
|
|
+ y = null;
|
|
|
+ function m(e) {
|
|
|
+ e && (i = (0, d.getComponent)(e));
|
|
|
+ }
|
|
|
+ function D(e, t) {
|
|
|
+ return m(t), (y = new o.default(i)).getData(e);
|
|
|
+ }
|
|
|
+ function g(e, t = () => {}) {
|
|
|
+ return new o.default(i).setData(e, t);
|
|
|
+ }
|
|
|
+ const p = {
|
|
|
+ renderCalendar(e, t, a) {
|
|
|
+ return (
|
|
|
+ (0, d.isComponent)(this) && (i = this),
|
|
|
+ new Promise((n, s) => {
|
|
|
+ (0, c.default)(i)
|
|
|
+ .renderCalendar(e, t, a)
|
|
|
+ .then(() => {
|
|
|
+ !(function(e) {
|
|
|
+ e.calendar = {
|
|
|
+ jump: S,
|
|
|
+ switchView: F,
|
|
|
+ disableDay: A,
|
|
|
+ enableArea: E,
|
|
|
+ enableDays: I,
|
|
|
+ getCurrentYM: L,
|
|
|
+ getSelectedDay: v,
|
|
|
+ cancelAllSelectedDay: W,
|
|
|
+ setTodoLabels: $,
|
|
|
+ getTodoLabels: x,
|
|
|
+ deleteTodoLabels: Y,
|
|
|
+ clearTodoLabels: O,
|
|
|
+ setSelectedDays: P,
|
|
|
+ getCalendarConfig: j,
|
|
|
+ setCalendarConfig: G,
|
|
|
+ getCalendarDates: U
|
|
|
+ };
|
|
|
+ })((0, d.getCurrentPage)()),
|
|
|
+ i.triggerEvent('afterCalendarRender', i),
|
|
|
+ (i.firstRender = !0),
|
|
|
+ (d.initialTasks.flag = 'finished'),
|
|
|
+ d.initialTasks.tasks.length &&
|
|
|
+ d.initialTasks.tasks.shift()(),
|
|
|
+ n();
|
|
|
+ });
|
|
|
+ })
|
|
|
+ );
|
|
|
+ },
|
|
|
+ whenChangeDate({ curYear: e, curMonth: t, newYear: a, newMonth: n }) {
|
|
|
+ i.triggerEvent('whenChangeMonth', {
|
|
|
+ current: { year: e, month: t },
|
|
|
+ next: { year: a, month: n }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ whenMulitSelect(e) {
|
|
|
+ (0, d.isComponent)(this) && (i = this);
|
|
|
+ const { calendar: t = {} } = D(),
|
|
|
+ { days: a, todoLabels: n } = t;
|
|
|
+ let { selectedDay: s = [] } = t;
|
|
|
+ const r = a[e];
|
|
|
+ if (r) {
|
|
|
+ if (((r.choosed = !r.choosed), r.choosed)) {
|
|
|
+ r.cancel = !1;
|
|
|
+ const { showLabelAlways: e } = D('calendar');
|
|
|
+ e && r.showTodoLabel
|
|
|
+ ? (r.showTodoLabel = !0)
|
|
|
+ : (r.showTodoLabel = !1),
|
|
|
+ s.push(r);
|
|
|
+ } else {
|
|
|
+ r.cancel = !0;
|
|
|
+ const e = `${r.year}-${r.month}-${r.day}`;
|
|
|
+ (s = s.filter(t => e !== `${t.year}-${t.month}-${t.day}`)),
|
|
|
+ n &&
|
|
|
+ n.forEach(t => {
|
|
|
+ e === `${t.year}-${t.month}-${t.day}` &&
|
|
|
+ (r.showTodoLabel = !0);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if ((0, l.default)(i).getCalendarConfig().takeoverTap)
|
|
|
+ return i.triggerEvent('onTapDay', r);
|
|
|
+ g({ 'calendar.days': a, 'calendar.selectedDay': s }),
|
|
|
+ p.afterTapDay(r, s);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ whenSingleSelect(e) {
|
|
|
+ (0, d.isComponent)(this) && (i = this);
|
|
|
+ const { calendar: t = {} } = D(),
|
|
|
+ { days: a, selectedDay: n = [], todoLabels: s } = t;
|
|
|
+ let o = [];
|
|
|
+ const c = a[e];
|
|
|
+ if (!c) return;
|
|
|
+ const b = (n[0] || {}).day,
|
|
|
+ f = (b && a[b - 1]) || {},
|
|
|
+ { month: h, year: u } = a[0] || {},
|
|
|
+ y = (0, l.default)(i).getCalendarConfig();
|
|
|
+ if (y.takeoverTap) return i.triggerEvent('onTapDay', c);
|
|
|
+ if ((p.afterTapDay(c), !y.inverse && f.day === c.day)) return;
|
|
|
+ i.weekMode &&
|
|
|
+ a.forEach((e, t) => {
|
|
|
+ e.day === b && (a[t].choosed = !1);
|
|
|
+ }),
|
|
|
+ s && (o = s.filter(e => +e.year === u && +e.month === h)),
|
|
|
+ (0, r.default)(i).showTodoLabels(o, a, n);
|
|
|
+ const m = { 'calendar.days': a };
|
|
|
+ f.day !== c.day
|
|
|
+ ? ((f.choosed = !1),
|
|
|
+ (c.choosed = !0),
|
|
|
+ (t.showLabelAlways && c.showTodoLabel) || (c.showTodoLabel = !1),
|
|
|
+ (m['calendar.selectedDay'] = [c]))
|
|
|
+ : y.inverse &&
|
|
|
+ ((c.choosed = !c.choosed),
|
|
|
+ c.choosed &&
|
|
|
+ (c.showTodoLabel && t.showLabelAlways
|
|
|
+ ? (c.showTodoLabel = !0)
|
|
|
+ : (c.showTodoLabel = !1)),
|
|
|
+ (m['calendar.selectedDay'] = [])),
|
|
|
+ g(m);
|
|
|
+ },
|
|
|
+ afterTapDay(e, t) {
|
|
|
+ const a = (0, l.default)(i).getCalendarConfig(),
|
|
|
+ { multi: n } = a;
|
|
|
+ n
|
|
|
+ ? i.triggerEvent('afterTapDay', {
|
|
|
+ currentSelected: e,
|
|
|
+ selectedDays: t
|
|
|
+ })
|
|
|
+ : i.triggerEvent('afterTapDay', e);
|
|
|
+ },
|
|
|
+ jumpToToday() {
|
|
|
+ const { year: e, month: t, date: a } = u.todayDate(),
|
|
|
+ n = u.todayTimestamp();
|
|
|
+ g({
|
|
|
+ 'calendar.curYear': e,
|
|
|
+ 'calendar.curMonth': t,
|
|
|
+ 'calendar.selectedDay': [
|
|
|
+ {
|
|
|
+ year: e,
|
|
|
+ day: a,
|
|
|
+ month: t,
|
|
|
+ choosed: !0,
|
|
|
+ lunar: (0, l.default)(i).getCalendarConfig().showLunar
|
|
|
+ ? b.default.solar2lunar(e, t, a)
|
|
|
+ : null
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ 'calendar.todayTimestamp': n
|
|
|
+ }),
|
|
|
+ p.renderCalendar(e, t, a);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ w = p.whenChangeDate;
|
|
|
+ t.whenChangeDate = w;
|
|
|
+ const C = p.renderCalendar;
|
|
|
+ t.renderCalendar = C;
|
|
|
+ const T = p.whenSingleSelect;
|
|
|
+ t.whenSingleSelect = T;
|
|
|
+ const M = p.whenMulitSelect;
|
|
|
+ t.whenMulitSelect = M;
|
|
|
+ const k = p.calculatePrevWeekDays;
|
|
|
+ t.calculatePrevWeekDays = k;
|
|
|
+ const _ = p.calculateNextWeekDays;
|
|
|
+ function L(e) {
|
|
|
+ return (
|
|
|
+ m(e), { year: D('calendar.curYear'), month: D('calendar.curMonth') }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ function v(e) {
|
|
|
+ return m(e), D('calendar.selectedDay');
|
|
|
+ }
|
|
|
+ function W(e) {
|
|
|
+ m(e);
|
|
|
+ const t = [...D('calendar.days')];
|
|
|
+ t.map(e => {
|
|
|
+ e.choosed = !1;
|
|
|
+ }),
|
|
|
+ g({ 'calendar.days': t, 'calendar.selectedDay': [] });
|
|
|
+ }
|
|
|
+ function S(e, t, a, n) {
|
|
|
+ m(n);
|
|
|
+ const { selectedDay: r = [], weekMode: o } = D('calendar') || {},
|
|
|
+ { year: c, month: l, day: b } = r[0] || {};
|
|
|
+ if (+c != +e || +l != +t || +b != +a) {
|
|
|
+ if (o) return (0, s.default)(i).jump({ year: e, month: t, day: a });
|
|
|
+ if (e && t) {
|
|
|
+ if ('number' != typeof +e || 'number' != typeof +t)
|
|
|
+ return h.warn('jump 函数年月日参数必须为数字');
|
|
|
+ const n = u.todayTimestamp();
|
|
|
+ g(
|
|
|
+ {
|
|
|
+ 'calendar.curYear': e,
|
|
|
+ 'calendar.curMonth': t,
|
|
|
+ 'calendar.todayTimestamp': n
|
|
|
+ },
|
|
|
+ () => {
|
|
|
+ if ('number' == typeof +a) return p.renderCalendar(e, t, a);
|
|
|
+ p.renderCalendar(e, t);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ } else p.jumpToToday();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function $(e, t) {
|
|
|
+ m(t), (0, r.default)(i).setTodoLabels(e);
|
|
|
+ }
|
|
|
+ function Y(e, t) {
|
|
|
+ m(t), (0, r.default)(i).deleteTodoLabels(e);
|
|
|
+ }
|
|
|
+ function O(e) {
|
|
|
+ m(e), (0, r.default)(i).clearTodoLabels();
|
|
|
+ }
|
|
|
+ function x(e) {
|
|
|
+ return m(e), (0, r.default)(i).getTodoLabels();
|
|
|
+ }
|
|
|
+ function A(e = [], t) {
|
|
|
+ m(t), (0, n.default)(i).disableDays(e);
|
|
|
+ }
|
|
|
+ function E(e = [], t) {
|
|
|
+ m(t), (0, n.default)(i).enableArea(e);
|
|
|
+ }
|
|
|
+ function I(e = [], t) {
|
|
|
+ m(t), (0, n.default)(i).enableDays(e);
|
|
|
+ }
|
|
|
+ function P(e, t) {
|
|
|
+ m(t), (0, n.default)(i).setSelectedDays(e);
|
|
|
+ }
|
|
|
+ function j(e) {
|
|
|
+ m(e), (0, l.default)(i).getCalendarConfig();
|
|
|
+ }
|
|
|
+ function G(e, t, a) {
|
|
|
+ m(a), (0, l.default)(i).setCalendarConfig(e, t);
|
|
|
+ }
|
|
|
+ function U(e) {
|
|
|
+ return m(e), D('calendar.days', e);
|
|
|
+ }
|
|
|
+ function F(...e) {
|
|
|
+ return new Promise((t, a) => {
|
|
|
+ const n = e[0];
|
|
|
+ if (!e[1])
|
|
|
+ return (0, s.default)(i)
|
|
|
+ .switchWeek(n)
|
|
|
+ .then(t)
|
|
|
+ .catch(a);
|
|
|
+ 'string' == typeof e[1]
|
|
|
+ ? (m(e[1]),
|
|
|
+ (0, s.default)(i)
|
|
|
+ .switchWeek(n, e[2])
|
|
|
+ .then(t)
|
|
|
+ .catch(a))
|
|
|
+ : 'object' == typeof e[1] &&
|
|
|
+ ('string' == typeof e[2] && m(e[1]),
|
|
|
+ (0, s.default)(i)
|
|
|
+ .switchWeek(n, e[1])
|
|
|
+ .then(t)
|
|
|
+ .catch(a));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function N(e, t) {
|
|
|
+ (d.initialTasks.flag = 'process'),
|
|
|
+ ((i = e).config = t),
|
|
|
+ (function(e) {
|
|
|
+ let t = ['日', '一', '二', '三', '四', '五', '六'];
|
|
|
+ 'Mon' === e && (t = ['一', '二', '三', '四', '五', '六', '日']),
|
|
|
+ g({ 'calendar.weeksCh': t });
|
|
|
+ })(t.firstDayOfWeek),
|
|
|
+ (function(e) {
|
|
|
+ if (e && 'string' == typeof e) {
|
|
|
+ const t = e.split('-');
|
|
|
+ if (t.length < 3)
|
|
|
+ return h.warn('配置 jumpTo 格式应为: 2018-4-2 或 2018-04-02');
|
|
|
+ S(+t[0], +t[1], +t[2]);
|
|
|
+ } else e ? S() : ((i.config.noDefault = !0), S());
|
|
|
+ })(t.defaultDay),
|
|
|
+ h.tips(
|
|
|
+ '使用中若遇问题请反馈至 https://github.com/treadpit/wx_calendar/issues ✍️'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ t.calculateNextWeekDays = _;
|
|
|
+ t.default = (e, t = {}) => {
|
|
|
+ if ('process' === d.initialTasks.flag)
|
|
|
+ return d.initialTasks.tasks.push(function() {
|
|
|
+ N(e, t);
|
|
|
+ });
|
|
|
+ N(e, t);
|
|
|
+ };
|
|
|
+ },
|
|
|
+ function(e, t, a) {
|
|
|
+ 'use strict';
|
|
|
+ Object.defineProperty(t, '__esModule', { value: !0 }), (t.default = void 0);
|
|
|
+ var n = o(a(1)),
|
|
|
+ s = o(a(3)),
|
|
|
+ r = a(0);
|
|
|
+ function o(e) {
|
|
|
+ return e && e.__esModule ? e : { default: e };
|
|
|
+ }
|
|
|
+ const c = new r.Logger(),
|
|
|
+ l = new r.GetDate();
|
|
|
+ class b extends n.default {
|
|
|
+ constructor(e) {
|
|
|
+ super(e), (this.Component = e);
|
|
|
+ }
|
|
|
+ enableArea(e = []) {
|
|
|
+ if (2 === e.length) {
|
|
|
+ const { start: t, end: a, startTimestamp: n, endTimestamp: s } = (0,
|
|
|
+ r.convertEnableAreaToTimestamp)(e);
|
|
|
+ if (!t || !a) return;
|
|
|
+ const o = l.thisMonthDays(t[0], t[1]),
|
|
|
+ c = l.thisMonthDays(a[0], a[1]);
|
|
|
+ if (
|
|
|
+ this.__judgeParam({
|
|
|
+ start: t,
|
|
|
+ end: a,
|
|
|
+ startMonthDays: o,
|
|
|
+ endMonthDays: c,
|
|
|
+ startTimestamp: n,
|
|
|
+ endTimestamp: s
|
|
|
+ })
|
|
|
+ ) {
|
|
|
+ let { days: t = [], selectedDay: a = [] } = this.getData(
|
|
|
+ 'calendar'
|
|
|
+ );
|
|
|
+ const r = this.__handleEnableArea(
|
|
|
+ { area: e, days: t, startTimestamp: n, endTimestamp: s },
|
|
|
+ a
|
|
|
+ );
|
|
|
+ this.setData({
|
|
|
+ 'calendar.enableArea': e,
|
|
|
+ 'calendar.days': r.dates,
|
|
|
+ 'calendar.selectedDay': r.selectedDay,
|
|
|
+ 'calendar.enableAreaTimestamp': [n, s]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else
|
|
|
+ c.warn(
|
|
|
+ 'enableArea()参数需为时间范围数组,形如:["2018-8-4" , "2018-8-24"]'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ enableDays(e = []) {
|
|
|
+ const { enableArea: t = [] } = this.getData('calendar');
|
|
|
+ let a = [];
|
|
|
+ a = t.length
|
|
|
+ ? (0, r.delRepeatedEnableDay)(e, t)
|
|
|
+ : (0, r.converEnableDaysToTimestamp)(e);
|
|
|
+ let { days: n = [], selectedDay: s = [] } = this.getData('calendar');
|
|
|
+ const o = this.__handleEnableDays(
|
|
|
+ { days: n, expectEnableDaysTimestamp: a },
|
|
|
+ s
|
|
|
+ );
|
|
|
+ this.setData({
|
|
|
+ 'calendar.days': o.dates,
|
|
|
+ 'calendar.selectedDay': o.selectedDay,
|
|
|
+ 'calendar.enableDays': e,
|
|
|
+ 'calendar.enableDaysTimestamp': a
|
|
|
+ });
|
|
|
+ }
|
|
|
+ setSelectedDays(e) {
|
|
|
+ if (!(0, s.default)(this.Component).getCalendarConfig().multi)
|
|
|
+ return c.warn('单选模式下不能设置多日期选中,请配置 multi');
|
|
|
+ let { days: t } = this.getData('calendar'),
|
|
|
+ a = [];
|
|
|
+ if (e) {
|
|
|
+ if (e && e.length) {
|
|
|
+ const { dates: n, selectedDates: s } = this.__handleSelectedDays(
|
|
|
+ t,
|
|
|
+ a,
|
|
|
+ e
|
|
|
+ );
|
|
|
+ (t = n), (a = s);
|
|
|
+ }
|
|
|
+ } else
|
|
|
+ t.map(e => {
|
|
|
+ (e.choosed = !0), (e.showTodoLabel = !1);
|
|
|
+ }),
|
|
|
+ (a = t);
|
|
|
+ (0, s.default)(this.Component).setCalendarConfig('multi', !0),
|
|
|
+ this.setData({ 'calendar.days': t, 'calendar.selectedDay': a });
|
|
|
+ }
|
|
|
+ disableDays(e) {
|
|
|
+ const { disableDays: t = [], days: a } = this.getData('calendar');
|
|
|
+ if ('[object Array]' !== Object.prototype.toString.call(e))
|
|
|
+ return c.warn('disableDays 参数为数组');
|
|
|
+ let n = [];
|
|
|
+ if (e.length) {
|
|
|
+ const s = (n = (0, r.uniqueArrayByDate)(e.concat(t))).map(
|
|
|
+ e => `${e.year}-${e.month}-${e.day}`
|
|
|
+ );
|
|
|
+ a.forEach(e => {
|
|
|
+ const t = `${e.year}-${e.month}-${e.day}`;
|
|
|
+ s.includes(t) && (e.disable = !0);
|
|
|
+ });
|
|
|
+ } else
|
|
|
+ a.forEach(e => {
|
|
|
+ e.disable = !1;
|
|
|
+ });
|
|
|
+ this.setData({ 'calendar.days': a, 'calendar.disableDays': n });
|
|
|
+ }
|
|
|
+ __judgeParam(e) {
|
|
|
+ const {
|
|
|
+ start: t,
|
|
|
+ end: a,
|
|
|
+ startMonthDays: n,
|
|
|
+ endMonthDays: s,
|
|
|
+ startTimestamp: r,
|
|
|
+ endTimestamp: o
|
|
|
+ } = e;
|
|
|
+ return t[2] > n || t[2] < 1
|
|
|
+ ? (c.warn(
|
|
|
+ 'enableArea() 开始日期错误,指定日期不在当前月份天数范围内'
|
|
|
+ ),
|
|
|
+ !1)
|
|
|
+ : t[1] > 12 || t[1] < 1
|
|
|
+ ? (c.warn('enableArea() 开始日期错误,月份超出1-12月份'), !1)
|
|
|
+ : a[2] > s || a[2] < 1
|
|
|
+ ? (c.warn(
|
|
|
+ 'enableArea() 截止日期错误,指定日期不在当前月份天数范围内'
|
|
|
+ ),
|
|
|
+ !1)
|
|
|
+ : a[1] > 12 || a[1] < 1
|
|
|
+ ? (c.warn('enableArea() 截止日期错误,月份超出1-12月份'), !1)
|
|
|
+ : !(r > o) || (c.warn('enableArea()参数最小日期大于了最大日期'), !1);
|
|
|
+ }
|
|
|
+ __handleEnableArea(e = {}, t = []) {
|
|
|
+ const { area: a, days: n, startTimestamp: s, endTimestamp: o } = e,
|
|
|
+ c = this.getData('calendar.enableDays') || [];
|
|
|
+ let b = [];
|
|
|
+ c.length && (b = (0, r.delRepeatedEnableDay)(c, a));
|
|
|
+ const d = [...n];
|
|
|
+ return (
|
|
|
+ d.forEach(e => {
|
|
|
+ const a = l.newDate(e.year, e.month, e.day).getTime();
|
|
|
+ (+s > +a || +a > +o) && !b.includes(+a)
|
|
|
+ ? ((e.disable = !0),
|
|
|
+ e.choosed &&
|
|
|
+ ((e.choosed = !1),
|
|
|
+ (t = t.filter(
|
|
|
+ t =>
|
|
|
+ `${e.year}-${e.month}-${e.day}` !==
|
|
|
+ `${t.year}-${t.month}-${t.day}`
|
|
|
+ ))))
|
|
|
+ : e.disable && (e.disable = !1);
|
|
|
+ }),
|
|
|
+ { dates: d, selectedDay: t }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ __handleEnableDays(e = {}, t = []) {
|
|
|
+ const { days: a, expectEnableDaysTimestamp: n } = e,
|
|
|
+ { enableAreaTimestamp: s = [] } = this.getData('calendar'),
|
|
|
+ r = [...a];
|
|
|
+ return (
|
|
|
+ r.forEach(e => {
|
|
|
+ const a = l.newDate(e.year, e.month, e.day).getTime();
|
|
|
+ let r = !1;
|
|
|
+ s.length
|
|
|
+ ? (+s[0] > +a || +a > +s[1]) && !n.includes(+a) && (r = !0)
|
|
|
+ : n.includes(+a) || (r = !0),
|
|
|
+ r
|
|
|
+ ? ((e.disable = !0),
|
|
|
+ e.choosed &&
|
|
|
+ ((e.choosed = !1),
|
|
|
+ (t = t.filter(
|
|
|
+ t =>
|
|
|
+ `${e.year}-${e.month}-${e.day}` !==
|
|
|
+ `${t.year}-${t.month}-${t.day}`
|
|
|
+ ))))
|
|
|
+ : (e.disable = !1);
|
|
|
+ }),
|
|
|
+ { dates: r, selectedDay: t }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ __handleSelectedDays(e = [], t = [], a) {
|
|
|
+ const { selectedDay: n, showLabelAlways: s } = this.getData('calendar');
|
|
|
+ t = n && n.length ? (0, r.uniqueArrayByDate)(n.concat(a)) : a;
|
|
|
+ const { year: o, month: c } = e[0],
|
|
|
+ l = [];
|
|
|
+ return (
|
|
|
+ t.forEach(e => {
|
|
|
+ +e.year == +o &&
|
|
|
+ +e.month == +c &&
|
|
|
+ l.push(`${e.year}-${e.month}-${e.day}`);
|
|
|
+ }),
|
|
|
+ [...e].map(e => {
|
|
|
+ l.includes(`${e.year}-${e.month}-${e.day}`) &&
|
|
|
+ ((e.choosed = !0),
|
|
|
+ s && e.showTodoLabel
|
|
|
+ ? (e.showTodoLabel = !0)
|
|
|
+ : (e.showTodoLabel = !1));
|
|
|
+ }),
|
|
|
+ { dates: e, selectedDates: t }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.default = e => new b(e);
|
|
|
+ }
|
|
|
+]);
|
|
|
+
|