Browse Source

练习模式规则修改,题型顺序调整

dusenyao 1 year ago
parent
commit
aee93c8764

+ 81 - 59
package-lock.json

@@ -48,9 +48,9 @@
       "dev": true
     },
     "@babel/core": {
-      "version": "7.23.7",
-      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.23.7.tgz",
-      "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+      "version": "7.23.9",
+      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.23.9.tgz",
+      "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==",
       "dev": true,
       "requires": {
         "@ampproject/remapping": "^2.2.0",
@@ -58,11 +58,11 @@
         "@babel/generator": "^7.23.6",
         "@babel/helper-compilation-targets": "^7.23.6",
         "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helpers": "^7.23.7",
-        "@babel/parser": "^7.23.6",
-        "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.7",
-        "@babel/types": "^7.23.6",
+        "@babel/helpers": "^7.23.9",
+        "@babel/parser": "^7.23.9",
+        "@babel/template": "^7.23.9",
+        "@babel/traverse": "^7.23.9",
+        "@babel/types": "^7.23.9",
         "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
@@ -148,15 +148,26 @@
           }
         },
         "@babel/parser": {
-          "version": "7.23.6",
-          "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz",
-          "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.9.tgz",
+          "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
           "dev": true
         },
+        "@babel/template": {
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.23.9.tgz",
+          "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.23.5",
+            "@babel/parser": "^7.23.9",
+            "@babel/types": "^7.23.9"
+          }
+        },
         "@babel/traverse": {
-          "version": "7.23.7",
-          "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.7.tgz",
-          "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.9.tgz",
+          "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
           "dev": true,
           "requires": {
             "@babel/code-frame": "^7.23.5",
@@ -165,16 +176,16 @@
             "@babel/helper-function-name": "^7.23.0",
             "@babel/helper-hoist-variables": "^7.22.5",
             "@babel/helper-split-export-declaration": "^7.22.6",
-            "@babel/parser": "^7.23.6",
-            "@babel/types": "^7.23.6",
+            "@babel/parser": "^7.23.9",
+            "@babel/types": "^7.23.9",
             "debug": "^4.3.1",
             "globals": "^11.1.0"
           }
         },
         "@babel/types": {
-          "version": "7.23.6",
-          "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz",
-          "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.9.tgz",
+          "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
           "dev": true,
           "requires": {
             "@babel/helper-string-parser": "^7.23.4",
@@ -183,27 +194,27 @@
           }
         },
         "browserslist": {
-          "version": "4.22.2",
-          "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.2.tgz",
-          "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+          "version": "4.22.3",
+          "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.3.tgz",
+          "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
           "dev": true,
           "requires": {
-            "caniuse-lite": "^1.0.30001565",
-            "electron-to-chromium": "^1.4.601",
+            "caniuse-lite": "^1.0.30001580",
+            "electron-to-chromium": "^1.4.648",
             "node-releases": "^2.0.14",
             "update-browserslist-db": "^1.0.13"
           }
         },
         "caniuse-lite": {
-          "version": "1.0.30001574",
-          "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz",
-          "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==",
+          "version": "1.0.30001581",
+          "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz",
+          "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==",
           "dev": true
         },
         "electron-to-chromium": {
-          "version": "1.4.621",
-          "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.621.tgz",
-          "integrity": "sha512-MGJM6S0MuF/wTzM9NoItWXN56J1kolrHS/vzl/KlhXAbVkogTy0wzKYliQDJgNypxSCFjxdRhHYS3bffyYUGEw==",
+          "version": "1.4.648",
+          "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz",
+          "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==",
           "dev": true
         },
         "node-releases": {
@@ -215,9 +226,9 @@
       }
     },
     "@babel/eslint-parser": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz",
-      "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==",
+      "version": "7.23.9",
+      "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.23.9.tgz",
+      "integrity": "sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g==",
       "dev": true,
       "requires": {
         "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
@@ -459,14 +470,14 @@
       }
     },
     "@babel/helpers": {
-      "version": "7.23.7",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.23.7.tgz",
-      "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==",
+      "version": "7.23.9",
+      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.23.9.tgz",
+      "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.7",
-        "@babel/types": "^7.23.6"
+        "@babel/template": "^7.23.9",
+        "@babel/traverse": "^7.23.9",
+        "@babel/types": "^7.23.9"
       },
       "dependencies": {
         "@babel/code-frame": {
@@ -509,15 +520,26 @@
           }
         },
         "@babel/parser": {
-          "version": "7.23.6",
-          "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz",
-          "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.9.tgz",
+          "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
           "dev": true
         },
