| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <!-- 页面标题 --> |
| | | <div class="page-header"> |
| | | <h2>会议室使用查询</h2> |
| | | </div> |
| | | |
| | | <!-- 查询条件 --> |
| | | <el-card class="search-card"> |
| | | <el-form :model="queryForm" label-width="80px" inline> |
| | | <div> |
| | | <el-form :model="queryForm" label-width="80px" inline> |
| | | <el-form-item label="查询日期"> |
| | | <el-date-picker |
| | | v-model="queryForm.meetingDate" |
| | |
| | | <el-button @click="resetSearch">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <!-- 会议室使用情况 --> |
| | | <el-card class="table-container" :loading="loading"> |
| | |
| | | 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 |
| | | }) |