Procházet zdrojové kódy

增加题干题号、选项题号选择字体大小

dusenyao před 1 rokem
rodič
revize
5c6d9cdc2c
73 změnil soubory, kde provedl 393 přidání a 59 odebrání
  1. 2 0
      src/views/exercise_questions/create/components/common/QuestionMixin.js
  2. 6 0
      src/views/exercise_questions/create/components/exercises/AnswerQuestion.vue
  3. 5 0
      src/views/exercise_questions/create/components/exercises/ChineseQuestion.vue
  4. 10 0
      src/views/exercise_questions/create/components/exercises/ChooseToneQuestion.vue
  5. 5 0
      src/views/exercise_questions/create/components/exercises/DialogueQuestion.vue
  6. 5 0
      src/views/exercise_questions/create/components/exercises/EssayQuestion.vue
  7. 5 0
      src/views/exercise_questions/create/components/exercises/FillQuestion.vue
  8. 10 0
      src/views/exercise_questions/create/components/exercises/JudgeQuestion.vue
  9. 5 0
      src/views/exercise_questions/create/components/exercises/ListenFillQuestion.vue
  10. 10 0
      src/views/exercise_questions/create/components/exercises/ListenJudgeQuestion.vue
  11. 10 0
      src/views/exercise_questions/create/components/exercises/ListenSelectQuestion.vue
  12. 5 0
      src/views/exercise_questions/create/components/exercises/MatchingQuestion.vue
  13. 6 0
      src/views/exercise_questions/create/components/exercises/ReadAloudQuestion.vue
  14. 5 0
      src/views/exercise_questions/create/components/exercises/ReadQuestion.vue
  15. 10 0
      src/views/exercise_questions/create/components/exercises/RepeatQuestion.vue
  16. 5 0
      src/views/exercise_questions/create/components/exercises/ReplaceAnswerQuestion.vue
  17. 10 0
      src/views/exercise_questions/create/components/exercises/SelectQuestion.vue
  18. 6 0
      src/views/exercise_questions/create/components/exercises/ShortAnswerQuestion.vue
  19. 11 0
      src/views/exercise_questions/create/components/exercises/SortQuestion.vue
  20. 5 0
      src/views/exercise_questions/create/components/exercises/TableFillQuestion.vue
  21. 6 1
      src/views/exercise_questions/create/components/exercises/TalkPictureQuestion.vue
  22. 5 0
      src/views/exercise_questions/create/components/exercises/WordCardQuestion.vue
  23. 5 0
      src/views/exercise_questions/create/components/exercises/WordDictationQuestion.vue
  24. 5 0
      src/views/exercise_questions/create/components/exercises/WritePictureQuestion.vue
  25. 5 0
      src/views/exercise_questions/create/components/exercises/WriteQuestion.vue
  26. 2 1
      src/views/exercise_questions/data/answerQuestion.js
  27. 2 1
      src/views/exercise_questions/data/chinese.js
  28. 10 1
      src/views/exercise_questions/data/chooseTone.js
  29. 20 0
      src/views/exercise_questions/data/common.js
  30. 2 1
      src/views/exercise_questions/data/dialogue.js
  31. 2 1
      src/views/exercise_questions/data/essayQuestion.js
  32. 2 1
      src/views/exercise_questions/data/fill.js
  33. 3 1
      src/views/exercise_questions/data/judge.js
  34. 2 1
      src/views/exercise_questions/data/listenFill.js
  35. 10 1
      src/views/exercise_questions/data/listenJudge.js
  36. 3 0
      src/views/exercise_questions/data/listenSelect.js
  37. 9 1
      src/views/exercise_questions/data/matching.js
  38. 2 1
      src/views/exercise_questions/data/read.js
  39. 2 1
      src/views/exercise_questions/data/readAloud.js
  40. 2 1
      src/views/exercise_questions/data/replaceAnswer.js
  41. 3 0
      src/views/exercise_questions/data/select.js
  42. 2 1
      src/views/exercise_questions/data/shortAnswer.js
  43. 10 1
      src/views/exercise_questions/data/sort.js
  44. 2 1
      src/views/exercise_questions/data/tableFill.js
  45. 9 1
      src/views/exercise_questions/data/talkPicture.js
  46. 9 1
      src/views/exercise_questions/data/wordCard.js
  47. 9 1
      src/views/exercise_questions/data/wordDictation.js
  48. 9 1
      src/views/exercise_questions/data/write.js
  49. 2 1
      src/views/exercise_questions/data/writePicture.js
  50. 3 1
      src/views/exercise_questions/preview/AnswerQuestionPreview.vue
  51. 3 1
      src/views/exercise_questions/preview/ChinesePreview.vue
  52. 6 2
      src/views/exercise_questions/preview/ChooseTonePreview.vue
  53. 3 1
      src/views/exercise_questions/preview/DialoguePreview.vue
  54. 3 1
      src/views/exercise_questions/preview/EssayQuestionPreview.vue
  55. 3 1
      src/views/exercise_questions/preview/FillPreview.vue
  56. 6 2
      src/views/exercise_questions/preview/JudgePreview.vue
  57. 3 1
      src/views/exercise_questions/preview/ListenFillPreview.vue
  58. 6 2
      src/views/exercise_questions/preview/ListenJudgePreview.vue
  59. 9 3
      src/views/exercise_questions/preview/ListenSelectPreview.vue
  60. 3 1
      src/views/exercise_questions/preview/MatchingPreview.vue
  61. 3 1
      src/views/exercise_questions/preview/ReadAloudPreview.vue
  62. 3 1
      src/views/exercise_questions/preview/ReadPreview.vue
  63. 6 2
      src/views/exercise_questions/preview/RepeatPreview.vue
  64. 3 1
      src/views/exercise_questions/preview/ReplaceAnswerPreview.vue
  65. 9 3
      src/views/exercise_questions/preview/SelectPreview.vue
  66. 3 1
      src/views/exercise_questions/preview/ShortAnswerPreview.vue
  67. 10 6
      src/views/exercise_questions/preview/SortPreview.vue
  68. 3 1
      src/views/exercise_questions/preview/TableFillPreview.vue
  69. 3 1
      src/views/exercise_questions/preview/TalkPictruePreview.vue
  70. 3 1
      src/views/exercise_questions/preview/WordCardPreview.vue
  71. 3 1
      src/views/exercise_questions/preview/WordDictationPreview.vue
  72. 3 1
      src/views/exercise_questions/preview/WritePictruePreview.vue
  73. 3 1
      src/views/exercise_questions/preview/WritePreview.vue