+        "@babel/template": {
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.23.9.tgz",
+          "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.23.5",
+            "@babel/parser": "^7.23.9",
+            "@babel/types": "^7.23.9"
+          }
+        },
         "@babel/traverse": {
-          "version": "7.23.7",
-          "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.7.tgz",
-          "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.9.tgz",
+          "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
           "dev": true,
           "requires": {
             "@babel/code-frame": "^7.23.5",
@@ -526,16 +548,16 @@
             "@babel/helper-function-name": "^7.23.0",
             "@babel/helper-hoist-variables": "^7.22.5",
             "@babel/helper-split-export-declaration": "^7.22.6",
-            "@babel/parser": "^7.23.6",
-            "@babel/types": "^7.23.6",
+            "@babel/parser": "^7.23.9",
+            "@babel/types": "^7.23.9",
             "debug": "^4.3.1",
             "globals": "^11.1.0"
           }
         },
         "@babel/types": {
-          "version": "7.23.6",
-          "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz",
-          "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+          "version": "7.23.9",
+          "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.9.tgz",
+          "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
           "dev": true,
           "requires": {
             "@babel/helper-string-parser": "^7.23.4",
@@ -1840,9 +1862,9 @@
       "dev": true
     },
     "@rushstack/eslint-patch": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz",
-      "integrity": "sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==",
+      "version": "1.7.2",
+      "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz",
+      "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==",
       "dev": true
     },
     "@sideway/address": {
@@ -3176,9 +3198,9 @@
       }
     },
     "axios": {
-      "version": "1.6.5",
-      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.5.tgz",
-      "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+      "version": "1.6.7",
+      "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.7.tgz",
+      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
       "requires": {
         "follow-redirects": "^1.15.4",
         "form-data": "^4.0.0",
@@ -3186,9 +3208,9 @@
       },
       "dependencies": {
         "follow-redirects": {
-          "version": "1.15.4",
-          "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.4.tgz",
-          "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw=="
+          "version": "1.15.5",
+          "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.5.tgz",
+          "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw=="
         }
       }
     },

+ 4 - 4
package.json

