|
@@ -59,14 +59,14 @@ export default function useMarkSubmit() {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- const problemQs = markStore.currentTask.questionList
|
|
|
- .filter((q) => q.problem)
|
|
|
+ const allowNullQs = markStore.currentTask.questionList
|
|
|
+ .filter((q) => q.problem || !q.selfMark)
|
|
|
.map((q, i) => i);
|
|
|
const questions = markStore.currentTask.questionList.filter(
|
|
|
- (q) => !q.problem
|
|
|
+ (q) => !q.problem && q.selfMark
|
|
|
);
|
|
|
const scoreList = markResult.scoreList.filter(
|
|
|
- (_, i) => !problemQs.includes(i)
|
|
|
+ (_, i) => !allowNullQs.includes(i)
|
|
|
);
|
|
|
if (
|
|
|
scoreList.length !== questions.length ||
|
|
@@ -110,18 +110,26 @@ export default function useMarkSubmit() {
|
|
|
function getSaveTaskResult() {
|
|
|
const datas = cloneDeep(markStore.currentTask.markResult);
|
|
|
datas.spent = Date.now() - markStore.currentTask.__markStartTime;
|
|
|
- datas.questionList = datas.questionList.map((q) => {
|
|
|
- q.markerTrackList = datas.markerTrackList.filter(
|
|
|
- (t) => t.mainNumber === q.mainNumber && t.subNumber === q.subNumber
|
|
|
- );
|
|
|
- q.markerTagList = datas.markerTagList.filter(
|
|
|
- (t) => t.mainNumber === q.mainNumber && t.subNumber === q.subNumber
|
|
|
- );
|
|
|
- q.markerScore = q.markerTrackList.reduce((acc, t) => {
|
|
|
- return acc + (t.score || 0);
|
|
|
- }, 0);
|
|
|
- return q;
|
|
|
- }) as Question[];
|
|
|
+ const allowNullQs = datas.questionList
|
|
|
+ .filter((q) => !q.selfMark)
|
|
|
+ .map((q, i) => i);
|
|
|
+ datas.scoreList = datas.scoreList.filter(
|
|
|
+ (_, i) => !allowNullQs.includes(i)
|
|
|
+ );
|
|
|
+ datas.questionList = datas.questionList
|
|
|
+ .filter((q) => q.selfMark)
|
|
|
+ .map((q) => {
|
|
|
+ q.markerTrackList = datas.markerTrackList.filter(
|
|
|
+ (t) => t.mainNumber === q.mainNumber && t.subNumber === q.subNumber
|
|
|
+ );
|
|
|
+ q.markerTagList = datas.markerTagList.filter(
|
|
|
+ (t) => t.mainNumber === q.mainNumber && t.subNumber === q.subNumber
|
|
|
+ );
|
|
|
+ q.markerScore = q.markerTrackList.reduce((acc, t) => {
|
|
|
+ return acc + (t.score || 0);
|
|
|
+ }, 0);
|
|
|
+ return q;
|
|
|
+ }) as Question[];
|
|
|
|
|
|
datas.markerTrackList = [];
|
|
|
datas.markerTagList = [];
|