mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 04:08:43 +08:00 
			
		
		
		
	
		
			
	
	
		
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    })
							 | 
						||
| 
								 | 
							
								                )
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |