exam-subtitle.vue 1003 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <view class="px-20 py-14 bg-back flex justify-between items-center gap-x-20">
  3. <text class="flex-1 min-w-1 text-26 ellipsis-1">{{ pageSubtitle }}</text>
  4. <view class="flex items-baseline">
  5. <text class="text-34 text-primary font-bold">{{ virtualCurrentIndex + 1 }}</text>/
  6. <text class="text-28 text-fore-subtitle">{{ virtualTotalCount }}</text>
  7. </view>
  8. </view>
  9. </template>
  10. <script lang="ts" setup>
  11. import { Transfer } from '@/types';
  12. import { EXAM_PAGE_OPTIONS, EXAM_DATA } from '@/types/injectionSymbols';
  13. import { useExam } from '@/composables/useExam';
  14. const examPageOptions = inject(EXAM_PAGE_OPTIONS) || {} as Transfer.ExamAnalysisPageOptions;
  15. const examData = inject(EXAM_DATA) || {} as ReturnType<typeof useExam>;
  16. const { virtualCurrentIndex, virtualTotalCount } = examData;
  17. const pageSubtitle = computed(() => {
  18. if (examPageOptions) {
  19. const { name } = examPageOptions;
  20. return name;
  21. }
  22. return '';
  23. });
  24. </script>
  25. <style lang="scss" scoped></style>