|
|
@ -8,20 +8,118 @@ import { |
|
|
|
} from '@ant-design/icons-vue' |
|
|
|
} from '@ant-design/icons-vue' |
|
|
|
|
|
|
|
|
|
|
|
const data = ref(dayjs()) |
|
|
|
const data = ref(dayjs()) |
|
|
|
|
|
|
|
|
|
|
|
const datesData = ref<any>([]) |
|
|
|
const datesData = ref<any>([]) |
|
|
|
const month = ref(data.value.month() + 1) |
|
|
|
const month = ref(data.value.month() + 1) |
|
|
|
|
|
|
|
const formerly = ref(false) |
|
|
|
// 切换月 将来月不能切换 |
|
|
|
// 切换月 将来月不能切换 |
|
|
|
function changeMonth(type: number) { |
|
|
|
function changeMonth(type: number) { |
|
|
|
if (type > 0) { |
|
|
|
if (type > 0) { |
|
|
|
const tempDate = dayjs(data.value).add(1, 'month') |
|
|
|
const tempDate = dayjs(data.value).add(1, 'month') |
|
|
|
|
|
|
|
|
|
|
|
if (tempDate.isAfter(dayjs(), 'month')) { |
|
|
|
if (tempDate.isAfter(dayjs(), 'month')) { |
|
|
|
return |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (tempDate.isSame(dayjs(), 'month')) { |
|
|
|
|
|
|
|
formerly.value = false |
|
|
|
|
|
|
|
datesData.value = [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 10, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 10, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 10, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 10, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 1, |
|
|
|
|
|
|
|
type: 2, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
num: 10, |
|
|
|
|
|
|
|
type: 3, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
} |
|
|
|
data.value = tempDate |
|
|
|
data.value = tempDate |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
|
|
|
|
datesData.value = [] |
|
|
|
|
|
|
|
formerly.value = true |
|
|
|
data.value = dayjs(data.value).subtract(1, 'month') |
|
|
|
data.value = dayjs(data.value).subtract(1, 'month') |
|
|
|
} |
|
|
|
} |
|
|
|
month.value = data.value.month() + 1 |
|
|
|
month.value = data.value.month() + 1 |
|
|
@ -31,15 +129,17 @@ function format(val: string | number | dayjs.Dayjs | Date | null | undefined) { |
|
|
|
const newVal = dayjs(val).format('YYYY年MM月') |
|
|
|
const newVal = dayjs(val).format('YYYY年MM月') |
|
|
|
return newVal |
|
|
|
return newVal |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 自定义日期样式 1已领取 2 过期 3 未领取 将来的直接 return |
|
|
|
// 自定义日期样式 1已领取 2 过期 3 未领取 将来的直接 return |
|
|
|
const getCellTypeClass = function (value: { $D: string | number }) { |
|
|
|
const getCellTypeClass = function (value: { $D: string | number }) { |
|
|
|
const data = datesData.value[value.$D] |
|
|
|
const getData = datesData.value[value.$D] |
|
|
|
|
|
|
|
if (!getData && !formerly.value) { |
|
|
|
if (!data) { |
|
|
|
|
|
|
|
return 'future-date' |
|
|
|
return 'future-date' |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (formerly.value) { |
|
|
|
switch (data.type) { |
|
|
|
return 'past-date' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
switch (getData.type) { |
|
|
|
case 1: |
|
|
|
case 1: |
|
|
|
return 'current-date' |
|
|
|
return 'current-date' |
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|