| | |
| | | |
| | | // 查询表单 |
| | | const queryForm = reactive({ |
| | | meetingDate: dayjs().format('YYYY-MM-DD') |
| | | // 默认查本周一(周例会日期),避免一进页面就是空看板 |
| | | meetingDate: dayjs().day(1).format('YYYY-MM-DD') |
| | | }) |
| | | let loading = ref(false) |
| | | // 时间段(以半小时为间隔) |
| | |
| | | if (endIdx === -1) { |
| | | endIdx = timeSlots.value.length |
| | | } |
| | | console.log('endIdx111', endIdx) |
| | | if (startIdx !== -1 && endIdx !== -1) { |
| | | // 往后延伸一格,让会议格子覆盖到结束时间列上 |
| | | const displayEndIdx = Math.min(endIdx + 1, timeSlots.value.length) |
| | | if (startIdx !== -1) { |
| | | // 标记被占用的时间段 |
| | | for (let i = startIdx; i < endIdx; i++) { |
| | | for (let i = startIdx; i < displayEndIdx; i++) { |
| | | occupiedSlots.add(timeSlots.value[i].value) |
| | | } |
| | | |
| | |
| | | cells.push({ |
| | | type: 'meeting', |
| | | meeting: meeting, |
| | | span: endIdx - startIdx, |
| | | span: displayEndIdx - startIdx, |
| | | startTime: meeting.startTime, |
| | | endTime: meeting.endTime |
| | | }) |
| | |
| | | // 查询按钮操作 |
| | | const handleSearch = async () => { |
| | | loading.value = true |
| | | let resp = await getMeetingUseList({...queryForm}) |
| | | // 后端按 date 字段过滤,必须把选择器上的 meetingDate 传成 date |
| | | let resp = await getMeetingUseList({ date: queryForm.meetingDate }) |
| | | roomUsage.value = resp.data |
| | | loading.value = false |
| | | } |
| | | |
| | | // 重置搜索表单 |
| | | const resetSearch = () => { |
| | | queryForm.date = dayjs().format('YYYY-MM-DD') |
| | | queryForm.meetingDate = dayjs().day(1).format('YYYY-MM-DD') |
| | | handleSearch() |
| | | } |
| | | |
| | | // 页面加载时获取数据 |
| | | onMounted(() => { |
| | | // 初始化时间槽 |
| | | initTimeSlots() |
| | | |
| | | // 默认查询今天的数据 |
| | | const today = new Date() |
| | | queryForm.date = today.toISOString().split('T')[0] |
| | | // 默认查询本周一的会议室使用情况 |
| | | handleSearch() |
| | | }) |
| | | </script> |