From 26fe8ea3348d6d33ceb2ab5417c69487c4f16462 Mon Sep 17 00:00:00 2001 From: zhaichao Date: Sun, 23 Aug 2026 20:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=B2=E7=AA=81=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/teachBusiness/timetableConflict.js | 45 +++ .../teachBusiness/timetableConflict/index.vue | 301 ++++++++++++------ 2 files changed, 247 insertions(+), 99 deletions(-) create mode 100644 frontend/src/api/teachBusiness/timetableConflict.js diff --git a/frontend/src/api/teachBusiness/timetableConflict.js b/frontend/src/api/teachBusiness/timetableConflict.js new file mode 100644 index 000000000..8cb81d48a --- /dev/null +++ b/frontend/src/api/teachBusiness/timetableConflict.js @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +// 课表冲突检查:单维度检查(POST /timetable-conflict/check) +// body: { nd 年度(必填), dimensionCode 维度编码(必填), writeToDb?(落库), jcpch?(批次号) } +// 返回 TimetableConflictCardVO { dimensionCode, title, description, checked, conflictCount } +export function checkConflict(data) { + return request({ + url: '/timetable-conflict/check', + method: 'post', + data + }) +} + +// 课表冲突检查:执行全部维度检查(POST /timetable-conflict/check-all) +// body: { nd 年度(必填), writeToDb? } +// 返回 TimetableConflictSummaryVO { nd, cards[], totalConflictCount, fullyChecked } +export function checkAllConflict(data) { + return request({ + url: '/timetable-conflict/check-all', + method: 'post', + data + }) +} + +// 课表冲突检查:重置检查结果(POST /timetable-conflict/reset) +// body: { nd 年度(必填), clearDb? 是否同时清空落库表 } +// 返回 TimetableConflictSummaryVO(所有卡片未检查状态) +export function resetConflict(data) { + return request({ + url: '/timetable-conflict/reset', + method: 'post', + data + }) +} + +// 课表冲突检查:分页查询冲突明细(GET /timetable-conflict/details) +// params: { nd 年度(必填), dimensionCode? 维度编码, pageNum?, pageSize?, useDb?, jcpch? } +// 返回 PageResult +export function getConflictDetails(params) { + return request({ + url: '/timetable-conflict/details', + method: 'get', + params + }) +} diff --git a/frontend/src/views/teachBusiness/timetableConflict/index.vue b/frontend/src/views/teachBusiness/timetableConflict/index.vue index 92074df5d..c348dfbbb 100644 --- a/frontend/src/views/teachBusiness/timetableConflict/index.vue +++ b/frontend/src/views/teachBusiness/timetableConflict/index.vue @@ -5,9 +5,16 @@
教学资源冲突检查
-
2026年秋季学期教学资源冲突检查,可单独检查或执行全部检查
+
当前检查年度:{{ nd ? nd + ' 年' : '未选择' }},可单独检查或执行全部检查
+ + + + + + + 重置 执行全部检查
@@ -20,7 +27,7 @@ :key="item.key" class="check-item-card" :class="{ active: activeKey === item.key }" - @click="activeKey = item.checked ? item.key : activeKey" + @click="selectCard(item)" >
{{ item.label }} @@ -45,145 +52,228 @@ 冲突明细 — {{ activeLabel }}
- 共 {{ activeDetails.length }} 条记录 + 共 {{ detailTotal }} 条记录
- - - - - - - - - - - - - - - +