|
@@ -4,12 +4,21 @@
|
|
|
<div class="tw-flex tw-gap-1">
|
|
|
<mark-history :should-reload="shouldReloadHistory" />
|
|
|
<mark-body @error="removeBrokenTask" />
|
|
|
- <mark-board-track v-if="showMarkBoardTrack" @submit="saveTaskToServer" />
|
|
|
+ <mark-board-track
|
|
|
+ v-if="showMarkBoardTrack"
|
|
|
+ @submit="saveTaskToServer"
|
|
|
+ @allZeroSubmit="allZeroSubmit"
|
|
|
+ />
|
|
|
<mark-board-key-board
|
|
|
v-if="showMarkBoardKeyBoard"
|
|
|
@submit="saveTaskToServer"
|
|
|
+ @allZeroSubmit="allZeroSubmit"
|
|
|
+ />
|
|
|
+ <mark-board-mouse
|
|
|
+ v-if="showMarkBoardMouse"
|
|
|
+ @submit="saveTaskToServer"
|
|
|
+ @allZeroSubmit="allZeroSubmit"
|
|
|
/>
|
|
|
- <mark-board-mouse v-if="showMarkBoardMouse" @submit="saveTaskToServer" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -180,6 +189,17 @@ export default defineComponent({
|
|
|
shouldReloadHistory.value = Date.now();
|
|
|
};
|
|
|
|
|
|
+ const allZeroSubmit = async () => {
|
|
|
+ const markResult = findCurrentTaskMarkResult();
|
|
|
+ if (!markResult) return;
|
|
|
+
|
|
|
+ markResult.markerScore = 0;
|
|
|
+ const ss = new Array(store.currentTask?.questionList.length);
|
|
|
+ markResult.scoreList = ss.fill(0);
|
|
|
+ markResult.trackList = [];
|
|
|
+
|
|
|
+ await saveTaskToServer();
|
|
|
+ };
|
|
|
const saveTaskToServer = async () => {
|
|
|
const markResult = findCurrentTaskMarkResult();
|
|
|
if (!markResult) return;
|
|
@@ -241,6 +261,7 @@ export default defineComponent({
|
|
|
return {
|
|
|
store,
|
|
|
updateTask,
|
|
|
+ allZeroSubmit,
|
|
|
saveTaskToServer,
|
|
|
showMarkBoardTrack,
|
|
|
showMarkBoardKeyBoard,
|