diff --git a/src/views/task/components/HisTory/index.vue b/src/views/task/components/HisTory/index.vue index c9f9f2a..4b8a4a9 100644 --- a/src/views/task/components/HisTory/index.vue +++ b/src/views/task/components/HisTory/index.vue @@ -8,20 +8,118 @@ import { } from '@ant-design/icons-vue' const data = ref(dayjs()) - const datesData = ref([]) const month = ref(data.value.month() + 1) - +const formerly = ref(false) // 切换月 将来月不能切换 function changeMonth(type: number) { if (type > 0) { const tempDate = dayjs(data.value).add(1, 'month') + if (tempDate.isAfter(dayjs(), 'month')) { 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 } else { + datesData.value = [] + formerly.value = true data.value = dayjs(data.value).subtract(1, 'month') } 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月') return newVal } + // 自定义日期样式 1已领取 2 过期 3 未领取 将来的直接 return const getCellTypeClass = function (value: { $D: string | number }) { - const data = datesData.value[value.$D] - - if (!data) { + const getData = datesData.value[value.$D] + if (!getData && !formerly.value) { return 'future-date' } - - switch (data.type) { + if (formerly.value) { + return 'past-date' + } + switch (getData.type) { case 1: return 'current-date' case 2: