|
@@ -83,7 +83,7 @@ const electiveTeachingSubjectFormItms = ref<FormItm[]>([]) // 选科 教学班
|
|
|
const electiveNeedCount = ref(0) //选科的必选数量
|
|
const electiveNeedCount = ref(0) //选科的必选数量
|
|
|
|
|
|
|
|
// 存储选中的 选科/班级 项目
|
|
// 存储选中的 选科/班级 项目
|
|
|
-const selectedElectives = ref([]) // 选中的选科项
|
|
|
|
|
|
|
+const selectedElectives = ref<string[]>([]) // 选中的选科项
|
|
|
const selectedTeachingClass = ref<Record<string,string[]>>({}) // 选中的教学班 班级项
|
|
const selectedTeachingClass = ref<Record<string,string[]>>({}) // 选中的教学班 班级项
|
|
|
|
|
|
|
|
// 切换科目选中状态
|
|
// 切换科目选中状态
|
|
@@ -92,18 +92,7 @@ const handleSelectChange = (val)=>{
|
|
|
// if(val.length >2){
|
|
// if(val.length >2){
|
|
|
// selectedElectives.value.splice(0, val.length- 2)
|
|
// selectedElectives.value.splice(0, val.length- 2)
|
|
|
// }
|
|
// }
|
|
|
-
|
|
|
|
|
- // 选中状态也需要更新
|
|
|
|
|
- let exitstSelectedKeys = Object.keys(selectedTeachingClass.value)
|
|
|
|
|
- let fixedKeys= noElectiveTeachingSubjectFormItms.value?.map(item=>item.key)
|
|
|
|
|
- let deleteKeys = exitstSelectedKeys.filter(key=>{
|
|
|
|
|
- !(fixedKeys.includes(key) || val.includes(key))
|
|
|
|
|
- })
|
|
|
|
|
- // 删除不在页面上展示的已选中班级项
|
|
|
|
|
- deleteKeys.map(item=>{
|
|
|
|
|
- delete selectedTeachingClass.value[item]
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 动态的 选科 科目班级 配置(展示)项列表
|
|
// 动态的 选科 科目班级 配置(展示)项列表
|
|
|
let finalElectiveTeachingSubjectData = LoadDynamicElectiveSubjectClass(val)
|
|
let finalElectiveTeachingSubjectData = LoadDynamicElectiveSubjectClass(val)
|
|
|
// // 动态变更 教学班选项的信息
|
|
// // 动态变更 教学班选项的信息
|
|
@@ -114,19 +103,23 @@ const handleSelectChange = (val)=>{
|
|
|
|
|
|
|
|
// 点击确认
|
|
// 点击确认
|
|
|
const handle_confirm = async () => {
|
|
const handle_confirm = async () => {
|
|
|
- let evaluationSubjectIds = selectedElectives.value
|
|
|
|
|
-
|
|
|
|
|
- let subjectClassObj = {...selectedTeachingClass.value}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
// 最终提交只保留 展示的项
|
|
// 最终提交只保留 展示的项
|
|
|
- let evaluationClassIds = Object.values(subjectClassObj)
|
|
|
|
|
-
|
|
|
|
|
|
|
+ let exitstSelectedKeys = Object.keys(selectedTeachingClass.value)
|
|
|
|
|
+ let fixedKeys= noElectiveTeachingSubjectFormItms.value?.map(item=>item.key)
|
|
|
|
|
+ let deleteKeys = exitstSelectedKeys.filter(key=>{
|
|
|
|
|
+ return !(fixedKeys.includes(key) || selectedElectives.value.includes(key))
|
|
|
|
|
+ })
|
|
|
|
|
+ // 删除不在页面上展示的已选中班级项
|
|
|
|
|
+ deleteKeys.map(item=>{
|
|
|
|
|
+ delete selectedTeachingClass.value[item]
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
- if(evaluationSubjectIds.length > electiveNeedCount.value){
|
|
|
|
|
|
|
+ // 添加选科校验
|
|
|
|
|
+ let evaluationClassIds = Object.values(selectedTeachingClass.value)
|
|
|
|
|
+ if(selectedElectives.value.length > electiveNeedCount.value){
|
|
|
ElMessage.warning(`选科数量最多为${electiveNeedCount.value}个`)
|
|
ElMessage.warning(`选科数量最多为${electiveNeedCount.value}个`)
|
|
|
return
|
|
return
|
|
|
- }else if(evaluationSubjectIds.length < electiveNeedCount.value){
|
|
|
|
|
|
|
+ }else if(selectedElectives.value.length < electiveNeedCount.value){
|
|
|
ElMessage.warning(`选科数量最少为${electiveNeedCount.value}个`)
|
|
ElMessage.warning(`选科数量最少为${electiveNeedCount.value}个`)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
@@ -134,9 +127,10 @@ const handle_confirm = async () => {
|
|
|
ElMessage.warning('请确保选科班级填写完整')
|
|
ElMessage.warning('请确保选科班级填写完整')
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 保存选科
|
|
|
let transferParams = {
|
|
let transferParams = {
|
|
|
- evaluationSubjectIds,
|
|
|
|
|
|
|
+ evaluationSubjectIds:selectedElectives.value,
|
|
|
evaluationClassIds
|
|
evaluationClassIds
|
|
|
}
|
|
}
|
|
|
let res = undefined
|
|
let res = undefined
|