|
|
@@ -35,30 +35,23 @@
|
|
|
<view class="popup-content">
|
|
|
<view class="flex-1 min-h-1">
|
|
|
<scroll-view class="h-full" scroll-y>
|
|
|
- <view v-for="(item, i) in groupedQuestionList" :key="i" class="">
|
|
|
- <template v-if="item.list.length > 0">
|
|
|
- <view class="h-70 bg-back px-20 leading-70 text-fore-subcontent sticky top-0 z-1">
|
|
|
- {{ questionTypeDesc[item.type] }}
|
|
|
+ <view class="grid grid-cols-5 place-items-center gap-x-20 gap-y-30 p-30 relative z-0">
|
|
|
+ <view v-for="(qs, j) in flatQuestionList" :key="j"
|
|
|
+ class="aspect-square flex items-center justify-center" @click="hanadleNavigate(qs, qs.index)">
|
|
|
+ <view
|
|
|
+ class="w-74 h-74 rounded-full flex items-center justify-center bg-white border border-solid border-border relative"
|
|
|
+ :class="{
|
|
|
+ 'is-done': !isViewMode && qs.isDone,
|
|
|
+ 'is-not-know': !isViewMode && qs.isNotKnow,
|
|
|
+ 'is-mark': !isViewMode && qs.isMark,
|
|
|
+ 'is-correct': isViewMode && qs.isCorrect,
|
|
|
+ 'is-incorrect': isViewMode && !qs.isCorrect,
|
|
|
+ }">
|
|
|
+ <text class="z-1 font-bold text-32">{{ qs.index + 1 }}</text>
|
|
|
+ <ie-image v-if="qs.isMark" src="/pagesStudy/static/image/icon-mark-active.png"
|
|
|
+ custom-class="absolute -top-12 left-14 w-28 h-28 z-1" mode="aspectFill" />
|
|
|
</view>
|
|
|
- <view class="grid grid-cols-5 place-items-center gap-x-20 gap-y-30 p-30 relative z-0">
|
|
|
- <view v-for="(qs, j) in item.list" :key="j" class="aspect-square flex items-center justify-center"
|
|
|
- @click="hanadleNavigate(qs.question, qs.index)">
|
|
|
- <view
|
|
|
- class="w-74 h-74 rounded-full flex items-center justify-center bg-white border border-solid border-border relative"
|
|
|
- :class="{
|
|
|
- 'is-done': !isViewMode && qs.question.isDone,
|
|
|
- 'is-not-know': !isViewMode && qs.question.isNotKnow,
|
|
|
- 'is-mark': !isViewMode && qs.question.isMark,
|
|
|
- 'is-correct': isViewMode && qs.question.isCorrect,
|
|
|
- 'is-incorrect': isViewMode && !qs.question.isCorrect,
|
|
|
- }">
|
|
|
- <text class="z-1 font-bold text-32">{{ qs.index + 1 }}</text>
|
|
|
- <ie-image v-if="qs.question.isMark" src="/pagesStudy/static/image/icon-mark-active.png"
|
|
|
- custom-class="absolute -top-12 left-14 w-28 h-28 z-1" mode="aspectFill" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
@@ -89,7 +82,7 @@ const props = defineProps<{
|
|
|
readonly?: boolean;
|
|
|
}>();
|
|
|
const examData = inject(EXAM_DATA) || {} as ReturnType<typeof useExam>;
|
|
|
-const { doneCount, virtualTotalCount, groupedQuestionList, questionTypeDesc, reset, startTiming, stopTiming, changeIndex } = examData;
|
|
|
+const { doneCount, virtualTotalCount, groupedQuestionList, flatQuestionList, questionTypeDesc, reset, startTiming, stopTiming, changeIndex } = examData;
|
|
|
const examPageOptions = inject(EXAM_PAGE_OPTIONS) || {} as Transfer.ExamAnalysisPageOptions;
|
|
|
const isViewMode = computed(() => {
|
|
|
return examPageOptions?.readonly || false;
|