|
@@ -49,7 +49,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="评卷方式" width="100">
|
|
<el-table-column label="评卷方式" width="100">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{ scope.row.doubleEnable ? "双评" : "单评" }}
|
|
|
|
|
|
+ {{ scope.row.doubleRate > 0 ? "双评" : "单评" }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="仲裁阈值" width="100">
|
|
<el-table-column label="仲裁阈值" width="100">
|
|
@@ -217,7 +217,7 @@ export default {
|
|
|
|
|
|
const qRangeDict = {};
|
|
const qRangeDict = {};
|
|
this.fillQuestionRanges = this.subjectiveTaskList.map((item, index) => {
|
|
this.fillQuestionRanges = this.subjectiveTaskList.map((item, index) => {
|
|
- if (item.questionType !== 3) return;
|
|
|
|
|
|
+ if (item.questionType !== 4) return;
|
|
|
|
|
|
if (qRangeDict[item.mainNumber]) {
|
|
if (qRangeDict[item.mainNumber]) {
|
|
qRangeDict[item.mainNumber].push(index);
|
|
qRangeDict[item.mainNumber].push(index);
|
|
@@ -229,7 +229,7 @@ export default {
|
|
},
|
|
},
|
|
objectSpanMethod({ rowIndex, columnIndex }) {
|
|
objectSpanMethod({ rowIndex, columnIndex }) {
|
|
// 第四列为评卷员
|
|
// 第四列为评卷员
|
|
- if (columnIndex === 3) {
|
|
|
|
|
|
+ if (columnIndex === 3 || columnIndex === 8) {
|
|
const pos = this.fillQuestionRanges.findIndex((item) =>
|
|
const pos = this.fillQuestionRanges.findIndex((item) =>
|
|
item.includes(rowIndex)
|
|
item.includes(rowIndex)
|
|
);
|
|
);
|
|
@@ -248,10 +248,9 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- toSetMarker(row) {
|
|
|
|
- this.curRow = row;
|
|
|
|
-
|
|
|
|
- if (this.openMergeMarker && row.questionType === 3) {
|
|
|
|
|
|
+ getCurrentQuestions(row) {
|
|
|
|
+ let curRowQuestions = [];
|
|
|
|
+ if (this.openMergeMarker && row.questionType === 4) {
|
|
// 填空题按大题批量处理
|
|
// 填空题按大题批量处理
|
|
const pos = this.subjectiveTaskList.findIndex(
|
|
const pos = this.subjectiveTaskList.findIndex(
|
|
(item) => item.id === row.id
|
|
(item) => item.id === row.id
|
|
@@ -261,7 +260,7 @@ export default {
|
|
item.includes(pos)
|
|
item.includes(pos)
|
|
);
|
|
);
|
|
if (!range) return;
|
|
if (!range) return;
|
|
- this.curRowQuestions = range.map((index) => {
|
|
|
|
|
|
+ curRowQuestions = range.map((index) => {
|
|
const item = this.subjectiveTaskList[index];
|
|
const item = this.subjectiveTaskList[index];
|
|
return {
|
|
return {
|
|
id: item.id,
|
|
id: item.id,
|
|
@@ -271,7 +270,7 @@ export default {
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
// 非填空题按单题处理
|
|
// 非填空题按单题处理
|
|
- this.curRowQuestions = [
|
|
|
|
|
|
+ curRowQuestions = [
|
|
{
|
|
{
|
|
id: row.id,
|
|
id: row.id,
|
|
mainNumber: row.mainNumber,
|
|
mainNumber: row.mainNumber,
|
|
@@ -279,7 +278,11 @@ export default {
|
|
},
|
|
},
|
|
];
|
|
];
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ return curRowQuestions;
|
|
|
|
+ },
|
|
|
|
+ toSetMarker(row) {
|
|
|
|
+ this.curRow = row;
|
|
|
|
+ this.curRowQuestions = this.getCurrentQuestions(row);
|
|
this.$refs.ModifyMarkMarker.open();
|
|
this.$refs.ModifyMarkMarker.open();
|
|
},
|
|
},
|
|
async markMarkerModified(row) {
|
|
async markMarkerModified(row) {
|
|
@@ -299,22 +302,22 @@ export default {
|
|
},
|
|
},
|
|
toSetArea(row) {
|
|
toSetArea(row) {
|
|
this.curRow = row;
|
|
this.curRow = row;
|
|
|
|
+ this.curRowQuestions = this.getCurrentQuestions(row);
|
|
this.$refs.ModifyMarkArea.open();
|
|
this.$refs.ModifyMarkArea.open();
|
|
},
|
|
},
|
|
async areaModified(row) {
|
|
async areaModified(row) {
|
|
- const pos = this.subjectiveTaskList.findIndex(
|
|
|
|
- (item) => item.id === row.id
|
|
|
|
- );
|
|
|
|
- if (pos === -1) return;
|
|
|
|
- const datas = {
|
|
|
|
- questionId: row.id,
|
|
|
|
- pictureConfigs: row.pictureConfigs,
|
|
|
|
- };
|
|
|
|
- await markSubjectiveUpdateMarkArea(datas);
|
|
|
|
- this.updateSubjectiveTaskItem({
|
|
|
|
- id: row.id,
|
|
|
|
|
|
+ await markSubjectiveUpdateMarkArea({
|
|
|
|
+ examId: this.basicInfo.examId,
|
|
|
|
+ paperNumber: this.basicInfo.paperNumber,
|
|
|
|
+ questionIds: this.curRowQuestions.map((item) => item.id),
|
|
pictureConfigs: row.pictureConfigs,
|
|
pictureConfigs: row.pictureConfigs,
|
|
});
|
|
});
|
|
|
|
+ this.curRowQuestions.forEach((item) => {
|
|
|
|
+ this.updateSubjectiveTaskItem({
|
|
|
|
+ id: item.id,
|
|
|
|
+ pictureConfigs: row.pictureConfigs,
|
|
|
|
+ });
|
|
|
|
+ });
|
|
},
|
|
},
|
|
async toDeleteMarker(row, marker) {
|
|
async toDeleteMarker(row, marker) {
|
|
const confirm = await this.$confirm(`确定要删除当前评卷员吗?`, "提示", {
|
|
const confirm = await this.$confirm(`确定要删除当前评卷员吗?`, "提示", {
|
|
@@ -341,14 +344,17 @@ export default {
|
|
);
|
|
);
|
|
if (pos === -1) return;
|
|
if (pos === -1) return;
|
|
const datas = {
|
|
const datas = {
|
|
- id: row.id,
|
|
|
|
|
|
+ questionId: row.id,
|
|
doubleEnable: row.doubleEnable,
|
|
doubleEnable: row.doubleEnable,
|
|
doubleRate: row.doubleRate,
|
|
doubleRate: row.doubleRate,
|
|
arbitrateThreshold: row.arbitrateThreshold,
|
|
arbitrateThreshold: row.arbitrateThreshold,
|
|
scorePolicy: row.scorePolicy,
|
|
scorePolicy: row.scorePolicy,
|
|
};
|
|
};
|
|
await markSubjectiveUpdateMarkType(datas);
|
|
await markSubjectiveUpdateMarkType(datas);
|
|
- this.updateSubjectiveTaskItem(datas);
|
|
|
|
|
|
+ this.updateSubjectiveTaskItem({
|
|
|
|
+ ...datas,
|
|
|
|
+ id: row.id,
|
|
|
|
+ });
|
|
},
|
|
},
|
|
autoParsePictureConfigList(questions) {
|
|
autoParsePictureConfigList(questions) {
|
|
if (!questions.length) return [];
|
|
if (!questions.length) return [];
|
|
@@ -427,10 +433,10 @@ export default {
|
|
const errorList = [];
|
|
const errorList = [];
|
|
this.subjectiveTaskList.forEach((item) => {
|
|
this.subjectiveTaskList.forEach((item) => {
|
|
const errors = [];
|
|
const errors = [];
|
|
- if (item.markers.length) {
|
|
|
|
|
|
+ if (!item.markers?.length) {
|
|
errors.push("评卷员未设置");
|
|
errors.push("评卷员未设置");
|
|
}
|
|
}
|
|
- if (!item.pictureConfigs.length) {
|
|
|
|
|
|
+ if (!item.pictureConfigs?.length) {
|
|
errors.push("评卷区未设置");
|
|
errors.push("评卷区未设置");
|
|
}
|
|
}
|
|
if (errors.length) {
|
|
if (errors.length) {
|