|
@@ -8,7 +8,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="content_right">
|
|
<div class="content_right">
|
|
|
<el-button class="button_border" @click="OpenAddGradeForm">新增年级</el-button>
|
|
<el-button class="button_border" @click="OpenAddGradeForm">新增年级</el-button>
|
|
|
- <el-button class="button_background">完成</el-button>
|
|
|
|
|
|
|
+ <el-button class="button_background" @click="SaveEvaluationData">完成</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -27,13 +27,13 @@
|
|
|
<div class="grade_title">
|
|
<div class="grade_title">
|
|
|
{{ gradeOpt.gradeName }} (共{{ gradeOpt.subjectCount }}科)
|
|
{{ gradeOpt.gradeName }} (共{{ gradeOpt.subjectCount }}科)
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
<el-checkbox v-model="gradeOpt.selectionStatus" >选科</el-checkbox>
|
|
<el-checkbox v-model="gradeOpt.selectionStatus" >选科</el-checkbox>
|
|
|
-
|
|
|
|
|
<div class="selection_params" v-if="gradeOpt.selectionStatus">
|
|
<div class="selection_params" v-if="gradeOpt.selectionStatus">
|
|
|
<span class="param_text">一共 </span>
|
|
<span class="param_text">一共 </span>
|
|
|
- <el-input type="number" v-model="gradeOpt.selectionStatus"></el-input>
|
|
|
|
|
|
|
+ <el-input type="number" :max="5" :min="1" v-model="gradeOpt.selectionCount"></el-input>
|
|
|
<span class="param_text"> 科,需要选择 </span>
|
|
<span class="param_text"> 科,需要选择 </span>
|
|
|
- <el-input type="number" v-model="gradeOpt.needCount"></el-input>
|
|
|
|
|
|
|
+ <el-input type="number" :max="5" :min="1" v-model="gradeOpt.needCount"></el-input>
|
|
|
<span class="param_text"> 科</span>
|
|
<span class="param_text"> 科</span>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -78,6 +78,7 @@
|
|
|
|
|
|
|
|
<!-- 选科 -->
|
|
<!-- 选科 -->
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
|
|
+ v-if="gradeOpt.selectionStatus"
|
|
|
label="选科:"
|
|
label="选科:"
|
|
|
prop="selectSubjectData"
|
|
prop="selectSubjectData"
|
|
|
:rules="[]"
|
|
:rules="[]"
|
|
@@ -221,6 +222,7 @@ import {
|
|
|
addGradeSubjectApi,addGradeSelectedSubjectApi,
|
|
addGradeSubjectApi,addGradeSelectedSubjectApi,
|
|
|
deleteGradeSubjectApi,deleteGradeSelectedSubjectApi,
|
|
deleteGradeSubjectApi,deleteGradeSelectedSubjectApi,
|
|
|
addCustomSubjectApi,editCustomSubjectApi,editGradeApi,
|
|
addCustomSubjectApi,editCustomSubjectApi,editGradeApi,
|
|
|
|
|
+ deleteGradeApi,
|
|
|
getGradeListApi,getSubjectDataApi,getSubjectSelectedDataApi,
|
|
getGradeListApi,getSubjectDataApi,getSubjectSelectedDataApi,
|
|
|
saveEvaluationDataDetailApi
|
|
saveEvaluationDataDetailApi
|
|
|
} from '@/api/step1Component.ts'
|
|
} from '@/api/step1Component.ts'
|
|
@@ -268,7 +270,15 @@ const GetEvaluationDataDetail = async () => {
|
|
|
let evaluationId = route.query.id;
|
|
let evaluationId = route.query.id;
|
|
|
let res = await getEvaluationDataDetailApi(evaluationId);
|
|
let res = await getEvaluationDataDetailApi(evaluationId);
|
|
|
if(res?.code === 200){
|
|
if(res?.code === 200){
|
|
|
- gradeOptions.value = res.data;
|
|
|
|
|
|
|
+ gradeOptions.value = res.data.map(item=>{
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...item,
|
|
|
|
|
+ // 寻找默认选中的班级 selectStatus 1 选中 0 未选中
|
|
|
|
|
+ selectedClassData:item.classData?.filter(classItm=>{
|
|
|
|
|
+ return Number(classItm?.selectStatus) === 1
|
|
|
|
|
+ }).map(aim=>aim.id)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
defaultGradeFormData.value.grade = res?.data?.map(item=>{
|
|
defaultGradeFormData.value.grade = res?.data?.map(item=>{
|
|
|
return item.id
|
|
return item.id
|
|
|
}) || []
|
|
}) || []
|
|
@@ -439,7 +449,7 @@ const UpdataCheckedSubject = async (params)=>{
|
|
|
let addOrUpdateParams = {
|
|
let addOrUpdateParams = {
|
|
|
evaluationId:route.query.id,
|
|
evaluationId:route.query.id,
|
|
|
evaluationGradeId: currentOperationRow.value.id,
|
|
evaluationGradeId: currentOperationRow.value.id,
|
|
|
- selectionStatus: currentOperationRow.value.selectionStatus,
|
|
|
|
|
|
|
+ selectionStatus: currentOperationRow.value.selectionStatus ? 1 : 0,
|
|
|
selectionCount:currentOperationRow.value.selectionCount,
|
|
selectionCount:currentOperationRow.value.selectionCount,
|
|
|
needCount:currentOperationRow.value.needCount,
|
|
needCount:currentOperationRow.value.needCount,
|
|
|
subjectIds: selectedSubjectIds
|
|
subjectIds: selectedSubjectIds
|
|
@@ -498,7 +508,6 @@ const handleSelectAllClassOrNot = (selectedValue: any[], gradeOption: any) => {
|
|
|
|
|
|
|
|
if(selectedValue){
|
|
if(selectedValue){
|
|
|
// 全选
|
|
// 全选
|
|
|
- // 这个没起作用
|
|
|
|
|
selectedClassData = gradeOption.classData.map(item => item.id);
|
|
selectedClassData = gradeOption.classData.map(item => item.id);
|
|
|
}else{
|
|
}else{
|
|
|
// 取消全选
|
|
// 取消全选
|
|
@@ -510,7 +519,8 @@ const handleSelectAllClassOrNot = (selectedValue: any[], gradeOption: any) => {
|
|
|
if(item.id === gradeOption.id){
|
|
if(item.id === gradeOption.id){
|
|
|
return {
|
|
return {
|
|
|
...item,
|
|
...item,
|
|
|
- selectedClassData
|
|
|
|
|
|
|
+ selectedClassData,
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return item;
|
|
return item;
|
|
@@ -532,7 +542,7 @@ const HandleDeleteConfirm = async () => {
|
|
|
let res = undefined
|
|
let res = undefined
|
|
|
switch(currentOpenType.value){
|
|
switch(currentOpenType.value){
|
|
|
case 'grade': // 年级删除
|
|
case 'grade': // 年级删除
|
|
|
- //暂无接口
|
|
|
|
|
|
|
+ res = await deleteGradeApi(currentDeleteRow.value?.id)
|
|
|
break
|
|
break
|
|
|
case 'subject': // 科目删除
|
|
case 'subject': // 科目删除
|
|
|
res = await deleteGradeSubjectApi(currentDeleteRow.value?.id)
|
|
res = await deleteGradeSubjectApi(currentDeleteRow.value?.id)
|
|
@@ -570,6 +580,39 @@ const HandleDeleteOpen = (row: any,type) => {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+// 7. 保存评价数据
|
|
|
|
|
+const SaveEvaluationData = async ()=>{
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ evaluationId: route.query.id,
|
|
|
|
|
+ classMasterStatus: isHeadTeacherInvolved.value ? 1 : 0,
|
|
|
|
|
+ gradeData: gradeOptions.value.map(item=>{
|
|
|
|
|
+ if(item.selectionStatus){
|
|
|
|
|
+ return {
|
|
|
|
|
+ id: item.id,
|
|
|
|
|
+ gradeName:item.gradeName,
|
|
|
|
|
+ selectionStatus: item.selectionStatus ? 1 : 0,
|
|
|
|
|
+ selectionCount: item.selectionCount,
|
|
|
|
|
+ needCount:item.needCount,
|
|
|
|
|
+ classIds: item.selectedClassData
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return {
|
|
|
|
|
+ id: item.id,
|
|
|
|
|
+ gradeName:item.gradeName,
|
|
|
|
|
+ selectionStatus: item.selectionStatus ? 1 : 0,
|
|
|
|
|
+ classIds: item.selectedClassData
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ let res = await saveEvaluationDataDetailApi(params)
|
|
|
|
|
+ if(res?.code == 200){
|
|
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
|
|
+ await GetEvaluationDataDetail()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
onMounted(async() => {
|
|
onMounted(async() => {
|
|
|
console.log('组件挂载完成');
|
|
console.log('组件挂载完成');
|