@@ -10,7 +10,7 @@
   },
   "dependencies": {
     "@tinymce/tinymce-vue": "^3.2.8",
-    "axios": "^1.6.5",
+    "axios": "^1.6.7",
     "core-js": "^3.35.1",
     "dompurify": "^3.0.8",
     "element-ui": "^2.15.14",
@@ -27,9 +27,9 @@
     "vuex": "^3.6.2"
   },
   "devDependencies": {
-    "@babel/core": "^7.23.7",
-    "@babel/eslint-parser": "^7.23.3",
-    "@rushstack/eslint-patch": "^1.7.0",
+    "@babel/core": "^7.23.9",
+    "@babel/eslint-parser": "^7.23.9",
+    "@rushstack/eslint-patch": "^1.7.2",
     "@types/md5": "^2.3.5",
     "@vue/cli-plugin-babel": "~5.0.8",
     "@vue/cli-plugin-eslint": "~5.0.8",

+ 25 - 8
src/views/exercise_questions/answer/index.vue

@@ -157,15 +157,17 @@
             round
             @click="confirmSubmitAnswer"
           >
-            提交
+            {{ curQuestionIsSubmit ? '完成答题' : '提交' }}
           </el-button>
           <el-button
             v-else-if="curQuestionIndex < questionList.length - 1"
-            type="primary"
+            :type="curQuestionIsSubmit ? 'primary' : ''"
+            :class="curQuestionIsSubmit ? '' : 'confirm'"
             round
             @click="fillQuestionAnswer('next')"
-            >下一题</el-button
           >
+            {{ curQuestionIsSubmit ? '下一题' : '提交' }}
+          </el-button>
         </template>
       </div>
 
@@ -311,6 +313,10 @@ export default {
     isExamMode() {
       return this.answer_mode === 2;
     },
+    // 当前题目是否可提交答题
+    curQuestionIsSubmit() {
+      return this.questionList[this.curQuestionIndex].isFill || this.isShow || this.isExamMode;
+    },
   },
   watch: {
     curQuestionIndex(val) {
@@ -471,9 +477,12 @@ export default {
             : Math.min(this.questionList.length - 1, this.curQuestionIndex + 1);
         return;
       }
+      // 如果是上一题,直接跳转
+      if (type === 'pre') {
+        return this.preQuestion();
+      }
       // 如果已填写或展示预览模式,直接跳转
       if (this.questionList[this.curQuestionIndex].isFill || this.isShow) {
-        if (type === 'pre') return this.preQuestion();
         if (type === 'next') return this.nextQuestion();
       }
 
@@ -481,11 +490,13 @@ export default {
         answer_record_id: this.answer_record_id,
         question_id: this.questionList[this.curQuestionIndex].id,
         answer: JSON.stringify(this.$refs.exercise[0].answer),
-      }).then(({ user_answer }) => {
-        this.questionList[this.curQuestionIndex].isFill = true;
-        if (!this.isEnable(user_answer.is_objective) || this.isExamMode) {
-          if (type === 'pre') return this.preQuestion();
+      }).then(() => {
+        // 考试模式下,直接跳转下一题
+        if (this.isExamMode) {
           if (type === 'next') return this.nextQuestion();
+        } else {
+          // 练习模式下,将当前题目标记为已填写
+          this.questionList[this.curQuestionIndex].isFill = true;
         }
         this.$refs.exercise[0].showAnswer(this.answer_mode === 1, this.correct_answer_show_mode === 1, null, true);
       });
@@ -582,6 +593,12 @@ export default {
     confirmSubmitAnswer() {
       if (!this.answer_record_id) return;
 
+      // 在非考试模式下,当前题目未填写答案先填写答案
+      if (!this.questionList[this.curQuestionIndex].isFill && !this.isExamMode) {
+        this.fillQuestionAnswer('next');
+        return;
+      }
+
       this.$confirm('是否确认提交答题?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',

+ 1 - 1
src/views/exercise_questions/create/components/common/SelectQuestionType.vue

@@ -91,7 +91,7 @@ export default {
   }
 
   .el-cascader-menu__wrap {
-    height: 355px;
+    height: 318px;
   }
 }
 </style>

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

@@ -67,7 +67,8 @@ export function analysisRecognitionDialogueData(arr) {
     }
   });
   if (roleList.length < 2 || roleList.length > 5) {
-    return Message.warning('角色数不符合要求,最小为 2,最大为 5');
+    Message.warning('角色数不符合要求,最小为 2,最大为 5');
+    return {};
   }
   let role_number = roleList.length;
   let role_list = roleList.map((item, i) => getRole(i, item));

+ 24 - 24
src/views/exercise_questions/data/questionType.js

@@ -33,45 +33,41 @@ export const questionTypeDataOption = [
       { label: '选择题', value: 'select', data: getSelectData() },
       { label: '判断题', value: 'judge', data: getJudgeData() },
       { label: '填空题', value: 'fill', data: fillData },
-      { label: '排序题', value: 'sort', data: getSortDataTemplate() },
       { label: '连线题', value: 'matching', data: getMatchingDataTemplate() },
-      { label: '选择声调', value: 'choose_tone', data: ChooseToneData },
+      { label: '排序题', value: 'sort', data: getSortDataTemplate() },
       { label: '问答题', value: 'essay_question', data: essayQuestionData },
       { label: '填表题', value: 'table_fill', data: getTableFillData() },
-      { value: 'activity', label: '活动题', data: activityData },
-    ],
-  },
-  {
-    value: 'spoken',
-    label: '口语题',
-    children: [
-      { label: '朗读题', value: 'read_aloud', data: readAloudData },
-      { label: '听说训练', value: 'repeat', data: repeatData },
-      { label: '看图说话', value: 'talk_picture', data: talkPictrueData },
-      { label: '对话题', value: 'dialogue', data: getDialogueData() },
-      { label: '口语表达', value: 'answer_question', data: answerQuestionData },
-      { label: '替换练习', value: 'replace_answer', data: replaceAnswerData },
+      { label: '活动题', value: 'activity', data: activityData },
     ],
   },
   {
     value: 'hear',
     label: '听力题',
     children: [
+      { label: '听后辨调', value: 'choose_tone', data: ChooseToneData },
       { label: '听后选择', value: 'listen_select', data: getListenSelectData() },
-      { label: '听后填空', value: 'listen_fill', data: listenFillData },
       { label: '听后判断', value: 'listen_judge', data: getListenJudgeData() },
+      { label: '听后填空', value: 'listen_fill', data: listenFillData },
     ],
   },
   {
-    value: 'character',
-    label: '汉字题',
+    value: 'spoken',
+    label: '口语题',
     children: [
-      { label: '书写题', value: 'chinese', data: chineseData },
-      { label: '听写题', value: 'word_dictation', data: wordDictationData },
-      { label: '字词卡片', value: 'word_card', data: wordCardData },
+      { label: '朗读题', value: 'read_aloud', data: readAloudData },
+      { label: '听说训练', value: 'repeat', data: repeatData },
+      { label: '替换练习', value: 'replace_answer', data: replaceAnswerData },
+      { label: '对话题', value: 'dialogue', data: getDialogueData() },
+      { label: '口语表达', value: 'answer_question', data: answerQuestionData },
+      { label: '看图说话', value: 'talk_picture', data: talkPictrueData },
     ],
   },
   {
+    value: 'read',
+    label: '阅读题',
+    data: readData,
+  },
+  {
     value: 'writing',
     label: '写作题',
     children: [
@@ -80,9 +76,13 @@ export const questionTypeDataOption = [
     ],
   },
   {
-    value: 'read',
-    label: '阅读题',
-    data: readData,
+    value: 'character',
+    label: '汉字题',
+    children: [
+      { label: '字词卡片', value: 'word_card', data: wordCardData },
+      { label: '书写题', value: 'chinese', data: chineseData },
+      { label: '听写题', value: 'word_dictation', data: wordDictationData },
+    ],
   },
 ];
 

+ 2 - 2
src/views/exercise_questions/preview/WritePreview.vue

@@ -13,16 +13,16 @@
       v-html="sanitizeHTML(data.description)"
     ></div>
     <el-input
-      class="write-input"
       v-model="answer.answer_list[0].text"
+      class="write-input"
       rows="3"
       type="textarea"
       placeholder="请输入内容"
       :maxlength="data.property.word_num"
       show-word-limit
       :readonly="disabled"
-      @input="handleInput"
       :autosize="{ minRows: 5 }"
+      @input="handleInput"
     />
 
     <template v-if="isEnable(data.property.is_enable_upload_accessory)">

+ 6 - 22
src/views/home/personal_question/components/ShareDialog.vue

@@ -3,7 +3,7 @@
     <div class="share-condition">
       <div class="exercise-name">
         <div>分享名称</div>
-        <el-input v-model="name" placeholder="请输入" />
+        <el-input v-model="share_name" placeholder="请输入" />
       </div>
       <div class="condition-top">
         <span>开始日期</span>
@@ -41,14 +41,6 @@
               {{ name }}
             </el-radio>
           </el-radio-group>
-          <template v-if="answer_mode === answerModes[0].type">
-            <span>正确答案</span>
-            <el-radio-group v-model="correct_answer_show_mode">
-              <el-radio v-for="{ type, name } in correctAnswerShowModeList" :key="type" :label="type">
-                {{ name }}
-              </el-radio>
-            </el-radio-group>
-          </template>
         </template>
         <template v-if="send_type === sendModes[1].type">
           <span>访问权限</span>
@@ -101,14 +93,6 @@
         <span slot="suffix">人</span>
       </el-input>
       <span class="tips">可直接输入人数</span>
-      <template v-if="answer_mode === answerModes[0].type && access_popedom === accessPermissions[1].type">
-        <span>正确答案</span>
-        <el-radio-group v-model="correct_answer_show_mode">
-          <el-radio v-for="{ type, name } in correctAnswerShowModeList" :key="type" :label="type">
-            {{ name }}
-          </el-radio>
-        </el-radio-group>
-      </template>
     </div>
 
     <div slot="footer" class="footer">
@@ -139,7 +123,7 @@ export default {
   },
   data() {
     return {
-      name: '',
+      share_name: '',
       send_type: 1, // 发送方式
       sendModes: [
         {
@@ -166,8 +150,8 @@ export default {
           type: 2,
           name: '仅作答',
         },
-      ], // 访问权限
-      correct_answer_show_mode: 1,
+      ], // 访问权限列表
+      correct_answer_show_mode: 1, // 正确答案显示方式
       correctAnswerShowModeList: [
         { type: 1, name: '答题后显示' },
         { type: 2, name: '提交后显示' },
@@ -194,9 +178,9 @@ export default {
     },
     // 生成链接
     generateLink() {
-      if (!this.name) return this.$message.warning('请输入分享名称');
+      if (!this.share_name) return this.$message.warning('请输入分享名称');
       let option = {
-        name: this.name,
+        name: this.share_name,
         exercise_id: this.exerciseId,
         begin_date: this.begin_date,
         effective_days: this.effective_days,