查看其他同院校其他专业列表
This commit is contained in:
parent
57c6de808d
commit
bb475734f6
|
|
@ -20,11 +20,13 @@ interface MajorDetail {
|
|||
code: string
|
||||
name: string
|
||||
prob: number
|
||||
batch: string
|
||||
score: number // 最低分
|
||||
diff: number // 线差
|
||||
plan: number // 计划数
|
||||
req: string // 选科
|
||||
tuition: string
|
||||
rulesEnrollProbability: string //录取方式
|
||||
}
|
||||
|
||||
// --- 状态数据 ---
|
||||
|
|
@ -256,42 +258,59 @@ async function openMajorModal(school: MajorItem) {
|
|||
selectedMajorCodes.value = []
|
||||
showSaveConfirm.value = false
|
||||
|
||||
// 模拟获取该学校其他专业(更丰富的数据)
|
||||
// TODO: 这里应该调用另外一个 API 获取详情
|
||||
setTimeout(() => {
|
||||
// Mock data for now
|
||||
modalMajors.value = [
|
||||
{
|
||||
code: currentSchool.value!.majorCode,
|
||||
name: currentSchool.value!.majorName,
|
||||
prob: currentSchool.value!.enrollProbability,
|
||||
score: currentSchool.value!.studentScore,
|
||||
try {
|
||||
const res = await getUserMajorList({
|
||||
schoolCode: school.schoolCode,
|
||||
batch: currentBatchTab.value,
|
||||
page: 1,
|
||||
size: 100 // 获取该校所有推荐专业
|
||||
})
|
||||
|
||||
if (res && res.list && res.list.items) {
|
||||
modalMajors.value = res.list.items.map(m => ({
|
||||
code: m.majorCode,
|
||||
name: m.majorName,
|
||||
prob: m.enrollProbability,
|
||||
score: m.studentScore,
|
||||
batch: m.batch != "高职高专" ? "本科": "高职高专",
|
||||
rulesEnrollProbability: m.rulesEnrollProbability,
|
||||
diff: 0,
|
||||
plan: currentSchool.value!.planNum,
|
||||
req: currentSchool.value!.mainSubjects,
|
||||
tuition: currentSchool.value!.tuition,
|
||||
},
|
||||
]
|
||||
plan: m.planNum,
|
||||
req: m.mainSubjects,
|
||||
tuition: m.tuition,
|
||||
enrollmentCode: m.enrollmentCode // 保持后端原始字段以便拼接
|
||||
}))
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取学校专业列表失败:', error)
|
||||
} finally {
|
||||
modalLoading.value = false
|
||||
}, 400)
|
||||
}
|
||||
}
|
||||
|
||||
// 2. 选择/取消专业 (点击行内按钮)
|
||||
function toggleMajor(major: MajorDetail) {
|
||||
const index = selectedMajorCodes.value.indexOf(major.code)
|
||||
function toggleMajor(major: any) {
|
||||
if (!currentSchool.value) return
|
||||
|
||||
// 拼接格式: schoolCode_majorCode_enrollmentCode
|
||||
const fullCode = `${currentSchool.value.schoolCode}_${major.code}_${major.enrollmentCode || currentSchool.value.enrollmentCode}`
|
||||
const index = selectedMajorCodes.value.indexOf(fullCode)
|
||||
|
||||
if (index > -1) {
|
||||
// 已存在,移除
|
||||
selectedMajorCodes.value.splice(index, 1)
|
||||
}
|
||||
else {
|
||||
// 不存在,加入
|
||||
selectedMajorCodes.value.push(major.code)
|
||||
selectedMajorCodes.value.push(fullCode)
|
||||
}
|
||||
}
|
||||
|
||||
// 获取按钮状态显示文本
|
||||
function getVolunteerBtnText(code: string) {
|
||||
const index = selectedMajorCodes.value.indexOf(code)
|
||||
function getVolunteerBtnText(major: any) {
|
||||
if (!currentSchool.value) return '加入志愿单'
|
||||
const fullCode = `${currentSchool.value.schoolCode}_${major.code}_${major.enrollmentCode || currentSchool.value.enrollmentCode}`
|
||||
const index = selectedMajorCodes.value.indexOf(fullCode)
|
||||
if (index > -1) {
|
||||
return `志愿 ${index + 1}`
|
||||
}
|
||||
|
|
@ -1209,10 +1228,10 @@ function deletePlan(planId: string) {
|
|||
录取概率
|
||||
</th>
|
||||
<th class="px-6 py-3 text-center">
|
||||
24年最低分
|
||||
上次最低分
|
||||
</th>
|
||||
<th class="px-6 py-3 text-center">
|
||||
24年线差
|
||||
录取方式
|
||||
</th>
|
||||
<th class="px-6 py-3 text-center">
|
||||
招生计划
|
||||
|
|
@ -1247,7 +1266,7 @@ function deletePlan(planId: string) {
|
|||
</div>
|
||||
<div class="mt-1 flex gap-2 text-xs text-slate-500">
|
||||
<span class="rounded bg-slate-100 px-1.5 py-0.5">{{
|
||||
major.req
|
||||
major.batch
|
||||
}}</span>
|
||||
<span class="rounded bg-slate-100 px-1.5 py-0.5">{{
|
||||
major.tuition
|
||||
|
|
@ -1264,7 +1283,7 @@ function deletePlan(planId: string) {
|
|||
{{ major.score }}
|
||||
</td>
|
||||
<td class="px-6 py-4 text-center text-slate-500">
|
||||
{{ major.diff }}
|
||||
{{ major.rulesEnrollProbability }}
|
||||
</td>
|
||||
<td class="px-6 py-4 text-center text-slate-500">
|
||||
{{ major.plan }}人
|
||||
|
|
@ -1277,12 +1296,12 @@ function deletePlan(planId: string) {
|
|||
<button
|
||||
class="min-w-[90px] rounded-full px-3 py-1.5 text-xs font-medium transition-all duration-200"
|
||||
:class="[
|
||||
selectedMajorCodes.includes(major.code)
|
||||
selectedMajorCodes.includes(`${currentSchool?.schoolCode}_${major.code}_${major.enrollmentCode || currentSchool?.enrollmentCode}`)
|
||||
? 'bg-red-50 text-red-500 border border-red-200 hover:bg-red-100' // 选中状态:红色,显示志愿序号
|
||||
: 'bg-white text-blue-600 border border-blue-500 hover:bg-blue-50', // 未选状态:蓝色
|
||||
]" @click="toggleMajor(major)"
|
||||
>
|
||||
{{ getVolunteerBtnText(major.code) }}
|
||||
{{ getVolunteerBtnText(major) }}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ export interface UserMajorListRequest {
|
|||
batch?: string
|
||||
batch2?: string
|
||||
probability?: string
|
||||
schoolCode?: string
|
||||
}
|
||||
|
||||
export interface HistoryMajorEnroll {
|
||||
|
|
|
|||
Loading…
Reference in New Issue