diff --git a/frontend/src/views/subjectMajor/major/index.vue b/frontend/src/views/subjectMajor/major/index.vue index 3e99bfcc..2d16e0a4 100644 --- a/frontend/src/views/subjectMajor/major/index.vue +++ b/frontend/src/views/subjectMajor/major/index.vue @@ -296,7 +296,21 @@ - + + + @@ -450,6 +464,7 @@ import { importMajor } from "@/api/subjectMajor/major" import { listDiscipline } from '@/api/subjectMajor/discipline' +import { listTraining } from '@/api/teachBusiness/training' import { getDicts } from '@/api/system/dict/data' import { optionselect } from '@/api/system/dict/type' @@ -496,6 +511,8 @@ export default { systemModeOptions: [], disciplineOptions: [], disciplineOptionsLoading: false, + trainingOptions: [], + trainingOptionsLoading: false, formRules: { zydh: [{ required: true, message: "专业代号不能为空", trigger: "blur" }], zymc: [{ required: true, message: "专业名称不能为空", trigger: "blur" }], @@ -537,6 +554,7 @@ export default { created() { this.loadMajorDictionaries() this.loadDisciplineOptions() + this.loadTrainingOptions() this.fetchList() }, methods: { @@ -592,9 +610,23 @@ export default { } }, + /** 加载人才培养方案列表,作为人培编号下拉选项(过滤停用)。 */ + async loadTrainingOptions() { + this.trainingOptionsLoading = true + try { + const response = await listTraining({ pageNum: 1, pageSize: 500 }) + const records = (response.data && response.data.records) || [] + this.trainingOptions = records.filter(item => !item.ty) + } catch (error) { + this.trainingOptions = [] + } finally { + this.trainingOptionsLoading = false + } + }, + formatDisciplineLabel(item) { const name = item.zymc || item.gfmc || item.zydm || item.bsh - const identifiers = [item.zydm, item.bsh].filter(Boolean).join(' / ') + const identifiers = [item.zydm].filter(Boolean).join(' / ') return identifiers && identifiers !== name ? `${name}(${identifiers})` : name },