diff --git a/frontend/src/views/teachOffice/shiftSemester/index.vue b/frontend/src/views/teachOffice/shiftSemester/index.vue
index a81e18c2..1b38e974 100644
--- a/frontend/src/views/teachOffice/shiftSemester/index.vue
+++ b/frontend/src/views/teachOffice/shiftSemester/index.vue
@@ -24,7 +24,7 @@
style="width: 140px"
@change="handleQuery"
>
-
+
@@ -368,6 +368,8 @@ export default {
// ==================== 下拉数据 ====================
/** 年度下拉(来自 /semester/all) */
yearOptions: [],
+ /** 检索年度下拉:校历学期 ∪ 班次学期实际年度(如 2033 这类非校历年度也要能筛) */
+ searchYearOptions: [],
/** 教学任务下拉({ bh, rwmc }) */
taskOptions: [],
/** 全部班次学期(用于班历复制目标选择) */
@@ -495,12 +497,17 @@ export default {
/* ==================== 下拉数据加载 ==================== */
loadYearOptions() {
- listAllSemester().then(res => {
- const list = (res && res.data) || []
- const years = list.map(x => this.yearFromNd(x.nd)).filter(v => v)
- this.yearOptions = [...new Set(years)].sort((a, b) => Number(a) - Number(b))
- }).catch(() => {
- this.yearOptions = []
+ Promise.all([
+ listAllSemester().catch(() => null),
+ allSemester().catch(() => null)
+ ]).then(([schoolRes, classRes]) => {
+ const schoolList = (schoolRes && schoolRes.data) || []
+ const classList = (classRes && (classRes.data || classRes.rows)) || []
+ const schoolYears = schoolList.map(x => this.yearFromNd(x.nd)).filter(v => v)
+ const classYears = classList.map(x => this.yearFromNd(x.nd)).filter(v => v)
+ this.yearOptions = [...new Set(schoolYears)].sort((a, b) => Number(a) - Number(b))
+ this.searchYearOptions = [...new Set([...schoolYears, ...classYears])]
+ .sort((a, b) => Number(a) - Number(b))
})
},
loadTaskOptions() {