|
@@ -10,6 +10,7 @@
|
|
|
:max-date="maxDate"
|
|
|
:formatter="formatter"
|
|
|
@confirm="jumpDetail"
|
|
|
+ :show-subtitle="false"
|
|
|
/>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -24,17 +25,29 @@ const minDate = moment().subtract(2, "months").startOf("month").toDate();
|
|
|
const maxDate = moment().toDate();
|
|
|
|
|
|
const logObj = ref<any>({});
|
|
|
+const dayOfWorkObj = ref<any>({});
|
|
|
onMounted(async () => {
|
|
|
const logList = await http.getLogList("daily");
|
|
|
+
|
|
|
logList.map((item: any) => {
|
|
|
const date = item.reportStartDate;
|
|
|
logObj.value[date] = item;
|
|
|
});
|
|
|
+ const workDayList = await http.getWorkDayList(
|
|
|
+ moment(minDate).format("YYYY-MM-DD HH:mm:ss"),
|
|
|
+ moment(maxDate).format("YYYY-MM-DD HH:mm:ss")
|
|
|
+ );
|
|
|
+ workDayList.map((item: any) => {
|
|
|
+ const date = moment(item.dateDay).format("YYYY-MM-DD");
|
|
|
+ dayOfWorkObj.value[date] = {
|
|
|
+ holidayRemark: item.holidayRemark,
|
|
|
+ isWorkday: item.isworkday === 1 ? true : false,
|
|
|
+ };
|
|
|
+ });
|
|
|
});
|
|
|
// 格式化日历
|
|
|
const formatter = (day: any) => {
|
|
|
const date = moment(day.date).format("YYYY-MM-DD");
|
|
|
- const dayOfWeek = moment(day.date).day(); // 获取当前日期是星期几,0代表星期日,6代表星期六
|
|
|
|
|
|
if (moment(day.date).isAfter(moment())) {
|
|
|
// 如果未到,不做处理
|
|
@@ -42,13 +55,16 @@ const formatter = (day: any) => {
|
|
|
} else if (logObj.value[date]) {
|
|
|
day.topInfo = "已填";
|
|
|
day.className = "filled-in";
|
|
|
- } else if ((dayOfWeek === 0 || dayOfWeek === 6) && !logObj.value[date]) {
|
|
|
- // 如果是周六或周日且未填
|
|
|
+ } else if (!dayOfWorkObj.value[date]?.isWorkday && !logObj.value[date]) {
|
|
|
+ // 如果是休息日且未填
|
|
|
day.topInfo = "";
|
|
|
} else {
|
|
|
day.topInfo = "未填";
|
|
|
day.className = "not-fill";
|
|
|
}
|
|
|
+ if (dayOfWorkObj.value[date]?.holidayRemark) {
|
|
|
+ day.bottomInfo = dayOfWorkObj.value[date].holidayRemark;
|
|
|
+ }
|
|
|
return day;
|
|
|
};
|
|
|
// 跳转到日志填写或详情页面
|