New file |
| | |
| | | export default { |
| | | methods: { |
| | | // 设置月份数据 |
| | | setMonth() { |
| | | // 月初是周几 |
| | | const day = dayjs(this.date).date(1).day() |
| | | const start = day == 0 ? 6 : day - 1 |
| | | |
| | | // 本月天数 |
| | | const days = dayjs(this.date).endOf('month').format('D') |
| | | |
| | | // 上个月天数 |
| | | const prevDays = dayjs(this.date).endOf('month').subtract(1, 'month').format('D') |
| | | |
| | | // 日期数据 |
| | | const arr = [] |
| | | // 清空表格 |
| | | this.month = [] |
| | | |
| | | // 添加上月数据 |
| | | arr.push( |
| | | ...new Array(start).fill(1).map((e, i) => { |
| | | const day = prevDays - start + i + 1 |
| | | |
| | | return { |
| | | value: day, |
| | | disabled: true, |
| | | date: dayjs(this.date).subtract(1, 'month').date(day).format('YYYY-MM-DD') |
| | | } |
| | | }) |
| | | ) |
| | | |
| | | // 添加本月数据 |
| | | arr.push( |
| | | ...new Array(days - 0).fill(1).map((e, i) => { |
| | | const day = i + 1 |
| | | |
| | | return { |
| | | value: day, |
| | | date: dayjs(this.date).date(day).format('YYYY-MM-DD') |
| | | } |
| | | }) |
| | | ) |
| | | |
| | | // 添加下个月 |
| | | arr.push( |
| | | ...new Array(42 - days - start).fill(1).map((e, i) => { |
| | | const day = i + 1 |
| | | |
| | | return { |
| | | value: day, |
| | | disabled: true, |
| | | date: dayjs(this.date).add(1, 'month').date(day).format('YYYY-MM-DD') |
| | | } |
| | | }) |
| | | ) |
| | | |
| | | // 分割数组 |
| | | for (let n = 0; n < arr.length; n += 7) { |
| | | this.month.push( |
| | | arr.slice(n, n + 7).map((e, i) => { |
| | | e.index = i + n |
| | | |
| | | // 自定义信息 |
| | | const custom = this.customList.find((c) => c.date == e.date) |
| | | |
| | | // 农历 |
| | | if (this.lunar) { |
| | | const { |
| | | IDayCn, |
| | | IMonthCn |
| | | } = this.getLunar(e.date) |
| | | e.lunar = IDayCn == '初一' ? IMonthCn : IDayCn |
| | | } |
| | | |
| | | return { |
| | | ...e, |
| | | ...custom |
| | | } |
| | | }) |
| | | ) |
| | | } |
| | | } |
| | | } |
| | | } |