+ 2 - 0
src/views/exercise_questions/create/components/common/QuestionMixin.js

@@ -11,11 +11,13 @@ import {
   isEnable,
   questionNumberTypeList,
   computedQuestionNumber,
+  fontSizeList,
 } from '@/views/exercise_questions/data/common';
 
 const mixin = {
   data() {
     return {
+      fontSizeList,
       stemTypeList,
       scoreTypeList,
       switchOption,

+ 6 - 0
src/views/exercise_questions/create/components/exercises/AnswerQuestion.vue

@@ -29,6 +29,12 @@
           </el-radio>
         </el-form-item>
 
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+
         <el-form-item label="参考答案">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/ChineseQuestion.vue

@@ -74,6 +74,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/ChooseToneQuestion.vue

@@ -70,6 +70,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/DialogueQuestion.vue

@@ -138,6 +138,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/EssayQuestion.vue

@@ -34,6 +34,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/FillQuestion.vue

@@ -54,6 +54,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="描述">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/JudgeQuestion.vue

@@ -65,6 +65,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="选项">
           <el-checkbox-group v-model="optionTypeList">
             <el-checkbox v-for="{ label, value } in option_type_list" :key="value" :label="label" />

+ 5 - 0
src/views/exercise_questions/create/components/exercises/ListenFillQuestion.vue

@@ -69,6 +69,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="描述">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/ListenJudgeQuestion.vue

@@ -72,6 +72,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="听力">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/ListenSelectQuestion.vue

@@ -66,6 +66,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/MatchingQuestion.vue

@@ -53,6 +53,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 6 - 0
src/views/exercise_questions/create/components/exercises/ReadAloudQuestion.vue

@@ -31,6 +31,12 @@
           </el-radio>
         </el-form-item>
 
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+
         <el-form-item label="听力">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/ReadQuestion.vue

@@ -58,6 +58,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/RepeatQuestion.vue

@@ -74,6 +74,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/ReplaceAnswerQuestion.vue

@@ -38,6 +38,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 10 - 0
src/views/exercise_questions/create/components/exercises/SelectQuestion.vue

@@ -74,6 +74,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 6 - 0
src/views/exercise_questions/create/components/exercises/ShortAnswerQuestion.vue

@@ -46,6 +46,12 @@
           </el-radio>
         </el-form-item>
 
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 11 - 0
src/views/exercise_questions/create/components/exercises/SortQuestion.vue

@@ -72,6 +72,16 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选项题号">
+          <el-select v-model="data.property.option_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"
@@ -122,6 +132,7 @@ import QuestionMixin from '../common/QuestionMixin.js';
 import { getOption, sortTypeList, getSortDataTemplate } from '@/views/exercise_questions/data/sort';
 import { changeOptionType } from '@/views/exercise_questions/data/common';
 import { getRandomNumber } from '@/utils/index';
+
 export default {
   name: 'SortQuestion',
   components: {},

+ 5 - 0
src/views/exercise_questions/create/components/exercises/TableFillQuestion.vue

@@ -62,6 +62,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="分值">
           <el-radio
             v-for="{ value, label } in scoreTypeList"

+ 6 - 1
src/views/exercise_questions/create/components/exercises/TalkPictureQuestion.vue

@@ -60,6 +60,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"
@@ -114,10 +119,10 @@
 
 <script>
 import QuestionMixin from '../common/QuestionMixin.js';
+import UploadDrag from '../common/UploadDrag.vue';
 
 import { talkPictrueData, getOption } from '@/views/exercise_questions/data/talkPicture';
 import { GetFileStoreInfo } from '@/api/app';
-import UploadDrag from '../common/UploadDrag.vue';
 import { changeOptionType } from '@/views/exercise_questions/data/common';
 
 export default {

+ 5 - 0
src/views/exercise_questions/create/components/exercises/WordCardQuestion.vue

@@ -101,6 +101,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/WordDictationQuestion.vue

@@ -70,6 +70,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/WritePictureQuestion.vue

@@ -63,6 +63,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="题目要求">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 5 - 0
src/views/exercise_questions/create/components/exercises/WriteQuestion.vue

@@ -38,6 +38,11 @@
             {{ label }}
           </el-radio>
         </el-form-item>
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="题目要求">
           <el-radio
             v-for="{ value, label } in switchOption"

+ 2 - 1
src/views/exercise_questions/data/answerQuestion.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 // 口语表达数据模板
 export const answerQuestionData = {
@@ -13,6 +13,7 @@ export const answerQuestionData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_reference_answer: switchOption[0].value, // 是否开启参考答案
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/chinese.js

@@ -1,4 +1,4 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, fontSizeList } from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -47,6 +47,7 @@ export const chineseData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 10 - 1
src/views/exercise_questions/data/chooseTone.js

@@ -1,4 +1,11 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, optionTypeList, switchOption } from './common';
+import {
+  stemTypeList,
+  questionNumberTypeList,
+  scoreTypeList,
+  optionTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -52,6 +59,8 @@ export const ChooseToneData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
+    option_question_number: fontSizeList[5], // 选项题号
     is_enable_description: switchOption[0].value, // 描述
     answer_mode: toneTypeList[0].value, // 音调类型
     score: 1, // 分值

+ 20 - 0
src/views/exercise_questions/data/common.js

@@ -61,6 +61,26 @@ export const switchOption = [
   { value: 'false', label: '关闭' },
 ];
 
+// 字体大小列表
+export const fontSizeList = [
+  '8pt',
+  '10pt',
+  '11pt',
+  '12pt',
+  '14pt',
+  '16pt',
+  '18pt',
+  '20pt',
+  '22pt',
+  '24pt',
+  '26pt',
+  '28pt',
+  '30pt',
+  '32pt',
+  '34pt',
+  '36pt',
+];
+
 /**
  * 是否开启
  * @param {String} value 值

+ 2 - 1
src/views/exercise_questions/data/dialogue.js

@@ -1,5 +1,5 @@
 import { getRandomNumber } from '@/utils';
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 export const roleDefaultColorList = ['#306EFF', '#3ABD38', '#FC8E3D', '#FC493D', '#BF3DFC']; // 角色默认颜色
 
@@ -28,6 +28,7 @@ export function getDialogueData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
       score: 1, // 分值
       is_enable_description: switchOption[0].value, // 描述
       is_enable_voice_answer: switchOption[0].value, // 语音作答

+ 2 - 1
src/views/exercise_questions/data/essayQuestion.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 // 问答题数据模板
 export const essayQuestionData = {
@@ -15,6 +15,7 @@ export const essayQuestionData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     is_enable_reference_answer: switchOption[0].value, // 是否开启参考答案
     score: 1, // 分值

+ 2 - 1
src/views/exercise_questions/data/fill.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 export function handleToneValue(valItem) {
   let numList = [];
@@ -33,6 +33,7 @@ export const fillData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 3 - 1
src/views/exercise_questions/data/judge.js

@@ -1,4 +1,4 @@
-import { optionTypeList, stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { optionTypeList, stemTypeList, questionNumberTypeList, scoreTypeList, fontSizeList } from './common';
 import { getRandomNumber } from '@/utils/index';
 
 // 选项类型列表
@@ -30,6 +30,8 @@ export function getJudgeData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
+      option_question_number: fontSizeList[5], // 选项题号
       option_type_list: [option_type_list[0].value, option_type_list[1].value], // 选项类型列表
       score: 1, // 分值
       score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/listenFill.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 export function handleToneValue(valItem) {
   let numList = [];
@@ -33,6 +33,7 @@ export const listenFillData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_listening: switchOption[0].value, // 是否听力
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值

+ 10 - 1
src/views/exercise_questions/data/listenJudge.js

@@ -1,4 +1,11 @@
-import { optionTypeList, stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import {
+  optionTypeList,
+  stemTypeList,
+  questionNumberTypeList,
+  scoreTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 // 选项类型列表
@@ -30,6 +37,8 @@ export function getListenJudgeData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
+      option_question_number: fontSizeList[5], // 选项题号
       option_type_list: [option_type_list[0].value, option_type_list[1].value], // 选项类型列表
       is_enable_listening: switchOption[0].value, // 是否听力
       score: 1, // 分值

+ 3 - 0
src/views/exercise_questions/data/listenSelect.js

@@ -5,6 +5,7 @@ import {
   scoreTypeList,
   questionNumberTypeList,
   switchOption,
+  fontSizeList,
 } from './common';
 import { getRandomNumber } from '@/utils/index';
 
@@ -43,6 +44,8 @@ export function getListenSelectData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
+      option_question_number: fontSizeList[5], // 选项题号
       is_enable_description: switchOption[0].value, // 描述
       select_type: selectTypeList[0].value, // 选择类型
       is_enable_listening: switchOption[0].value, // 是否听力

+ 9 - 1
src/views/exercise_questions/data/matching.js

@@ -1,4 +1,11 @@
-import { optionTypeList, stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import {
+  optionTypeList,
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 // 连线类型列表
@@ -33,6 +40,7 @@ export function getMatchingDataTemplate() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
       column_number: columnNumberList[0].value, // 列数
       is_enable_description: switchOption[0].value, // 描述
       score: 1, // 分值

+ 2 - 1
src/views/exercise_questions/data/read.js

@@ -1,4 +1,4 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, fontSizeList } from './common';
 import { getExerciseTypeList } from './questionType';
 
 // 题型类型选项
@@ -26,6 +26,7 @@ export const readData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/readAloud.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 // 朗读题数据模板
 export const readAloudData = {
@@ -14,6 +14,7 @@ export const readAloudData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_listening: switchOption[0].value, // 是否开启听力
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/replaceAnswer.js

@@ -1,4 +1,4 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, fontSizeList } from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -22,6 +22,7 @@ export const replaceAnswerData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 3 - 0
src/views/exercise_questions/data/select.js

@@ -5,6 +5,7 @@ import {
   scoreTypeList,
   questionNumberTypeList,
   switchOption,
+  fontSizeList,
 } from './common';
 import { getRandomNumber } from '@/utils/index';
 
@@ -43,6 +44,8 @@ export function getSelectData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
+      option_question_number: fontSizeList[5], // 选项题号
       is_enable_description: switchOption[0].value, // 描述
       select_type: selectTypeList[0].value, // 选择类型
       is_option_subdivision: switchOption[1].value, // 选项细分

+ 2 - 1
src/views/exercise_questions/data/shortAnswer.js

@@ -1,4 +1,4 @@
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 // 简答题数据模板
 export const shortAnswerData = {
@@ -15,6 +15,7 @@ export const shortAnswerData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_listening: switchOption[0].value, // 是否开启听力
     is_enable_description: switchOption[0].value, // 是否启用描述
     is_enable_reference_answer: switchOption[0].value, // 是否开启参考答案

+ 10 - 1
src/views/exercise_questions/data/sort.js

@@ -1,4 +1,11 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, optionTypeList } from './common';
+import {
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  switchOption,
+  optionTypeList,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -47,6 +54,8 @@ export function getSortDataTemplate() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
+      option_question_number: fontSizeList[5], // 选项题号
       is_enable_description: switchOption[0].value, // 描述
       score: 1, // 分值
       score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/tableFill.js

@@ -1,5 +1,5 @@
 import { getRandomNumber } from '@/utils';
-import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption } from './common';
+import { stemTypeList, questionNumberTypeList, scoreTypeList, switchOption, fontSizeList } from './common';
 
 export function getOption() {
   return { mark: getRandomNumber(), text: '', content_list: [] };
@@ -30,6 +30,7 @@ export function getTableFillData() {
     property: {
       stem_type: stemTypeList[1].value, // 题干类型
       question_number: '1', // 题号
+      stem_question_number: fontSizeList[5], // 题干题号
       score: 1, // 分值
       score_type: scoreTypeList[0].value, // 分值类型
       is_enable_number_column: switchOption[0].value, // 是否启用序号列

+ 9 - 1
src/views/exercise_questions/data/talkPicture.js

@@ -1,4 +1,11 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, optionTypeList } from './common';
+import {
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  switchOption,
+  optionTypeList,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 export function getOption() {
   return { picture_info: '', reference_answer: '', picture_file_id: '', mark: getRandomNumber() };
@@ -16,6 +23,7 @@ export const talkPictrueData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     score: 1, // 分值
     is_enable_description: switchOption[0].value, // 描述
     is_enable_voice_answer: switchOption[0].value, // 语音作答

+ 9 - 1
src/views/exercise_questions/data/wordCard.js

@@ -1,4 +1,11 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, optionTypeList, switchOption } from './common';
+import {
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  optionTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -44,6 +51,7 @@ export const wordCardData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 9 - 1
src/views/exercise_questions/data/wordDictation.js

@@ -1,4 +1,11 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, optionTypeList, switchOption } from './common';
+import {
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  optionTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 import { getRandomNumber } from '@/utils/index';
 
 export function getOption(content = '') {
@@ -39,6 +46,7 @@ export const wordDictationData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 9 - 1
src/views/exercise_questions/data/write.js

@@ -1,4 +1,11 @@
-import { optionTypeList, stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import {
+  optionTypeList,
+  stemTypeList,
+  scoreTypeList,
+  questionNumberTypeList,
+  switchOption,
+  fontSizeList,
+} from './common';
 // 数据模板
 export const writeData = {
   type: 'write', // 题型
@@ -13,6 +20,7 @@ export const writeData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     is_enable_description: switchOption[0].value, // 描述
     score: 1, // 分值
     score_type: scoreTypeList[0].value, // 分值类型

+ 2 - 1
src/views/exercise_questions/data/writePicture.js

@@ -1,4 +1,4 @@
-import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption } from './common';
+import { stemTypeList, scoreTypeList, questionNumberTypeList, switchOption, fontSizeList } from './common';
 import { getRandomNumber } from '@/utils/index';
 export function getOption() {
   return {
@@ -21,6 +21,7 @@ export const writePictrueData = {
   property: {
     stem_type: stemTypeList[1].value, // 题干类型
     question_number: '1', // 题号
+    stem_question_number: fontSizeList[5], // 题干题号
     score: 1, // 分值
     is_enable_description: switchOption[0].value, // 描述
     score_type: scoreTypeList[0].value, // 分值类型

+ 3 - 1
src/views/exercise_questions/preview/AnswerQuestionPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="answerquestion-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" :disabled="disabled" position="center" />

+ 3 - 1
src/views/exercise_questions/preview/ChinesePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="chinese-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 6 - 2
src/views/exercise_questions/preview/ChooseTonePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="choosetone-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div
@@ -12,7 +14,9 @@
     ></div>
     <div class="option-list">
       <li v-for="(item, i) in data.option_list" :key="i" :class="['option-item']">
-        <span>{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <AudioPlay v-if="item.audio_file_id" :file-id="item.audio_file_id" :show-slider="true" />
         <div
           class="option-content"

+ 3 - 1
src/views/exercise_questions/preview/DialoguePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="dialogue-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/EssayQuestionPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="essayquestion-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/FillPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="fill-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div v-if="isEnable(data.property.is_enable_description)" class="description">

+ 6 - 2
src/views/exercise_questions/preview/JudgePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="judge-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
 
@@ -13,7 +15,9 @@
         :class="['option-item', { active: isAnswer(mark) }]"
       >
         <div :class="['option-content', computedIsJudgeRight(mark)]">
-          <span class="serial-number">{{ computedQuestionNumber(i, data.option_number_show_mode) }}</span>
+          <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+            {{ computedQuestionNumber(i, data.option_number_show_mode) }}
+          </span>
           <div class="rich-text" v-html="sanitizeHTML(content)"></div>
         </div>
         <div class="option-type">

+ 3 - 1
src/views/exercise_questions/preview/ListenFillPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="fill-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div v-if="isEnable(data.property.is_enable_description)" class="description">

+ 6 - 2
src/views/exercise_questions/preview/ListenJudgePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="judge-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <AudioPlay
@@ -18,7 +20,9 @@
         :class="['option-item', { active: isAnswer(mark) }]"
       >
         <div :class="['option-content', computedIsJudgeRight(mark)]">
-          <span class="serial-number">{{ computedQuestionNumber(i, data.option_number_show_mode) }}</span>
+          <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+            {{ computedQuestionNumber(i, data.option_number_show_mode) }}
+          </span>
           <div class="rich-text" v-html="sanitizeHTML(content)"></div>
         </div>
         <div class="option-type">

+ 9 - 3
src/views/exercise_questions/preview/ListenSelectPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="select-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div
@@ -18,7 +20,9 @@
 
     <div v-if="isEnable(data.property.is_option_subdivision)" class="option-subdivision">
       <ul v-for="(item, i) in data.option_list" :key="item.mark" class="option-subdivision-list">
-        <span class="serial-number">{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <li
           v-for="{ content, mark } in item.data_list"
           :key="mark"
@@ -41,7 +45,9 @@
         @click="selectAnswer(mark)"
       >
         <span class="selectionbox"></span>
-        <span class="serial-number">{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <span class="content rich-text" v-html="sanitizeHTML(content)"></span>
       </li>
     </ul>

+ 3 - 1
src/views/exercise_questions/preview/MatchingPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="matching-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/ReadAloudPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="readaloud-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
 

+ 3 - 1
src/views/exercise_questions/preview/ReadPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="read-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 6 - 2
src/views/exercise_questions/preview/RepeatPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="repeat-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div
@@ -12,7 +14,9 @@
     ></div>
     <div class="option-list">
       <li v-for="(item, i) in answer.answer_list" :key="i" :class="['option-item']">
-        <span>{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <AudioPlay
           v-if="data.option_list[i] && data.option_list[i].audio_file_id"
           :file-id="data.option_list[i].audio_file_id"

+ 3 - 1
src/views/exercise_questions/preview/ReplaceAnswerPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="replace-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 9 - 3
src/views/exercise_questions/preview/SelectPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="select-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div
@@ -13,7 +15,9 @@
 
     <div v-if="isEnable(data.property.is_option_subdivision)" class="option-subdivision">
       <ul v-for="(item, i) in data.option_list" :key="item.mark" class="option-subdivision-list">
-        <span class="serial-number">{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <li
           v-for="{ content, mark } in item.data_list"
           :key="mark"
@@ -43,7 +47,9 @@
         <span v-else class="checkbox">
           <SvgIcon icon-class="check-mark" width="10" height="7" />
         </span>
-        <span class="serial-number">{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
+        <span class="serial-number" :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](i) }}
+        </span>
         <span class="content rich-text" v-html="sanitizeHTML(content)"></span>
       </li>
     </ul>

+ 3 - 1
src/views/exercise_questions/preview/ShortAnswerPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="readaloud-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
 

+ 10 - 6
src/views/exercise_questions/preview/SortPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="sort-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div
@@ -16,10 +18,10 @@
       :class="['move-box-' + data.property.layout_type]"
     >
       <template v-if="data.property.layout_type === 'horizontal'">
-        <span class="option-number"
-          >{{ computeOptionMethods[data.option_number_show_mode](move_index) }}
-        </span></template
-      >
+        <span class="option-number" :style="{ fontSize: data.property.option_question_number }">
+          {{ computeOptionMethods[data.option_number_show_mode](move_index) }}
+        </span>
+      </template>
       <draggable
         v-model="move_list[move_index].data_list"
         animation="300"
@@ -63,7 +65,9 @@
           :class="['move-box-' + data.property.layout_type]"
         >
           <template v-if="data.property.layout_type === 'horizontal'">
-            <span class="option-number">{{ computeOptionMethods[data.option_number_show_mode](move_index) }} </span>
+            <span class="option-number" :style="{ fontSize: data.property.option_question_number }">
+              {{ computeOptionMethods[data.option_number_show_mode](move_index) }}
+            </span>
           </template>
           <draggable
             v-model="move_list[move_index].data_list"

+ 3 - 1
src/views/exercise_questions/preview/TableFillPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="fill-form-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
 

+ 3 - 1
src/views/exercise_questions/preview/TalkPictruePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="talkpictrue-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/WordCardPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="word-card-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/WordDictationPreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="chinese-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div

+ 3 - 1
src/views/exercise_questions/preview/WritePictruePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div v-if="show_preview" class="writepicture-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div class="article-content rich-text" v-html="sanitizeHTML(data.article)"></div>

+ 3 - 1
src/views/exercise_questions/preview/WritePreview.vue

@@ -2,7 +2,9 @@
 <template>
   <div class="write-preview">
     <div class="stem">
-      <span class="question-number">{{ data.property.question_number }}.</span>
+      <span class="question-number" :style="{ fontSize: data.property.stem_question_number }">
+        {{ data.property.question_number }}.
+      </span>
       <span v-html="sanitizeHTML(data.stem)"></span>
     </div>
     <div class="article-content rich-text" v-html="sanitizeHTML(data.article)"></div>