- {{ row.name }}
起止时间:{{ formatTime(row.startTime) }} - {{ formatTime(row.endTime) }}
考试时长:{{ row.durationMinutes || durationBetween(row) }}分钟
+ {{ row.name }}
起止时间{{ formatTime(row.startTime) }} ~ {{ formatTime(row.endTime) }}
考试时长:{{ row.durationMinutes || durationBetween(row) }}分钟
{{ statusMeta[row.status]?.label || row.status }}
撤回
@@ -115,7 +115,7 @@
import { computed, onActivated, onMounted, reactive, ref } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { useRouter } from "vue-router";
-import { ArrowDown, Check, Close, DataAnalysis, Delete, Download, Edit, EditPen, FolderOpened, MagicStick, Paperclip, PictureFilled, Plus, RefreshLeft, Search, Upload } from "@element-plus/icons-vue";
+import { ArrowDown, Check, Clock, Close, DataAnalysis, Delete, Download, Edit, EditPen, FolderOpened, MagicStick, Paperclip, PictureFilled, Plus, RefreshLeft, Search, Upload } from "@element-plus/icons-vue";
import { saveAs } from "file-saver";
import * as examApi from "@/api/exam";
@@ -470,6 +470,33 @@ function durationBetween(row) { if (!row.startTime || !row.endTime) return 0; re
color: var(--text-body);
font-size: var(--fs-body);
}
+
+ .time-line {
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ margin: 4px 0;
+ padding: 4px 10px;
+ border-radius: 6px;
+ background: var(--edu-primary-soft);
+
+ .el-icon {
+ font-size: 15px;
+ color: var(--edu-primary);
+ }
+
+ .time-label {
+ color: var(--edu-primary-deep);
+ font-size: var(--fs-body);
+ }
+
+ .time-value {
+ color: var(--text-strong);
+ font-size: var(--fs-body);
+ font-weight: 600;
+ font-variant-numeric: tabular-nums;
+ }
+ }
}
.assessment-status {