|
@@ -1,22 +1,36 @@
|
|
|
<template>
|
|
|
- <div v-if="store.currentTask" class="mark-board-track-container">
|
|
|
- <div>
|
|
|
- <h1 class="tw-text-3xl tw-text-center">试卷总分:{{ markerScore }}</h1>
|
|
|
+ <div
|
|
|
+ v-if="store.currentTask"
|
|
|
+ class="mark-board-track-container"
|
|
|
+ :class="[store.setting.uiSetting['score.board.collapse'] ? 'hide' : 'show']"
|
|
|
+ >
|
|
|
+ <div class="top-container tw-flex-shrink-0 tw-flex tw-items-center">
|
|
|
+ <div class="tw-flex tw-flex-col tw-flex-1 tw-text-center">
|
|
|
+ <div class="tw-flex tw-justify-center">
|
|
|
+ <img
|
|
|
+ src="../../mark/images/总分.png"
|
|
|
+ style="width: 13px; height: 16px"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div>试卷总分</div>
|
|
|
+ </div>
|
|
|
+ <div class="tw-flex-1" style="font-size: 40px">
|
|
|
+ {{ markerScore > 0 ? markerScore : 0 }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
- <div v-if="groups">
|
|
|
+ <div class="tw-flex-grow tw-overflow-auto tw-my-5" v-if="groups">
|
|
|
<template v-for="(groupNumber, index) in groups" :key="index">
|
|
|
- <div class="tw-mb-4">
|
|
|
+ <div class="tw-mb-4 tw-bg-white tw-p-4">
|
|
|
<div
|
|
|
class="
|
|
|
tw-flex tw-justify-between tw-place-items-center
|
|
|
hover:tw-bg-gray-200
|
|
|
"
|
|
|
- style="border-bottom: 1px solid grey"
|
|
|
@mouseover="addFocusTrack(groupNumber, undefined, undefined)"
|
|
|
@mouseleave="removeFocusTrack"
|
|
|
>
|
|
|
- 分组 {{ groupNumber }}
|
|
|
+ <span class="secondary-text">分组 {{ groupNumber }}</span>
|
|
|
<input
|
|
|
class="tw-my-auto"
|
|
|
title="打回"
|
|
@@ -31,7 +45,7 @@
|
|
|
v-if="question.groupNumber === groupNumber"
|
|
|
class="
|
|
|
question
|
|
|
- tw-flex tw-place-items-center tw-mb-1 tw-ml-2
|
|
|
+ tw-flex tw-place-items-center tw-mb-1 tw-font-bold
|
|
|
hover:tw-bg-gray-200
|
|
|
"
|
|
|
@mouseover="
|
|
@@ -49,9 +63,10 @@
|
|
|
}}
|
|
|
</span>
|
|
|
<span class="tw-flex-1 tw-text-center">
|
|
|
- {{ question.score || 0 }}
|
|
|
+ {{ question.score === -1 ? "未选做" : question.score || 0 }}
|
|
|
</span>
|
|
|
<input
|
|
|
+ :disabled="question.score === -1"
|
|
|
title="打回"
|
|
|
type="checkbox"
|
|
|
@change="questionCheckChanged(question)"
|
|
@@ -64,9 +79,10 @@
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
- <div class="tw-flex tw-justify-center">
|
|
|
+ <div class="tw-flex tw-flex-shrink-0 tw-justify-center">
|
|
|
<qm-button
|
|
|
type="primary"
|
|
|
+ class="full-width-btn undo-btn"
|
|
|
v-if="
|
|
|
store.currentTask.inspectTime && store.currentTask.inspectTime > 0
|
|
|
"
|
|
@@ -78,10 +94,17 @@
|
|
|
v-else-if="checkedQuestions.length === 0"
|
|
|
@click="inspect"
|
|
|
type="primary"
|
|
|
+ class="full-width-btn"
|
|
|
>
|
|
|
复核
|
|
|
</qm-button>
|
|
|
- <qm-button v-else @click="reject" type="primary">打回</qm-button>
|
|
|
+ <qm-button
|
|
|
+ v-else
|
|
|
+ @click="reject"
|
|
|
+ type="primary"
|
|
|
+ class="full-width-btn undo-btn"
|
|
|
+ >打回</qm-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -214,16 +237,67 @@ function inspect() {
|
|
|
|
|
|
<style scoped>
|
|
|
.mark-board-track-container {
|
|
|
- max-width: 250px;
|
|
|
- min-width: 250px;
|
|
|
- border-left: 1px solid grey;
|
|
|
- padding-left: 6px;
|
|
|
- padding-right: 6px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ max-width: 290px;
|
|
|
+ min-width: 290px;
|
|
|
max-height: calc(100vh - 56px);
|
|
|
- overflow: auto;
|
|
|
+ padding: 20px;
|
|
|
+ z-index: 1001;
|
|
|
+ transition: margin-right 0.5s;
|
|
|
+ color: var(--app-small-header-text-color);
|
|
|
+}
|
|
|
+.mark-board-track-container.show {
|
|
|
+ margin-right: 0;
|
|
|
+}
|
|
|
+.mark-board-track-container.hide {
|
|
|
+ margin-right: -290px;
|
|
|
+}
|
|
|
+
|
|
|
+.top-container {
|
|
|
+ background-color: var(--app-container-bg-color);
|
|
|
+ height: 86px;
|
|
|
+ border-radius: 5px;
|
|
|
+
|
|
|
+ color: white;
|
|
|
+ background-color: var(--app-primary-button-bg-color);
|
|
|
+}
|
|
|
+.total-score {
|
|
|
+ color: var(--app-main-text-color);
|
|
|
+ font-size: 32px;
|
|
|
}
|
|
|
.question {
|
|
|
- min-width: 100px;
|
|
|
- border-bottom: 1px dotted grey;
|
|
|
+ min-width: 80px;
|
|
|
+ background-color: var(--app-container-bg-color);
|
|
|
+}
|
|
|
+.current-question .score {
|
|
|
+ color: var(--high-light-score-color);
|
|
|
+}
|
|
|
+
|
|
|
+.current-score {
|
|
|
+ color: var(--app-score-color);
|
|
|
+}
|
|
|
+.current-score-indicator {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 5px;
|
|
|
+ height: 5px;
|
|
|
+ background-color: #5c69f6;
|
|
|
+}
|
|
|
+.all-zero-unselective-button {
|
|
|
+ height: v-bind(buttonHeightForSelective);
|
|
|
+ border-radius: 10px;
|
|
|
+ padding: 7px;
|
|
|
+ background-color: #4db9ff;
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+.full-width-btn {
|
|
|
+ width: 100%;
|
|
|
+ border-radius: 20px;
|
|
|
+}
|
|
|
+.undo-btn {
|
|
|
+ background-color: var(--app-undo-button-bg-color);
|
|
|
+ border-color: var(--app-undo-button-bg-color);
|
|
|
}
|
|
|
</style>
|